Veröffentlicht: 23.01.2024. 🔗 Permalink

Wie und warum CodeSystem/$find-matches verwenden

Mit Hilfe des FHIR-Services $find-matches wird ein CodeSystem anhand von definierten Eigenschaften (Properties) durchsucht. Als Ergebnis wird eine Menge von Codes zurückgegeben, die die Eigenschaften erfüllen. Um den FHIR-Service $find-matches bespielhaft erläutern zu können, wurde folgendes CodeSystem definiert:

{
  "resourceType": "CodeSystem",
  "id": "example-find-matches-codesystem",
  "url": "https://imi.uni-luebeck.de/fhir/CodeSystem/example-find-matches-codesystem",
  "name": "Uebersteigeschlussel - ICD10 - Mapping",
  "status": "active",
  "property": [
    { "code": "parent", "type": "code" }
  ],
  "content": "complete",
  "concept": [
    {
      "code": "E11",
      "display": "Diabetes mellitus, Typ 2"
    },
    {
      "code": "E11.9",
      "display": "Diabetes mellitus, Typ 2 : Ohne Komplikationen",
      "property": [{ "code": "parent", "valueCode": "E11" }]
    },
    {
      "code": "E11.90",
      "display": "Diabetes mellitus, Typ 2 : Ohne Komplikationen : Nicht als entgleist bezeichnet",
      "property": [{ "code": "parent", "valueCode": "E11.9" }]
    },
    {
      "code": "E11.91",
      "display": "Diabetes mellitus, Typ 2 : Ohne Komplikationen : Als entgleist bezeichnet",
      "property": [{ "code": "parent", "valueCode": "E11.9" }]
    }
  ]
}

Dieses CodeSystem enthält vier ICD10-Codes, welche Diabetes Typ 2 beschreiben. Es wurde weiterhin eine Property namens parent definiert, welche die direkten Vorfahren eines Codes enthalten kann.

Mit Hilfe des FHIR-Services $find-matches soll nun das definierte CodeSystem anhand der Property “parent” durchsucht werden. Hierfür wird eine POST-Anfrage an {url_server}/CodeSystem/$find-matches gestellt:

{
    "resourceType": "Parameters",
    "id": "find-matches",
    "parameter": [
        {
            "name": "system",
            "valueUri": "https://imi.uni-luebeck.de/fhir/CodeSystem/example-find-matches-codesystem"
        },
        {
            "name": "exact",
            "valueBoolean": false
        },
        {
            "name": "property",
            "part": [
                {
                    "name": "code",
                    "valueCode": "parent"
                },
                {
                    "name": "value",
                    "valueCode": "E11.9"
                }
            ]
        }
    ]
}

Hierbei sind folgende Parameter relevant:

  • system: URL des CodeSystems
  • property: Eigenschaften, die die Codes der Ergebnismenge enthalten sollen.

In der bespielhaften Anfrage werden alle Codes zurückgegeben, die als Vorfahren den ICD10-Code E11.9 aufweisen. Dies wären für das beispielhafte CodeSystem die ICD10-Codes E11.91 und E11.90:

{
    "resourceType": "Parameters",
    "parameter": [
        {
            "name": "match",
            "part": [
                {
                    "name": "code",
                    "valueCoding": {
                        "system": "https://imi.uni-luebeck.de/fhir/CodeSystem/example-find-matches-codesystem",
                        "code": "E11.91",
                        "display": "Diabetes mellitus, Typ 2 : Ohne Komplikationen : Als entgleist bezeichnet"
                    }
                }
            ]
        },
        {
            "name": "match",
            "part": [
                {
                    "name": "code",
                    "valueCoding": {
                        "system": "https://imi.uni-luebeck.de/fhir/CodeSystem/example-find-matches-codesystem",
                        "code": "E11.90",
                        "display": "Diabetes mellitus, Typ 2 : Ohne Komplikationen : Nicht als entgleist bezeichnet"
                    }
                }
            ]
        }
    ]
}

Quelle: