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 : ZeichenfolgeFür Ccda : XMLFür Json : JSONFü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:
- Pushen Sie die Vorlagen in Ihre Azure Container Registry-Instanz.
- Aktivieren Sie die verwaltete Identität für Ihre Azure API for FHIR-Instanz.
- Gewähren Sie ACR-Zugriff auf die verwaltete Identität von Azure API for FHIR.
- Registrieren Sie die ACR-Server in Azure API for FHIR.
- 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.
Gewähren von ACR-Zugriff auf Azure API for FHIR
Navigieren Sie zum Blatt Zugriffssteuerung (IAM).
Wählen Sie Hinzufügen und dann Rollenzuweisung hinzufügen aus, um die Seite Rollenzuweisung hinzufügen zu öffnen.
Weisen Sie die Rolle AcrPull zu .
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.
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.