Konvertieren Ihrer Daten in FHIR für Azure API for FHIR

Der $convert-data benutzerdefinierte Endpunkt im FHIR-Dienst ist für die Datenkonvertierung von verschiedenen Datentypen in FHIR vorgesehen. Er verwendet die Liquid-Vorlagen-Engine und die Vorlagen aus dem Projekt FHIR Converter als Standardvorlagen. Diese Konvertierungsvorlagen können nach Bedarf angepasst werden.

Derzeit unterstützt four der $convert-data benutzerdefinierte Endpunkt Typen der Datenkonvertierung:

Ursprungsdatenformat Zieldatenformat
C-CDA FHIR
HL7v2 FHIR
JSON FHIR
FHIR STU3 FHIR R4

Hinweis

$convert-data endpunkt kann als Komponente innerhalb einer ETL-Pipeline für die Konvertierung von Rohdaten im Gesundheitswesen aus Legacyformaten in das FHIR-Format verwendet werden. Es handelt sich jedoch nicht um eine ETL-Pipeline an sich. Es wird empfohlen, eine ETL-Engine wie Logic Apps oder Azure Data Factory für einen vollständigen Workflow zu verwenden, um Ihre FHIR-Daten so vorzubereiten, dass sie auf dem FHIR-Server gespeichert werden. Der Workflow kann Folgendes umfassen: Lesen und Erfassen von Daten, Datenvalidierung, $convert-Daten-API-Aufrufe, Datenvor-/Nachverarbeitung, Datenanreicherung und Datendeduplizierung.

Verwenden des Endpunkts „$convert-data“

Der $convert-data Vorgang ist in den FHIR-Dienst integriert, der als Teil des Diensts ausgeführt werden soll. Nach der Aktivierung $convert-data in Ihrem Server können Sie API-Aufrufe an den Server durchführen, um Ihre Daten in FHIR zu konvertieren: https://<<FHIR service base URL>>/$convert-data

Parameterressource

$convert-data verwendet eine Parameterressource im Anforderungstext, wie in der folgenden Tabelle beschrieben. Im Anforderungstext des API-Aufrufs würden Sie die folgenden Parameter einschließen:

Parametername Beschreibung Zulässige Werte
inputData Die zu konvertierenden Daten. Für Hl7v2: Zeichenfolge
Für Ccda: XML
Für Json: JSON
Für FHIR STU3: JSON
inputDataType Der Datentyp der Eingabe. HL7v2, Ccda, Json, Fhir
templateCollectionReference Verweis auf eine OCI-Bildvorlagensammlung auf Azure Container Registry (ACR) Es handelt sich um das Bild, das Liquid-Vorlagen enthält, die für die Konvertierung verwendet werden sollen. Dies kann ein Verweis auf die Standardvorlagen oder ein benutzerdefiniertes Vorlagenimage sein, das im FHIR-Dienst registriert ist. Im Folgenden erfahren Sie mehr über das Anpassen der Vorlagen, das Hosten von Vorlagen in ACR und die Registrierung beim FHIR-Dienst. Für Standard-/Beispielvorlagen :
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"

FHIR STU3":
STU3-Ressourcenname, z. B. "Patient", "Observation", "Organization".

Hinweis

FHIR STU3- zu R4-Vorlagen sind "diff" Liquid-Vorlagen, die nur Zuordnungen von Feldunterschieden zwischen stu3-Ressourcen und der entsprechenden Ressource im FHIR R4-Standard bereitstellen. Einige der STU3-Ressourcen werden umbenannt oder aus R4 entfernt. Weitere Informationen finden Sie unter Ressourcenunterschiede und Einschränkungen für die STU3-in-R4-Konvertierung.

Hinweis

JSON-Vorlagen sind Beispielvorlagen für die Verwendung, nicht "Standardvorlagen", die vordefinierten JSON-Nachrichtentypen entsprechen. JSON verfügt im Gegensatz zu HL7v2-Nachrichten oder C-CDA-Dokumenten über keine standardisierten Nachrichtentypen. Daher stellen wir Ihnen anstelle von Standardvorlagen einige Beispielvorlagen bereit, die Sie als Ausgangspunkt für Ihre eigenen angepassten Vorlagen verwenden können.

Warnung

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

Standardvorlagen werden nur bereitgestellt, um Ihnen den schnellen Einstieg zu erleichtern. Sie werden möglicherweise aktualisiert, wenn wir Versionen der Azure-API für FHIR aktualisieren. Daher müssen Sie das Konvertierungsverhalten überprüfen und Ihre eigene Kopie von Vorlagen auf einem Azure Container Registry hosten, diese bei der Azure-API für FHIR registrieren und in Ihren API-Aufrufen verwenden, um ein konsistentes Datenkonvertierungsverhalten in den verschiedenen Versionen von Azure API for FHIR zu erhalten.

Beispiel für eine Anforderung

{
    "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": "transaction",
  "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"
      }
    }
  ]
}

Anpassen von Vorlagen

Sie können die Erweiterung „FHIR Converter“ für Visual Studio Code verwenden, um die Vorlagen gemäß Ihren Anforderungen anzupassen. Die Erweiterung bietet eine interaktive Bearbeitungsumgebung und ermöglicht das mühelose Herunterladen von Vorlagen und Beispieldaten, die von Microsoft veröffentlicht wurden. Weitere Informationen finden Sie in der Dokumentation in der Erweiterung.

Hinweis

Die FHIR Converter-Erweiterung für Visual Studio Code ist für HL7v2-, C-CDA- und JSON Liquid-Vorlagen verfügbar. FHIR STU3 zu R4 Liquid-Vorlagen werden derzeit nicht unterstützt.

Hosten und Verwenden von Vorlagen

Es wird empfohlen, ihre eigene Kopie von Vorlagen in ACR zu hosten. Führen Sie die vier folgenden Schritte aus, um Ihre eigenen Vorlagenkopien zu hosten und im Vorgang „$convert-data“ zu verwenden:

  1. Pushen Sie die Vorlagen in Ihre Azure Container Registry-Instanz.
  2. Aktivieren Sie die verwaltete Identität für Ihre Azure API for FHIR-Instanz.
  3. Gewähren Sie ACR-Zugriff auf die verwaltete Identität von Azure API for FHIR.
  4. Registrieren Sie die ACR-Server in Azure API for FHIR.
  5. Konfigurieren Sie optional die ACR-Firewall für den sicheren Zugriff.

Pushen von Vorlagen an Azure Container Registry

Nachdem Sie eine ACR-Instanz erstellt haben, können Sie den Befehl FHIR Converter: Push Templates in der Erweiterung „FHIR Converter“ verwenden, um die angepassten Vorlagen an ACR zu pushen. Alternativ können Sie auch das CLI-Tool für die Vorlagenverwaltung verwenden.

Aktivieren der verwalteten Identität für Azure API for FHIR

Navigieren Sie im Azure-Portal zu Ihrer Instanz des Azure API for FHIR-Diensts, und wählen Sie dann das Blatt Identität aus. Ändern Sie den Status in Ein, um die verwaltete Identität in Azure API for FHIR zu aktivieren.

Bildschirmbild von

Gewähren von ACR-Zugriff auf Azure API for FHIR

  1. Navigieren Sie zum Blatt Zugriffssteuerung (IAM).

  2. Wählen Sie Hinzufügen und dann Rollenzuweisung hinzufügen aus, um die Seite Rollenzuweisung hinzufügen zu öffnen.

  3. Weisen Sie die Rolle AcrPull zu .

    Bildschirmbild der Seite

Weitere Informationen zum Zuweisen von Rollen im Azure-Portal finden Sie unter Integrierte Azure-Rollen.

Registrieren der ACR-Server in Azure API for FHIR

Sie können den ACR-Server mit dem Azure-Portal oder über die CLI registrieren.

Registrieren des ACR-Servers mithilfe von Azure-Portal

Navigieren Sie zum Blatt Artefakte unter Datentransformation in Ihrer Azure-API für FHIR-Instanz. Die Liste der aktuell registrierten ACR-Server wird angezeigt. Wählen Sie Hinzufügen und dann Ihren Registrierungsserver aus dem Dropdownmenü aus. Sie müssen Speichern auswählen, damit die Registrierung wirksam wird. Es kann einige Minuten dauern, die Änderung anzuwenden und Ihre Instanz neu zu starten.

Registrieren des ACR-Servers mithilfe der CLI

Sie können bis zu 20 ACR-Server in der Azure-API für FHIR registrieren.

Installieren Sie bei Bedarf die Azure Health Data Services-Befehlszeilenschnittstelle über Azure PowerShell:

az extension add -n healthcareapis

Registrieren Sie die ACR-Server bei Azure API for FHIR, wie in den folgenden Beispielen gezeigt:

Registrieren eines einzelnen ACR-Servers
az healthcareapis acr add --login-servers "fhiracr2021.azurecr.io" --resource-group fhir-test --resource-name fhirtest2021
Registrieren mehrerer ACR-Server
az healthcareapis acr add --login-servers "fhiracr2021.azurecr.io fhiracr2020.azurecr.io" --resource-group fhir-test --resource-name fhirtest2021

Konfigurieren der ACR-Firewall

Wählen Sie im Portal Netzwerk des Azure-Speicherkontos aus.

 Bildschirmbild der Containerregistrierung.

Klicken Sie auf Ausgewählte Netzwerke.

Geben Sie im Abschnitt Firewall die IP-Adresse im Feld Adressbereich an. Fügen Sie IP-Bereiche hinzu, um den Zugriff über das Internet oder Ihre lokalen Netzwerke zuzulassen.

In der folgenden Tabelle finden Sie die IP-Adresse für die Azure-Region, in der die Azure-API für FHIR-Dienst bereitgestellt wird.

Azure-Region Öffentliche IP-Adresse
Australien (Osten) 20.53.47.210
Brasilien Süd 191.238.72.227
Kanada, Mitte 20.48.197.161
Indien, Mitte 20.192.47.66
East US 20.62.134.242, 20.62.134.244, 20.62.134.245
USA (Ost) 2 20.62.60.115, 20.62.60.116, 20.62.60.117
Frankreich, Mitte 51.138.211.19
Deutschland, Norden 51.116.60.240
Deutschland, Westen-Mitte 20.52.88.224
Japan, Osten 20.191.167.146
Japan, Westen 20.189.228.225
Korea, Mitte 20.194.75.193
USA Nord Mitte 52.162.111.130, 20.51.0.209
Nordeuropa 52.146.137.179
Katar, Mitte 20.21.36.225
Südafrika, Norden 102.133.220.199
USA Süd Mitte 20.65.134.83
Asien, Südosten 20.195.67.208
Schweden, Mitte 51.12.28.100
Schweiz, Norden 51.107.247.97
UK, Süden 51.143.213.211
UK, Westen 51.140.210.86
USA, Westen-Mitte 13.71.199.119
Europa, Westen 20.61.103.243, 20.61.103.244
USA, Westen 2 20.51.13.80, 20.51.13.84, 20.51.13.85
USA, Westen 3 20.150.245.165

Hinweis

Die obigen Schritte ähneln den Konfigurationsschritten, die im Dokument Exportieren von FHIR-Daten beschrieben sind. Weitere Informationen finden Sie unter Sicherer Export nach Azure Storage.

Überprüfung

Rufen Sie die API „$convert-data“ auf, und geben Sie dabei im Parameter „templateCollectionReference“ Ihren Vorlagenverweis an.

<RegistryServer>/<imageName>@<imageDigest>

Nächste Schritte

In diesem Artikel haben Sie mehr über die Datenkonvertierung für die Azure-API für FHIR erfahren. Weitere Informationen zu verwandten GitHub-Projekten für Azure API for FHIR finden Sie unter

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