Share via


$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 en JSON-formaterad 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, , JsonFhir
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:

  1. Värdhantera din egen kopia av mallarna i en Azure Container Registry-instans.
  2. Registrera mallarna i FHIR-tjänsten.
  3. Använd dina registrerade mallar i dina API-anrop.
  4. 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-portalen

Felsöka $convert-data

Vanliga frågor och svar om $convert data

Kommentar

FHIR® är ett registrerat varumärke som tillhör HL7 och används med tillstånd av HL7.