$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 si můžete přizpůsobit podle potřeby.
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 , , Json Fhir |
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. V důsledku toho místo poskytování výchozích šablon JSON poskytujeme některé ukázkové šablony JSON jako výchozí bod pro vlastní přizpůsobená mapování.
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:
- Hostujte vlastní kopii šablon v instanci služby Azure Container Registry.
- Zaregistrujte šablony do služby FHIR.
- Ve voláních rozhraní API použijte registrované šablony.
- 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
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.