Freigeben über


$convert-Daten im FHIR-Dienst

Hinweis

Im Mai 2024 haben wir eine eigenständige FHIR-Konverter-API vom FHIR-Dienst entkoppelt und in einer Vorschauversion als Containerimage (Docker) gepackt. Neben der Möglichkeit, Daten aus der Datensatzquelle in FHIR R4-Pakete zu konvertieren, bietet der FHIR-Konverter viele neue Funktionen, z. B.:

  • Bidirektionale Datenkonvertierung von der Datensatzquelle in FHIR R4-Pakete und zurück. So kann der FHIR-Konverter beispielsweise Daten aus dem FHIR R4-Format zurück in das HL7v2-Format konvertieren.
  • Verbesserte Benutzeroberfläche zum Anpassen von Liquid-Standardvorlagen.
  • Beispiele, die das Erstellen einer ETL-Pipeline (Extrahieren, Transformieren, Laden) mit Azure Data Factory (ADF) zeigen.

Informationen zum Implementieren des FHIR-Konverter-Containerimages finden Sie im FHIR-Konverter-GitHub-Projekt.

Mithilfe des $convert-data-Vorgangs im FHIR®-Dienst können Sie Integritätsdaten aus verschiedenen Formaten in FHIR R4- -Daten konvertieren. Der $convert-data-Vorgang verwendet Liquid-Vorlagen des FHIR-Konverter-Projekts für die Konvertierung der FHIR-Daten. Diese Konvertierungsvorlagen können nach Bedarf angepasst werden.

Der $convert-data-Vorgang unterstützt vier Typen von Datenkonvertierungen:

  • HL7v2 zu FHIR R4
  • C-CDA zu FHIR R4
  • JSON zu FHIR R4 (für benutzerdefinierte Konvertierungszuordnungen vorgesehen)
  • FHIR STU3 zu FHIR R4

Verwenden des Endpunkts „$convert-data“

Verwenden Sie den $convert-data-Endpunkt als Komponente in einer ETL-Pipeline (Extrahieren, Transformieren und Laden) zur Konvertierung von Integritätsdaten aus verschiedenen Formaten (z. B. HL7v2, CCDA, JSON und FHIR STU3) ins FHIR-Format. Erstellen Sie zum Konvertieren Ihrer Integritätsdaten eine ETL-Pipeline für einen vollständigen Workflow. Es wird empfohlen, eine ETL-Engine zu verwenden, die auf Azure Logic Apps oder Azure Data Factory basiert. Ein Workflow kann beispielsweise die Datenerfassung, das Ausführen von $convert-data-Vorgängen, die Validierung, die Datenvor- und -nachbearbeitung, die Datenanreicherung, die Datendeduplizierung und das Laden von Daten zur Persistenz im FHIR-Dienst umfassen.

Der $convert-data-Vorgang ist in den FHIR-Dienst als REST-API-Aktion integriert. Sie können den $convert-data-Endpunkt folgendermaßen aufrufen:

POST {{fhirurl}}/$convert-data

Die zu konvertierenden Integritätsdatenwerden an den FHIR-Dienst im Textkörper der $convert-data-Anforderung übermittelt. Wenn die Anforderung erfolgreich ist, gibt der FHIR-Dienst eine Antwort in Form eines FHIR-Pakets mit den in FHIR R4 konvertierten Daten zurück.

Parameter

Der Aufruf eines $convert-data-Vorgangs ruft die zu konvertierenden Integritätsdaten in JSON-formatierten Parametern im Textkörper der Anforderung ab. Die Parameter werden in der folgenden Tabelle beschrieben:

Parametername Beschreibung Zulässige Werte
inputData Datenpayload, der in FHIR konvertiert werden soll Für Hl7v2: Zeichenfolge
Für Ccda: XML
Für Json: JSON
Für FHIR STU3: JSON
inputDataType Dateneingabetyp Hl7v2, Ccda, Json, Fhir
templateCollectionReference Verweisen Sie auf eine OCI-Image-Vorlagensammlung in Azure Container Registry. Es wird auf ein Image verwiesen, das Liquid-Vorlagen enthält, die für die Konvertierung verwendet werden sollen. Der Verweis kann entweder auf Standardvorlagen oder auf ein benutzerdefiniertes Vorlagenimage verweisen, das im FHIR-Dienst registriert wurde. In den folgenden Abschnitten wird erläutert, wie die Vorlagen angepasst, in Azure Container Registry gehostet und beim FHIR-Dienst registriert werden. Für Standard-/Beispiel-Vorlagen:
HL7v2-Vorlagen:
microsofthealth/fhirconverter:default
microsofthealth/hl7v2templates:default
C-CDA-Vorlagen:
microsofthealth/ccdatemplates:default
JSON-Vorlagen:
microsofthealth/jsontemplates:default
FHIR STU3-Vorlagen:
microsofthealth/stu3tor4templates:default

Für benutzerdefinierte Vorlagen:
<RegistryServer>/<imageName>@<imageDigest>, <RegistryServer>/<imageName>:<imageTag>
rootTemplate Die Stammvorlage, die beim Transformieren der Daten verwendet werden soll. Für HL7v2:
ADT_A01, ADT_A02, ADT_A03, ADT_A04, ADT_A05, ADT_A08, ADT_A11, ADT_A13, ADT_A14, ADT_A15, ADT_A16, ADT_A25, ADT_A26, ADT_A27, ADT_A28, ADT_A29, ADT_A31, ADT_A47, ADT_A60, OML_O21, ORU_R01, ORM_O01, VXU_V04, SIU_S12, SIU_S13, SIU_S14, SIU_S15, SIU_S16, SIU_S17, SIU_S26, MDM_T01, MDM_T02

Für C-CDA:
CCD, ConsultationNote, DischargeSummary, HistoryandPhysical, OperativeNote, ProcedureNote, ProgressNote, ReferralNote, TransferSummary

Für JSON:
ExamplePatient, Stu3ChargeItem

Für FHIR STU3:
FHIR STU3-Ressourcenname (z. B. Patient, Beobachtung, Organisation)

Überlegungen

  • „FHIR STU3 zu FHIR R4“-Vorlagen sind Liquid-Vorlagen, die ausschließlich Zuordnungen von Feldunterschieden zwischen einer FHIR STU3-Ressource und der entsprechenden Ressource in der FHIR R4-Spezifikation bereitstellen. Manche der FHIR STU3-Ressourcen wurden umbenannt oder aus FHIR R4 entfernt. Weitere Informationen zu den Ressourcenunterschieden und Einschränkungen für die Konvertierung von FHIR STU3 in FHIR R4 finden Sie unter Ressourcenunterschiede und Einschränkungen bei der Konvertierung von FHIR STU3 zu FHIR R4.

  • JSON-Vorlagen sind Beispielvorlagen für das Erstellen eigener Konvertierungszuordnungen. Sie sind keine Standardvorlagen, die vordefinierten Nachrichtentypen für Integritätsdaten entsprechen. JSON selbst wird im Gegensatz zu HL7v2 oder C-CDA nicht als Integritätsdatenformat angegeben. Statt JSON-Standardvorlagen bereitzustellen, stellen wir daher einige JSON-Beispielvorlagen als Ausgangspunkt für Ihre eigenen benutzerdefinierten Zuordnungen bereit.

Warnung

Standardvorlagen werden unter der MIT-Lizenz veröffentlicht und nicht Microsoft unterstützt.

Die Standardvorlagen werden nur bereitgestellt, um Sie bei den ersten Schritten mit Ihrem Datenkonvertierungsworkflow zu unterstützen. Diese Standardvorlagen sind nicht für die Produktion vorgesehen und können sich ändern, wenn Microsoft Updates für den FHIR-Dienst veröffentlicht. Um ein konsistentes Datenkonvertierungsverhalten über verschiedenen Versionen des FHIR-Diensts hinweg sicherzustellen, müssen Sie die folgenden Schritte ausführen:

  1. Hosten Sie Ihre eigene Kopie der Vorlagen in einer Azure Container Registry-Instanz.
  2. Registrieren Sie die Vorlagen für den FHIR-Dienst.
  3. Verwenden Sie Ihre registrierten Vorlagen in Ihren API-Aufrufen.
  4. Stellen Sie sicher, dass das Konvertierungsverhalten Ihren Anforderungen entspricht.

Weitere Informationen zum Hosten eigener Vorlagen finden Sie unter Hosten eigener Vorlagen

Beispielanforderung

{
    "resourceType": "Parameters",
    "parameter": [
        {
            "name": "inputData",
            "valueString": "MSH|^~\\&|SIMHOSP|SFAC|RAPP|RFAC|20200508131015||ADT^A01|517|T|2.3|||AL||44|ASCII\nEVN|A01|20200508131015|||C005^Whittingham^Sylvia^^^Dr^^^DRNBR^D^^^ORGDR|\nPID|1|3735064194^^^SIMULATOR MRN^MRN|3735064194^^^SIMULATOR MRN^MRN~2021051528^^^NHSNBR^NHSNMBR||Kinmonth^Joanna^Chelsea^^Ms^^D||19870624000000|F|||89 Transaction House^Handmaiden Street^Wembley^^FV75 4GJ^GBR^HOME||020 3614 5541^PRN|||||||||C^White - Other^^^||||||||\nPD1|||FAMILY PRACTICE^^12345|\nPV1|1|I|OtherWard^MainRoom^Bed 183^Simulated Hospital^^BED^Main Building^4|28b|||C005^Whittingham^Sylvia^^^Dr^^^DRNBR^D^^^ORGDR|||CAR|||||||||16094728916771313876^^^^visitid||||||||||||||||||||||ARRIVED|||20200508131015||"
        },
        {
            "name": "inputDataType",
            "valueString": "Hl7v2"
        },
        {
            "name": "templateCollectionReference",
            "valueString": "microsofthealth/fhirconverter:default"
        },
        {
            "name": "rootTemplate",
            "valueString": "ADT_A01"
        }
    ]
}

Beispiel für eine Antwort

{
    "resourceType": "Bundle",
    "type": "batch",
    "entry": [
        {
            "fullUrl": "urn:uuid:9d697ec3-48c3-3e17-db6a-29a1765e22c6",
            "resource": {
                "resourceType": "Patient",
                "id": "9d697ec3-48c3-3e17-db6a-29a1765e22c6",
          ...
          ...
            },
            "request": {
                "method": "PUT",
                "url": "Location/50becdb5-ff56-56c6-40a1-6d554dca80f0"
            }
        }
    ]
}

Das Ergebnis der FHIR-Konvertierung ist ein FHIR-Paket als Batch.

  • Das FHIR-Paket sollte den Erwartungen der FHIR R4-Spezifikation – Paket – FHIR v4.0.1 entsprechen.
  • Wenn Sie versuchen, eine Überprüfung anhand eines bestimmten Profils auszuführen, müssen Sie einige Nachbearbeitungen durchführen, indem Sie den FHIR-$validate-Vorgang verwenden.

Nächste Schritte

Konfigurieren von Einstellungen für $convert-data mithilfe des Azure-Portals

Problembehandlung bei $convert-data

Häufig gestellte Fragen zu $convert-data

Hinweis

FHIR® ist eine eingetragene Marke von HL7 und wird mit Genehmigung von HL7 verwendet.