Konvertera dina data till FHIR för Azure API för FHIR
Viktigt!
Azure API för FHIR avvecklas den 30 september 2026. Följ migreringsstrategierna för att övergå till Azure Health Data Services FHIR-tjänsten® senast det datumet. På grund av tillbakadragandet av Azure API för FHIR tillåts inte nya distributioner från och med den 1 april 2025. Azure Health Data Services FHIR-tjänsten är den utvecklade versionen av Azure API för FHIR som gör det möjligt för kunder att hantera FHIR-, DICOM- och MedTech-tjänster med integreringar i andra Azure-tjänster.
Den $convert-data
anpassade slutpunkten i FHIR-tjänsten® är avsedd för datakonvertering från olika datatyper till FHIR. Den använder liquid-mallmotorn och mallarna från FHIR Converter-projektet som standardmallar. Du kan anpassa dessa konverteringsmallar efter behov.
$convert-data
Den anpassade slutpunkten stöder för närvarande fyra typer av datakonvertering:
Ursprungsdataformat | Måldataformat |
---|---|
C-CDA | FHIR |
HL7v2 | FHIR |
JSON | FHIR |
FHIR STU3 | FHIR R4 |
Kommentar
Slutpunkten $convert-data
kan användas som en komponent i en pipeline för export, transformering, inläsning (ETL) för konvertering av rådata från äldre format till FHIR-format. Det är dock inte i sig en ETL-pipeline. Vi rekommenderar att du använder en ETL-motor som Logic Apps eller Azure Data Factory för ett fullständigt arbetsflöde när du förbereder dina FHIR-data som ska sparas på FHIR-servern. Arbetsflödet kan omfatta: dataläsning och inmatning, datavalidering, API-anrop $convert-data
, dataför-/efterbearbetning, databerikning och dataduplicering.
Använda slutpunkten $convert-data
Åtgärden $convert-data
är integrerad i FHIR-tjänsten som ska köras som en del av tjänsten. När du har aktiverat $convert-data
på servern kan du göra API-anrop till servern för att konvertera dina data till FHIR med .https://<<FHIR service base URL>>/$convert-data
Parameterresurs
$convert-data
tar en parameterresurs i begärandetexten enligt beskrivningen i följande tabell. I brödtexten för API-anropsbegäran skulle du inkludera följande parametrar:
Parameternamn | beskrivning | Godkända värden |
---|---|---|
inputData | Data som ska konverteras. | För Hl7v2 : sträng För Ccda : XML För Json : JSON För FHIR STU3 : JSON |
inputDataType | Datatyp för indata. | HL7v2 , Ccda , , Json Fhir |
templateCollectionReference | Referens till en samling OCI-avbildningsmallar i Azure Container Registry (ACR). Det är bilden som innehåller Liquid-mallar som ska användas för konvertering. Det kan vara en referens antingen till standardmallarna eller en anpassad mallbild som är registrerad i FHIR-tjänsten. Se följande för att lära dig mer om att anpassa mallarna, vara värd för dem på ACR och registrera dig för 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_A27", "ADT_A15", "ADT_A16", "ADT_A25", "ADT_A26", "ADT_A27", "ADT_A27", "ADT_A15", "ADT_A16", "ADT_A25", "ADT_A26", "ADT_A27", "ADT_A27", "ADT_A25", "ADT_A26", "ADT_A27", "ADT_A27", "ADT_A01", "ADT_A02", "ADT_A02", "ADT_A02", "ADT_A03", "ADT_A04", "ADT_A05", "ADT_A08", "ADT_A26", "ADT_A27", "ADT_A15", "", "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-resurs, till exempel Namn, "Patient", "Observation", "Organisation". |
Kommentar
FHIR STU3 till R4-mallar är "diff" Liquid-mallar som endast tillhandahåller mappningar av fältskillnader mellan STU3-resursen och dess motsvarande resurs i FHIR R4-standarden. Vissa av STU3-resurserna har bytt namn eller tagits bort från R4. Se Resursskillnader och begränsningar för STU3 till R4-konvertering.
Kommentar
JSON-mallar är exempelmallar för användning, inte "standardmallar" som följer eventuella fördefinierade JSON-meddelandetyper. JSON har inte standardiserade meddelandetyper, till skillnad från HL7v2-meddelanden eller C-CDA-dokument. I stället för standardmallar ger vi dig några exempelmallar som du kan använda som startguide för dina egna anpassade mallar.
Varning
Standardmallar släpps under MIT-licensen och stöds inte av Microsoft Support.
Standardmallar tillhandahålls endast för att hjälpa dig att komma igång. De kan uppdateras när vi uppdaterar versioner av Azure API för FHIR. Du måste verifiera konverteringsbeteendet och vara värd för din egen kopia av mallar i ett Azure Container Registry, registrera dem i Azure API för FHIR som ska användas i dina API-anrop. Detta är nödvändigt för konsekvent datakonverteringsbeteende i olika versioner av Azure API för FHIR.
Exempelförfrågan
{
"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": "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"
}
}
]
}
Anpassa mallar
Du kan använda FHIR-konverterartillägget för Visual Studio Code för att anpassa mallarna efter dina behov. Tillägget ger en interaktiv redigeringsupplevelse och gör det enkelt att ladda ned Microsoft-publicerade mallar och exempeldata. Mer information finns i dokumentationen i tillägget.
Kommentar
FHIR-konverterartillägget för Visual Studio Code är tillgängligt för HL7v2-, C-CDA- och JSON Liquid-mallar. FHIR STU3 till R4 Liquid-mallar stöds för närvarande inte.
Vara värd för och använda mallar
Vi rekommenderar att du är värd för din egen kopia av mallar på ACR. Det finns fyra steg som ingår i att vara värd för din egen kopia av mallar och använda dem i $convert-data
åtgärden:
- Skicka mallarna till Azure Container Registry.
- Aktivera hanterad identitet i azure-API:et för FHIR-instansen.
- Ge åtkomst till ACR till Azure API för FHIR Managed Identity.
- Registrera ACR-servrarna i Azure API för FHIR.
- Du kan också konfigurera ACR-brandväggen för säker åtkomst.
Skicka mallar till Azure Container Registry
När du har skapat en ACR-instans kan du använda kommandot FHIR Converter: Push Templates i FHIR Converter-tillägget för att skicka de anpassade mallarna till ACR. Du kan också använda CLI-verktyget för mallhantering.
Aktivera hanterad identitet i Azure API för FHIR
Bläddra till din instans av Azure API för FHIR-tjänsten i Azure Portal och välj sedan bladet Identitet. Ändra status till På för att aktivera hanterad identitet i Azure API för FHIR.
Ge åtkomst till ACR till Azure API för FHIR
Bläddra till bladet Åtkomstkontroll (IAM).
Välj Lägg till och välj sedan Lägg till rolltilldelning för att öppna sidan Lägg till rolltilldelning.
Mer information om hur du tilldelar roller i Azure Portal finns i Inbyggda Azure-roller.
Registrera ACR-servrarna i Azure API för FHIR
Du kan registrera ACR-servern med hjälp av Azure Portal eller med HJÄLP av CLI.
Registrera ACR-servern med hjälp av Azure Portal
Bläddra till bladet Artefakter under Datatransformering i azure-API:et för FHIR-instansen. Du ser listan över för närvarande registrerade ACR-servrar. Välj Lägg till och välj sedan registerservern i den nedrullningsbara menyn. Du måste välja Spara för att registreringen ska börja gälla. Det kan ta några minuter att tillämpa ändringen och starta om instansen.
Registrera ACR-servern med CLI
Du kan registrera upp till 20 ACR-servrar i Azure API för FHIR.
Installera Azure Health Data Services CLI från Azure PowerShell om det behövs:
az extension add -n healthcareapis
Registrera acr-servrarna till Azure API för FHIR genom att följa dessa exempel:
Registrera en enda ACR-server
az healthcareapis acr add --login-servers "fhiracr2021.azurecr.io" --resource-group fhir-test --resource-name fhirtest2021
Registrera flera ACR-servrar
az healthcareapis acr add --login-servers "fhiracr2021.azurecr.io fhiracr2020.azurecr.io" --resource-group fhir-test --resource-name fhirtest2021
Konfigurera ACR-brandvägg
Välj Nätverk för Azure Storage-kontot från portalen.
Välj Valda nätverk.
Under avsnittet Brandvägg anger du IP-adressen i rutan Adressintervall . Lägg till IP-intervall för att tillåta åtkomst från Internet eller dina lokala nätverk.
I följande tabell hittar du IP-adressen för Den Azure-region där Azure API för FHIR-tjänsten etableras.
Azure-region | Offentlig IP-adress |
---|---|
Australien, östra | 20.53.47.210 |
Brasilien, södra | 191.238.72.227 |
Kanada, centrala | 20.48.197.161 |
Indien, centrala | 20.192.47.66 |
USA, östra | 20.62.134.242, 20.62.134.244, 20.62.134.245 |
USA, östra 2 | 20.62.60.115, 20.62.60.116, 20.62.60.117 |
Centrala Frankrike | 51.138.211.19 |
Tyskland, norra | 51.116.60.240 |
Tyskland, västra centrala | 20.52.88.224 |
Japan, östra | 20.191.167.146 |
Västra Japan | 20.189.228.225 |
Sydkorea, centrala | 20.194.75.193 |
Norra centrala USA | 52.162.111.130, 20.51.0.209 |
Europa, norra | 52.146.137.179 |
Qatar, centrala | 20.21.36.225 |
Sydafrika, norra | 102.133.220.199 |
USA, södra centrala | 20.65.134.83 |
Sydostasien | 20.195.67.208 |
Sverige, centrala | 51.12.28.100 |
Schweiz, norra | 51.107.247.97 |
Södra Storbritannien | 51.143.213.211 |
Västra Storbritannien | 51.140.210.86 |
Västra centrala USA | 13.71.199.119 |
Västeuropa | 20.61.103.243, 20.61.103.244 |
Västra USA 2 | 20.51.13.80, 20.51.13.84, 20.51.13.85 |
USA, västra 3 | 20.150.245.165 |
Kommentar
Föregående steg liknar de konfigurationssteg som beskrivs i dokumentet Så här exporterar du FHIR-data. Mer information finns i Säker export till Azure Storage
Verifiera
Gör ett anrop till API:et $convert-data
som anger mallreferensen i parametern templateCollectionReference.
<RegistryServer>/<imageName>@<imageDigest>
Nästa steg
I den här artikeln har du lärt dig om datakonvertering för Azure API för FHIR. Mer information om relaterade GitHub Projects för Azure API för FHIR finns i
Kommentar
FHIR® är ett registrerat varumärke som tillhör HL7 och används med tillstånd av HL7.