Anonyme Diagnoseberichte
Einen anonymen Diagnosebericht veröffentlichen
Wir bieten einen Endpunkt zur Erstellung eines anonymen Diagnoseberichts. Diese Art von Anfrage ermöglicht es, unsere KI-Algorithmen über ein Bild laufen zu lassen, ohne einen Patienten zu erstellen. Das heißt, Sie können ein Bild an unser System senden und das Ergebnis erhalten, aber dieser Bericht wird nicht mit einem Patienten in unserem System verknüpft sein.
Um einen anonymen Diagnosebericht zu erstellen, müssen Sie den Endpunkt createAnonymousDiagnosticReport
verwenden.
Dieser Endpunkt erlaubt zwei Arten von Anfragen:
Unterstützung bei der Diagnose
Wenn Sie nur die Liste der möglichen Ergebnisse und vorläufigen Befunde einer Hautläsion erhalten möchten, können Sie eine Anfrage senden, die folgende zwei Angaben enthält:
- Ein Bild
- und die Körperstelle, an der sich die Hautläsion befindet.
{
"bodySite": "ARM_LEFT",
"image": {
"x": 57.91903409090901,
"y": 0,
"width": 1258.261855332168,
"height": 729.0723905723905,
"image": "data:image/jpeg;base64,/9j"
}
}
Sie erhalten in diesem Fall die folgende JSON-Struktur:
{
"success": true,
"message": "Diagnostic report created",
"data": {
"id": "01898d7a-92d2-7dd1-a2bb-f585f16da0a3",
"originalMedia": {
"focusScore": null,
"type": "Image",
"modality": "Clinical",
"diqaScore": 86.0,
"pxToCm": null,
"annotations": [],
"url": "https://legit-app-pre.s3.eu-west-3.amazonaws.com/diagnostic-report-medias/xxx.jpg",
"thumbnailUrl": null
},
"bodySite": {
"id": 3,
"code": "ARM_LEFT",
"name": "Arm left"
},
"createdAt": "2023-07-25T14:36:05+00:00",
"result": {
"id": "01898d7a-92d2-7dd1-a2bb-f585f1d1b1d2",
"explainabilityMedia": {
"focusScore": null,
"type": null,
"modality": null,
"diqaScore": null,
"pxToCm": null,
"annotations": [],
"url": null,
"thumbnailUrl": null
},
"metrics": {
"sensitivity": 83.31,
"specificity": 99.53
},
"preliminaryFindings": {
"hasConditionSuspicion": 100.0,
"isPreMalignantSuspicion": 0.0,
"isMalignantSuspicion": 0.0,
"needsBiopsySuspicion": 0.0,
"needsSpecialistsAttention": 100.0,
"adjustedIsPreMalignantSuspicion": null,
"adjustedIsMalignantSuspicion": null,
"isPreMalignantSuspicionOverThreshold": false,
"isMalignantSuspicionOverThreshold": false
},
"iaSeconds": 0.5766849517822266,
"conclusions": [
{
"probability": 100.0,
"pathology": {
"id": 237,
"name": "Psoriasis",
"code": "Psoriasis"
}
}
],
"scoringSystems": []
},
"pathology": null
},
"errorCode": null
}
Schweregradmessung
Sie können auch eine Schweregradmessung durchführen, wenn Sie die Pathologie der Hautläsion kennen. In diesem Fall müssen Sie nicht nur das Bild und die Körperstelle übermitteln, sondern auch die Pathologie und die entsprechenden Bewertungssysteme, mit denen sich der Schweregrad messen lässt.
{
"bodySite": "ARM_LEFT",
"image": {
"x": 57.91903409090901,
"y": 0,
"width": 1258.261855332168,
"height": 729.0723905723905,
"image": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/",
"orientation": -1
},
"scoringSystems": [
{
"scoringSystem": "2",
"scoringSystemFacets": [
{
"scoringSystemFacet": "8",
"value": "139"
}
]
},
{
"scoringSystem": "8",
"scoringSystemFacets": [
{
"scoringSystemFacet": "19",
"value": "73"
},
{
"scoringSystemFacet": "20",
"value": "77"
},
{
"scoringSystemFacet": "21",
"value": "81"
},
{
"scoringSystemFacet": "22",
"value": "85"
},
{
"scoringSystemFacet": "23",
"value": "89"
},
{
"scoringSystemFacet": "24",
"value": "93"
},
{
"scoringSystemFacet": "25",
"value": "97"
},
{
"scoringSystemFacet": "26",
"value": "101"
},
{
"scoringSystemFacet": "27",
"value": "105"
},
{
"scoringSystemFacet": "28",
"value": "110"
}
]
},
{
"scoringSystem": "16",
"scoringSystemFacets": [
{
"scoringSystemFacet": "72",
"value": "331"
},
{
"scoringSystemFacet": "73",
"value": "333"
},
{
"scoringSystemFacet": "74",
"value": "335"
},
{
"scoringSystemFacet": "75",
"value": "337"
}
]
}
],
"pathology": "Psoriasis",
"extraData": null,
"patientIdentifier": "A1"
}
Sie erhalten in diesem Fall die folgende JSON-Struktur:
{
"success": true,
"message": "Diagnostic report created",
"data": {
"id": "01898ce9-c246-72fb-b2cf-337629cd7bd0",
"originalMedia": {
"focusScore": null,
"type": "Image",
"modality": "Clinical",
"diqaScore": 86.0,
"pxToCm": null,
"annotations": [],
"url": "https://legit-app-pre.s3.eu-west-3.amazonaws.com/diagnostic-report-medias/xxx.jpg"
"thumbnailUrl": null
},
"bodySite": {
"id": 3,
"code": "ARM_LEFT",
"name": "Arm left"
},
"createdAt": "2023-07-25T11:57:54+00:00",
"result": {
"id": "01898ce9-c246-72fb-b2cf-33762a9b2e98",
"explainabilityMedia": {
"type": null,
"modality": null,
"diqaScore": null,
"url": "https://legit-app-pre.s3.eu-west-3.amazonaws.com/diagnostic-report-medias/yyy.jpg",
"thumbnailUrl": null
},
"metrics": {
"sensitivity": 83.31,
"specificity": 99.53
},
"preliminaryFindings": {
"hasConditionSuspicion": 100.0,
"isPreMalignantSuspicion": 0.0,
"isMalignantSuspicion": 0.0,
"needsBiopsySuspicion": 0.0,
"needsSpecialistsAttention": 100.0,
"isPreMalignantSuspicionOverThreshold": false,
"isMalignantSuspicionOverThreshold": false
},
"iaSeconds": 0.7282395362854004,
"conclusions": [
{
"probability": 100.0,
"pathology": {
"id": 237,
"name": "Psoriasis",
"code": "Psoriasis"
}
}
],
"scoringSystems": [
{
"scoringSystem": 2,
"score": 4.200000000000001,
"scoreCategory": "Severe",
"scoreCategorySeverity": 3,
"resultScoringSystemFacets": [
{
"facet": {
"id": 4,
"inputAdornment": null,
"allowsInputFromUser": false,
"name": "Desquamation",
"description": "This value corresponds to the shedding intensity of the outermost layer of skin of the affected zone"
},
"valueToDisplay": "Moderate (2)"
},
{
"facet": {
"id": 1,
"inputAdornment": null,
"allowsInputFromUser": false,
"name": "Redness",
"description": "This value corresponds to the redness intensity of the lesion"
},
"valueToDisplay": "Severe (3)"
},
{
"facet": {
"id": 3,
"inputAdornment": null,
"allowsInputFromUser": false,
"name": "Induration",
"description": "This value corresponds to the hardening intensity of the lesion"
},
"valueToDisplay": "Moderate (2)"
},
{
"facet": {
"id": 26,
"inputAdornment": null,
"allowsInputFromUser": false,
"name": "Affected area",
"description": "This value corresponds to the percentage of involvement of the specific area of the body you are reporting"
},
"valueToDisplay": "50% (3)"
}
],
"reduction": null,
"explainabilityMediaUrl": "https://legit-app-pre.s3.eu-west-3.amazonaws.com/diagnostic-report-medias/ps4q5JKDNHLejFjfbhGVVRtKNYCVRNoN4fi17gijUWNVypJ4JLBapASPeMbsRN7Y.jpg?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA52A2ZCZF32OWDLDS%2F20230725%2Feu-west-3%2Fs3%2Faws4_request&X-Amz-Date=20230725T143807Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1800&X-Amz-Signature=eec91bccdbbe8bcab1230e230bbc66d610518cca4ad610a5270b5e1ccddb9896"
},
{
"scoringSystem": 16,
"score": 0.0,
"scoreCategory": "No apparent symptoms",
"scoreCategorySeverity": 1,
"resultScoringSystemFacets": [
{
"facet": {
"id": 68,
"inputAdornment": null,
"allowsInputFromUser": false,
"name": "Have you ever had a globally swollen and painful finger or toe?",
"description": ""
},
"valueToDisplay": "No (0)"
},
{
"facet": {
"id": 69,
"inputAdornment": null,
"allowsInputFromUser": false,
"name": "Have you ever had heel pain as soon as you stand up in the morning?",
"description": ""
},
"valueToDisplay": "No (0)"
},
{
"facet": {
"id": 70,
"inputAdornment": null,
"allowsInputFromUser": false,
"name": "Have you ever had left and right buttock pain, at the same time or not?",
"description": ""
},
"valueToDisplay": "No (0)"
},
{
"facet": {
"id": 71,
"inputAdornment": null,
"allowsInputFromUser": false,
"name": "Have you ever had a swollen and painful joint? (hands, feet, knees, or ankles, for example)",
"description": ""
},
"valueToDisplay": "No (0)"
}
],
"reduction": null,
"explainabilityMediaUrl": "https://legit-app-pre.s3.eu-west-3.amazonaws.com/diagnostic-report-medias/ps4q5JKDNHLejFjfbhGVVRtKNYCVRNoN4fi17gijUWNVypJ4JLBapASPeMbsRN7Y.jpg?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA52A2ZCZF32OWDLDS%2F20230725%2Feu-west-3%2Fs3%2Faws4_request&X-Amz-Date=20230725T143807Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1800&X-Amz-Signature=eec91bccdbbe8bcab1230e230bbc66d610518cca4ad610a5270b5e1ccddb9896"
},
{
"scoringSystem": 8,
"score": 1.0,
"scoreCategory": "No effect at all on patient's life",
"scoreCategorySeverity": 1,
"resultScoringSystemFacets": [
{
"facet": {
"id": 16,
"inputAdornment": null,
"allowsInputFromUser": false,
"name": "Over the last week, how itchy, sore, painful or stinging has your skin been?",
"description": ""
},
"valueToDisplay": "Not at all (0)"
},
{
"facet": {
"id": 25,
"inputAdornment": null,
"allowsInputFromUser": false,
"name": "Over the last week, how much of a problem has the treatment for your skin been, for example by making your home messy, or by taking up time?",
"description": ""
},
"valueToDisplay": "A little (1)"
},
{
"facet": {
"id": 17,
"inputAdornment": null,
"allowsInputFromUser": false,
"name": "Over the last week, how embarrassed or self conscious have you been because of your skin?",
"description": ""
},
"valueToDisplay": "Not at all (0)"
},
{
"facet": {
"id": 18,
"inputAdornment": null,
"allowsInputFromUser": false,
"name": "Over the last week, how much has your skin interfered with you going shopping or looking after your home or garden? ",
"description": ""
},
"valueToDisplay": "Not at all (0)"
},
{
"facet": {
"id": 19,
"inputAdornment": null,
"allowsInputFromUser": false,
"name": "Over the last week, how much has your skin influenced the clothes you wear?",
"description": ""
},
"valueToDisplay": "Not at all (0)"
},
{
"facet": {
"id": 20,
"inputAdornment": null,
"allowsInputFromUser": false,
"name": "Over the last week, how much has your skin affected any social or leisure activities?",
"description": ""
},
"valueToDisplay": "Not at all (0)"
},
{
"facet": {
"id": 21,
"inputAdornment": null,
"allowsInputFromUser": false,
"name": "Over the last week, how much has your skin made it difficult for you to do any sport?",
"description": ""
},
"valueToDisplay": "Not at all (0)"
},
{
"facet": {
"id": 22,
"inputAdornment": null,
"allowsInputFromUser": false,
"name": "Over the last week, how much has your skin prevented you from working or studying?",
"description": ""
},
"valueToDisplay": "Not at all (0)"
},
{
"facet": {
"id": 23,
"inputAdornment": null,
"allowsInputFromUser": false,
"name": "Over the last week, how much has your skin created problems with your partner or any of your close friends or relatives?",
"description": ""
},
"valueToDisplay": "Not at all (0)"
},
{
"facet": {
"id": 24,
"inputAdornment": null,
"allowsInputFromUser": false,
"name": "Over the last week, how much has your skin caused any sexual difficulties?",
"description": ""
},
"valueToDisplay": "Not at all (0)"
}
],
"reduction": null,
"explainabilityMediaUrl": "https://legit-app-pre.s3.eu-west-3.amazonaws.com/diagnostic-report-medias/ps4q5JKDNHLejFjfbhGVVRtKNYCVRNoN4fi17gijUWNVypJ4JLBapASPeMbsRN7Y.jpg?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA52A2ZCZF32OWDLDS%2F20230725%2Feu-west-3%2Fs3%2Faws4_request&X-Amz-Date=20230725T143807Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1800&X-Amz-Signature=eec91bccdbbe8bcab1230e230bbc66d610518cca4ad610a5270b5e1ccddb9896"
}
]
},
"pathology": "Psoriasis"
},
"errorCode": null
}
Daten anfordern
Sie können auch zwei Parameter in der Anfrage Körper senden, um Metainformationen über die Anfrage festzulegen:
patientIdentifier
, eine Zeichenkette mit dem Identifikator des Patienten in Ihrem System.extraData
, eine Zeichenkette mit zusätzlichen Informationen, die mit der Anfrage verknüpft werden sollen.
Beide Eigenschaften werden gespeichert und mit dem Diagnosebericht verknüpft.
{
"bodySite": "ARM_LEFT",
"image": {
"x": 57.91903409090901,
"y": 0,
"width": 1258.261855332168,
"height": 729.0723905723905,
"image": "data:image/jpeg;base64,/9j"
},
"patientIdentifier": "XYZ",
"extraData": "a base64 encoded string"
}
So wird ein Bewertungssystem gesendet
Um ein Bewertungssystem einzureichen, müssen Sie die entsprechende Systemkennung in unserer Datenbank angeben, zusammen mit einer Reihe von Werten für alle Faktoren, die das Bewertungssystem erfordert:
{
"scoringSystem": "2",
"scoringSystemFacets": [
{
"scoringSystemFacet": "8", // scoring system facet id
"value": "139"
}
]
}
Um eine umfassende Liste der Bewertungssysteme mit ihren Kennungen und Faktoren zu erhalten, laden Sie bitte die entsprechende Datei von den folgenden Adressen herunter:
- Vorbereitende Arbeitsumgebung: Hier herunterladen
- Vorbereitende Arbeitsumgebung: Hier herunterladen
Unser Bewertungssystem APASI_LOCAL
umfasst beispielsweise vier Faktoren: Oberfläche
, Hautrötung
, Verhärtung
, und Abschuppung
. Gemäß unserer Festlegung des Bewertungssystems muss der Benutzer jedoch nur Informationen für den Faktor Oberfläche
angeben; die Werte der übrigen drei Faktoren, bei denen die Eigenschaft isAskedInQuestionnaire
auf false
gesetzt ist, werden von unserer KI berechnet. Hier ist ein Beispiel für einen Faktor, der nicht erforderlich ist:
{
"id": 9,
"isAskedInQuestionnaire": false,
"code": "erythema"
}
Um die Daten des Faktors Oberfläche
vom Benutzer abzufragen, fordern Sie den Benutzer auf, einen Bereich aus den angebotenen Optionen auszuwählen, und speichern Sie dann die ID
des gewählten Bereichs für die spätere Übermittlung an den Endpunkt. Wenn der Benutzer beispielsweise 10-30 %
auswählt, sollten Sie den Identifikator für diesen Bereich, in diesem Fall 138
, erfassen.
Der Faktor Oberfläche
sieht in unserem System wie folgt aus:
{
"id": 8,
"isAskedInQuestionnaire": true,
"code": "surface",
"allowsInputFromUser": false,
"name": {
"en": "Affected area",
"es": "Area afectada"
},
"description": {
"en": "This value corresponds to the percentage of involvement of the specific area of the body you are reporting",
"es": "Este valor corresponde al porcentaje de afectación de la zona concreta del cuerpo que estás reportando"
},
"ranges": [
{
"id": 29,
"label": {
"en": "0",
"es": "0"
},
"min": 0,
"max": 0,
"code": "0",
"value": "0"
},
{
"id": 137,
"label": {
"en": "0-10%",
"es": "0-10%"
},
"min": 1,
"max": 1,
"code": "0-10%",
"value": "1"
},
{
"id": 138,
"label": {
"en": "10-30%",
"es": "10-30%"
},
"min": 2,
"max": 2,
"code": "10-30%",
"value": "2"
},
{
"id": 139,
"label": {
"en": "30-50%",
"es": "30-50%"
},
"min": 3,
"max": 3,
"code": "30-50%",
"value": "3"
},
{
"id": 140,
"label": {
"en": "50-70%",
"es": "50-70%"
},
"min": 4,
"max": 4,
"code": "50-70%",
"value": "4"
},
{
"id": 141,
"label": {
"en": "70-90%",
"es": "70-90%"
},
"min": 5,
"max": 5,
"code": "70-90%",
"value": "5"
},
{
"id": 142,
"label": {
"en": "90-100%",
"es": "90-100%"
},
"min": 6,
"max": 6,
"code": "90-100%",
"value": "6"
}
]
}
Jede Bereichsauswahl wird mit einer ID
, einem Kennzeichen
(mit englischen, spanischen und deutschen Angaben), einem Code
und einem Wert
festgelegt. Der Benutzer wählt eine der verfügbaren Optionen aus, und die entsprechende ID
muss an den Endpunkt gesendet werden. Der Bereich 10-30 %
ist beispielsweise wie folgt definiert:
{
"id": 138,
"label": {
"en": "10-30%",
"es": "10-30%"
},
"min": 2,
"max": 2,
"code": "10-30%",
"value": "2"
}
Bei bestimmten Faktoren, wie surfaceValue
von ASCORAD_LOCAL
, ist die Eigenschaft allowsInputFromUser
auf true
gesetzt. Dies bedeutet, dass den Benutzern anstelle von vordefinierten Bereichen ein Texteingabefeld zur Verfügung gestellt werden sollte, in das sie eine Zahl eingeben können.
Bei dem Faktor surfaceValue
müssen Sie den Prozentsatz der betroffenen Körperfläche eingeben. Das an die API übermittelte JSON könnte also folgendermaßen aussehen:
{
"scoringSystem": "1",
"scoringSystemFacets": [
{
"scoringSystemFacet": "85",
"value": "83"
}
// Include additional facets as needed
]
}
In diesem Beispiel hat der Benutzer angegeben, dass 83 % des betreffenden Körperbereichs betroffen sind, was durch den Wert
von 83
angezeigt wird.
Jedes Bewertungssystem umfasst eine Reihe von Kategorien, die es Ihnen ermöglichen, den Schweregrad auf der Grundlage der berechneten Punktzahl zu bestimmen. Die Einzelheiten zu diesen Kategorien sind in der Eigenschaft scoreCategories
für jedes Bewertungssystem enthalten:
{
"scoreCategories": [
{
"code": "Mild",
"min": 0,
"max": 20,
"severity": 1,
"bodySite": "GENITAL"
}
// other categories
]
}
Beachten Sie, dass bestimmte Kategorien von der spezifischen Körperstelle abhängen, an der das Foto aufgenommen wurde. Wenn Sie also den Schweregrad bestimmen möchten, verwenden Sie die vom Endpunkt zurückgegebenen Punktzahl
in Kombination mit bodySite
.
Wenn z. B. ASCORAD_LOCAL
eine Punktzahl von 22
für ein Foto des ARM_RIGHT
liefert, würde der Schweregrad wie folgt bestimmt:
{
"code": "Moderate",
"min": 21,
"max": 49,
"severity": 2,
"bodySite": "ARM_RIGHT"
}
Für das Bewertungssystem AUAS_LOCAL
ist die Körperstelle jedoch irrelevant:
{
"scoreCategories": [
{
"code": "None",
"min": 0,
"max": 0,
"severity": 1,
"bodySite": null
},
{
"code": "Mild",
"min": 0,
"max": 2,
"severity": 1,
"bodySite": null
},
{
"code": "Moderate",
"min": 2,
"max": 4,
"severity": 2,
"bodySite": null
},
{
"code": "Severe",
"min": 4,
"max": 6,
"severity": 3,
"bodySite": null
}
]
}
In diesem Fall wird der Schweregrad unabhängig von der Körperstelle allein auf der Grundlage der erzielten Punktzahl bestimmt.