$convert-data i FHIR-tjänsten
Kommentar
I maj 2024 släppte vi en fristående FHIR-konverterar-API® frikopplad från FHIR-tjänsten och paketerade som en containeravbildning (Docker) för förhandsversion. Förutom att du kan konvertera data från postens källa till FHIR R4-paket erbjuder FHIR-konverteraren många nya nettofunktioner, till exempel:
- Dubbelriktad datakonvertering från källan till posten till FHIR R4-paket och tillbaka. FHIR-konverteraren kan till exempel konvertera data från FHIR R4-format tillbaka till HL7v2-format.
- Förbättrad upplevelse för anpassning av standard liquid-mallar .
- Exempel som visar hur du skapar en ETL-pipeline (extrahera, transformera, läsa in) med Azure Data Factory (ADF).
Information om hur du implementerar FHIR-konverterarens containeravbildning finns i GitHub-projektet för FHIR-konverteraren.
Med $convert-data
åtgärden i FHIR-tjänsten® kan du konvertera hälsodata från olika format till FHIR R4-data . Åtgärden $convert-data
använder Liquid-mallar från FHIR Converter-projektet för FHIR-datakonvertering. Du kan anpassa dessa konverteringsmallar efter behov.
Åtgärden $convert-data
stöder fyra typer av datakonvertering:
- HL7v2 till FHIR R4
- C-CDA till FHIR R4
- JSON till FHIR R4 (avsedd för anpassade konverteringsmappningar)
- FHIR STU3 till FHIR R4
Använda slutpunkten $convert-data
$convert-data
Använd slutpunkten som en komponent i en ETL-pipeline (extrahera, transformera och läsa in) för konvertering av hälsodata från olika format (till exempel HL7v2, CCDA, JSON och FHIR STU3) till FHIR-formatet. Skapa en ETL-pipeline för ett fullständigt arbetsflöde när du konverterar dina hälsodata. Vi rekommenderar att du använder en ETL-motor baserat på Azure Logic Apps eller Azure Data Factory. Ett arbetsflöde kan till exempel innehålla datainmatning, utföra $convert-data
åtgärder, validering, data före och efter bearbetning, databerikning, datadeduplicering och inläsning av data för beständighet i FHIR-tjänsten.
Åtgärden $convert-data
är integrerad i FHIR-tjänsten som en REST API-åtgärd. Du kan anropa slutpunkten på $convert-data
följande sätt:
POST {{fhirurl}}/$convert-data
Hälsodata för konvertering levereras till FHIR-tjänsten i brödtexten i $convert-data
begäran. Om begäran lyckas returnerar FHIR-tjänsten ett FHIR-paketsvar med data konverterade till FHIR R4.
Parametrar
Ett $convert-data
åtgärdsanrop paketerade hälsodata för konvertering i JSON-formaterade parametrar i brödtexten i begäran. Parametrarna beskrivs i följande tabell.
Parameternamn | Beskrivning | Godkända värden |
---|---|---|
inputData | Datanyttolast som ska konverteras till FHIR. | För Hl7v2 : sträng För Ccda : XML För Json : JSON För FHIR STU3 : JSON |
inputDataType | Typ av indata. | Hl7v2 , Ccda , , Json Fhir |
templateCollectionReference | Referens till en samling OCI-avbildningsmallar i Azure Container Registry. Referensen är till en bild som innehåller Liquid-mallar som ska användas för konvertering. Den kan referera antingen till standardmallar eller till en anpassad mallbild som registrerats i FHIR-tjänsten. Följande avsnitt beskriver hur du anpassar mallarna, hanterar dem i Azure Container Registry och registrerar dem i FHIR-tjänsten. | För standardmallar/exempelmallar : HL7v2-mallar : microsofthealth/fhirconverter:default microsofthealth/hl7v2templates:default C-CDA-mallar : microsofthealth/ccdatemplates:default JSON-mallar : microsofthealth/jsontemplates:default FHIR STU3-mallar : microsofthealth/stu3tor4templates:default För anpassade mallar: <RegistryServer>/<imageName>@<imageDigest> , <RegistryServer>/<imageName>:<imageTag> |
rootTemplate | Rotmallen som ska användas när data transformeras. | 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-resursnamn (till exempel: Patient, Observation, Organisation) |
Att tänka på
FHIR STU3 till FHIR R4-mallar är Flytande mallar som endast tillhandahåller mappningar av fältskillnader mellan en FHIR STU3-resurs och dess motsvarande resurs i FHIR R4-specifikationen. Några av FHIR STU3-resurserna har bytt namn eller tagits bort från FHIR R4. Mer information om resursskillnader och begränsningar för FHIR STU3 till FHIR R4-konvertering finns i Resursskillnader och begränsningar för FHIR STU3 till FHIR R4-konvertering.
JSON-mallar är exempelmallar som används för att skapa egna konverteringsmappningar. De är inte standardmallar som följer några fördefinierade typer av hälsodatameddelanden. Själva JSON anges inte som ett hälsodataformat, till skillnad från HL7v2 eller C-CDA. I stället för att tillhandahålla JSON-standardmallar tillhandahåller vi därför några exempel på JSON-mallar som utgångspunkt för dina egna anpassade mappningar.
Varning
Standardmallar släpps under MIT-licensen och stöds inte av Microsoft.
Standardmallarna tillhandahålls endast för att hjälpa dig att komma igång med ditt arbetsflöde för datakonvertering. Dessa standardmallar är inte avsedda för produktion och kan ändras när Microsoft släpper uppdateringar för FHIR-tjänsten. Om du vill ha konsekvent datakonverteringsbeteende i olika versioner av FHIR-tjänsten måste du göra följande:
- Värdhantera din egen kopia av mallarna i en Azure Container Registry-instans.
- Registrera mallarna i FHIR-tjänsten.
- Använd dina registrerade mallar i dina API-anrop.
- Kontrollera att konverteringsbeteendet uppfyller dina krav.
Mer information om hur du är värd för dina egna mallar finns i Värd för dina egna mallar
Exempelbegäran
{
"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"
}
]
}
Exempelsvar
{
"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"
}
}
]
}
Resultatet av FHIR-konverteringen är ett FHIR-paket som en batch.
- FHIR-paketet bör överensstämma med förväntningarna i FHIR R4-specifikationen – Bundle – FHIR v4.0.1.
- Om du försöker verifiera mot en viss profil måste du utföra viss efterbearbetning genom att använda FHIR -$validate åtgärden.
Nästa steg
Konfigurera inställningar för $convert-data med hjälp av Azure Portal
Vanliga frågor om $convert data
Kommentar
FHIR® är ett registrerat varumärke som tillhör HL7 och används med tillstånd av HL7.