Zum Hauptinhalt springen

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:

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.