Sdílet prostřednictvím


$convert dat ve službě FHIR

Poznámka:

V květnu 2024 jsme vydali samostatné rozhraní API převaděče FHIR oddělené od služby FHIR a zabalené jako image kontejneru (Docker) pro verzi Preview. Kromě toho, že vám umožní převést data ze zdroje záznamu na balíčky FHIR R4, nabízí převaděč FHIR mnoho nových funkcí, například:

  • Obousměrný převod dat ze zdroje záznamu na svazky FHIR R4 a zpět Převaděč FHIR může například převést data z formátu FHIR R4 zpět do formátu HL7v2.
  • Vylepšené prostředí pro přizpůsobení výchozích šablon Liquid
  • Ukázky, které ukazují, jak vytvořit kanál ETL (extrakce, transformace, načtení) pomocí služby Azure Data Factory (ADF).

Pokud chcete implementovat image kontejneru převaděče FHIR, podívejte se na projekt GitHubu převaděče FHIR.

Operace $convert-data ve službě FHIR® umožňuje převést data o stavu z různých formátů na data FHIR R4 . Operace $convert-data používá šablony Liquid z projektu FHIR Converter pro převod dat FHIR. Tyto šablony převodu můžete podle potřeby přizpůsobit.

Operace $convert-data podporuje čtyři typy převodu dat:

  • HL7v2 až FHIR R4
  • C-CDA to FHIR R4
  • JSON to FHIR R4 (určené pro mapování vlastních převodů)
  • FHIR STU3 až FHIR R4

Použití koncového bodu $convert-data

$convert-data Koncový bod použijte jako součást v kanálu ETL (extrakce, transformace a načítání) pro převod dat o stavu z různých formátů (například HL7v2, CCDA, JSON a FHIR STU3) do formátu FHIR. Vytvořte kanál ETL pro úplný pracovní postup při převodu dat o stavu. Doporučujeme použít modul ETL založený na Azure Logic Apps nebo Azure Data Factory. Pracovní postup může například zahrnovat příjem dat, provádění $convert-data operací, ověření, předběžné zpracování dat a následné zpracování, rozšiřování dat, odstranění duplicitních dat a načítání dat za trvalost ve službě FHIR.

Operace $convert-data je integrovaná do služby FHIR jako akce rozhraní REST API. Koncový bod můžete volat $convert-data následujícím způsobem:

POST {{fhirurl}}/$convert-data

Data o stavu pro převod se doručí službě FHIR v těle $convert-data žádosti. Pokud je požadavek úspěšný, vrátí služba FHIR odpověď na sadu FHIR s daty převedenými na FHIR R4.

Parametry

Volání $convert-data operace zabalí data o stavu pro převod uvnitř parametrů ve formátu JSON v textu požadavku. Parametry jsou popsány v následující tabulce:

Název parametru Popis Přípustné hodnoty
inputData Datová část, která se má převést na FHIR. Pro Hl7v2: řetězec
Pro Ccda: XML
Pro Json: JSON
Pro FHIR STU3: JSON
inputDataType Typ vstupu dat. Hl7v2, Ccda, , JsonFhir
templateCollectionReference Odkaz na kolekci šablon imagí OCI ve službě Azure Container Registry Odkaz je na obrázek, který obsahuje šablony Liquid, které se mají použít k převodu. Může odkazovat buď na výchozí šablony, nebo na vlastní image šablony zaregistrované ve službě FHIR. Následující části zahrnují přizpůsobení šablon, jejich hostování ve službě Azure Container Registry a registraci do služby FHIR. Výchozí /ukázkové šablony:
Šablony HL7v2 :
microsofthealth/fhirconverter:default
microsofthealth/hl7v2templates:default
Šablony C-CDA :
microsofthealth/ccdatemplates:default
Šablony JSON :
microsofthealth/jsontemplates:default
Šablony FHIR STU3 :
microsofthealth/stu3tor4templates:default

Pro vlastní šablony:
<RegistryServer>/<imageName>@<imageDigest>, <RegistryServer>/<imageName>:<imageTag>
rootTemplate Kořenová šablona, která se má použít při transformaci dat. Pro 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

Pro C-CDA:
CCD, ConsultationNote, DischargeSummary, HistoryandPhysical, OperativeNote, ProcedureNote, ProgressNote, ReferralNote, TransferSummary

Pro JSON:
ExamplePatient, Stu3ChargeItem

For FHIR STU3:
Název prostředku FHIR STU3 (například: Pacient, Pozorování, Organizace)

Důležité informace

  • Šablony FHIR STU3 až FHIR R4 jsou šablony Liquid, které poskytují mapování rozdílů mezi poli pouze mezi prostředkem FHIR STU3 a jeho ekvivalentním zdrojem ve specifikaci FHIR R4. Některé prostředky FHIR STU3 se přejmenují nebo odeberou z FHIR R4. Další informace o rozdílech a omezeních prostředků pro převod FHIR STU3 na FHIR R4 najdete v tématu Rozdíly prostředků a omezení pro převod FHIR STU3 na FHIR R4.

  • Šablony JSON jsou ukázkové šablony pro použití při vytváření vlastních mapování převodů. Nejsou to výchozí šablony, které dodržují všechny předdefinované typy zpráv o stavu. Samotný JSON není zadaný jako formát dat o stavu, na rozdíl od HL7v2 nebo C-CDA. Místo poskytnutí výchozích šablon JSON proto jako výchozí bod pro vlastní vlastní mapování poskytujeme ukázkové šablony JSON.

Upozorňující

Výchozí šablony se vydávají v rámci licence MIT a Microsoft je nepodporuje.

Výchozí šablony vám pomůžou začít s pracovním postupem převodu dat. Tyto výchozí šablony nejsou určené pro produkční prostředí a můžou se změnit, když Microsoft vydá aktualizace pro službu FHIR. Pokud chcete mít konzistentní chování při převodu dat v různých verzích služby FHIR, musíte udělat toto:

  1. Hostujte vlastní kopii šablon v instanci služby Azure Container Registry.
  2. Zaregistrujte šablony do služby FHIR.
  3. Ve voláních rozhraní API použijte registrované šablony.
  4. Ověřte, že chování při převodu splňuje vaše požadavky.

Další informace o hostování vlastních šablon najdete v tématu Hostování vlastních šablon.

Ukázkový požadavek

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

Ukázková odpověď

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

Výsledek převodu FHIR je sada FHIR jako dávka.

  • Sada FHIR by měla odpovídat očekáváním specifikace FHIR R4 – Sada – FHIR v4.0.1.
  • Pokud se pokoušíte ověřit konkrétní profil, musíte provést zpracování po zpracování pomocí operace $validate FHIR.

Další kroky

Konfigurace nastavení pro $convert-data pomocí webu Azure Portal

Řešení potíží s $convert daty

nejčastější dotazy k datům $convert

Poznámka:

FHIR® je registrovaná ochranná známka HL7 a používá se s povolením HL7.