Převod dat na FHIR pro Azure API for FHIR
Vlastní $convert-data
koncový bod ve službě FHIR je určený pro převod dat z různých datových typů na FHIR. Používá modul šablon Liquid a šablony z projektu FHIR Converter jako výchozí šablony. Tyto šablony převodu si můžete podle potřeby přizpůsobit.
$convert-data
V současné době vlastní koncový bod podporuje four
typy převodu dat:
Formát dat původu | Formát cílových dat |
---|---|
C-CDA | FHIR |
HL7v2 | FHIR |
JSON | FHIR |
FHIR STU3 | FHIR R4 |
Poznámka
$convert-data
koncový bod lze použít jako komponentu v rámci kanálu ETL pro převod nezpracovaných zdravotnických dat ze starších formátů do formátu FHIR. Nejedná se však o kanál ETL sám o sobě. Při přípravě dat FHIR na uchování na serveru FHIR doporučujeme použít modul ETL, jako je Logic Apps nebo Azure Data Factory. Pracovní postup může zahrnovat: čtení a příjem dat, ověření dat, volání rozhraní API $convert dat, předběžné a následné zpracování dat, rozšiřování dat a odstranění duplicit dat.
Použití koncového bodu $convert-data
Operace $convert-data
je integrovaná do služby FHIR, aby se spustila jako součást služby. Po povolení $convert-data
na serveru můžete volat rozhraní API na server a převést data na FHIR: https://<<FHIR service base URL>>/$convert-data
Prostředek parametru
$convert-data přebírá prostředek parametru v textu požadavku, jak je popsáno v následující tabulce. V textu žádosti o volání rozhraní API byste zahrnuli následující parametry:
Název parametru | Description | Přípustné hodnoty |
---|---|---|
inputData | Data, která se mají převést. | Pro Hl7v2 : stringPro Ccda : XMLPro Json : JSONPro FHIR STU3 : JSON |
inputDataType | Datový typ vstupu. | HL7v2 , Ccda , Json , Fhir |
templateCollectionReference | Odkaz na kolekci šablon imagí OCI na Azure Container Registry (ACR) Je to obrázek obsahující šablony Liquid, které se mají použít pro převod. Může to být odkaz na výchozí šablony nebo vlastní image šablony, která je zaregistrovaná ve službě FHIR. Níže najdete informace o přizpůsobení šablon, hostování šablon v ACR a registraci ve službě 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" FHIR STU3": Název prostředku STU3, například "Pacient", "Pozorování", "Organizace". |
Poznámka
Šablony FHIR STU3 až R4 jsou "rozdílové" liquid šablony, které poskytují mapování rozdílů polí pouze mezi prostředkem STU3 a jeho ekvivalentním prostředkem ve standardu FHIR R4. Některé prostředky STU3 se přejmenují nebo odeberou z R4. Projděte si informace o rozdílech a omezeních prostředků pro převod STU3 na R4.
Poznámka
Šablony JSON jsou ukázkové šablony pro použití, nikoli "výchozí" šablony, které odpovídají předdefinovaných typů zpráv JSON. JSON nemá žádné standardizované typy zpráv, na rozdíl od zpráv HL7v2 nebo dokumentů C-CDA. Proto vám místo výchozích šablon poskytujeme ukázkové šablony, které můžete použít jako úvodní příručku pro vlastní přizpůsobené šablony.
Upozornění
Výchozí šablony jsou vydávány v rámci licence MIT a podpora Microsoftu je nepodporuje.
Výchozí šablony jsou k dispozici jenom proto, aby vám pomohly rychle začít. Můžou se aktualizovat, když aktualizujeme verze rozhraní Azure API for FHIR. Proto musíte ověřit chování převodu a hostovat vlastní kopii šablon na Azure Container Registry, zaregistrovat je do azure API for FHIR a použít ve voláních rozhraní API, abyste měli konzistentní chování při převodu dat v různých verzích rozhraní Azure API for FHIR.
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": "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"
}
}
]
}
Přizpůsobení šablon
K přizpůsobení šablon podle vašich potřeb můžete použít rozšíření FHIR Converter pro Visual Studio Code. Toto rozšíření poskytuje interaktivní prostředí pro úpravy a usnadňuje stahování šablon a ukázkových dat publikovaných Microsoftem. Další podrobnosti najdete v dokumentaci v rozšíření.
Poznámka
Rozšíření FHIR Converter pro Visual Studio Code je k dispozici pro šablony HL7v2, C-CDA a JSON Liquid. Šablony FHIR STU3 až R4 Liquid se v současné době nepodporují.
Hostování a používání šablon
Doporučuje se hostovat vlastní kopii šablon v ACR. Hostování vlastní kopie šablon a jejich použití v operaci $convert-data zahrnuje čtyři kroky:
- Odešlete šablony do Azure Container Registry.
- Povolte spravovanou identitu v instanci Azure API for FHIR.
- Poskytněte přístup ACR ke spravované identitě Azure API for FHIR.
- Zaregistrujte servery ACR v rozhraní Azure API for FHIR.
- Volitelně můžete nakonfigurovat bránu firewall ACR pro zabezpečený přístup.
Nabízení šablon do Azure Container Registry
Po vytvoření instance ACR můžete pomocí příkazu FHIR Converter: Push Templates v rozšíření FHIR Converter odeslat přizpůsobené šablony do ACR. Případně můžete k tomuto účelu použít nástroj rozhraní příkazového řádku pro správu šablon .
Povolení spravované identity v rozhraní Azure API for FHIR
V Azure Portal přejděte ke své instanci služby Azure API for FHIR a pak vyberte okno Identita. Pokud chcete povolit spravovanou identitu v rozhraní Azure API for FHIR, změňte stav na Zapnuto .
Poskytnutí přístupu ACR k rozhraní Azure API for FHIR
Přejděte do okna Řízení přístupu (IAM).
Vyberte Přidat a pak vyberte Přidat přiřazení role a otevřete stránku Přidat přiřazení role.
Přiřaďte roli AcrPull .
Další informace o přiřazování rolí v Azure Portal najdete v tématu Předdefinované role Azure.
Registrace serverů ACR v rozhraní Azure API for FHIR
Server ACR můžete zaregistrovat pomocí Azure Portal nebo pomocí rozhraní příkazového řádku.
Registrace serveru ACR pomocí Azure Portal
V části Transformace dat v instanci Azure API for FHIR přejděte do okna Artefakty. Zobrazí se seznam aktuálně registrovaných serverů ACR. Vyberte Přidat a pak v rozevírací nabídce vyberte svůj registrový server. Aby se registrace projevila, budete muset vybrat Uložit . Použití změny a restartování instance může trvat několik minut.
Registrace serveru ACR pomocí rozhraní příkazového řádku
V rozhraní Azure API for FHIR můžete zaregistrovat až 20 serverů ACR.
V případě potřeby nainstalujte rozhraní příkazového řádku služby Azure Health Data Services z Azure PowerShell:
az extension add -n healthcareapis
Podle následujících příkladů zaregistrujte servery acr v rozhraní Azure API for FHIR:
Registrace jednoho serveru ACR
az healthcareapis acr add --login-servers "fhiracr2021.azurecr.io" --resource-group fhir-test --resource-name fhirtest2021
Registrace více serverů ACR
az healthcareapis acr add --login-servers "fhiracr2021.azurecr.io fhiracr2020.azurecr.io" --resource-group fhir-test --resource-name fhirtest2021
Konfigurace brány firewall ACR
Na portálu vyberte Sítě účtu úložiště Azure.
Vyberte Vybrané sítě.
V části Brána firewall zadejte IP adresu do pole Rozsah adres . Přidejte rozsahy IP adres, abyste povolili přístup z internetu nebo místních sítí.
V následující tabulce najdete IP adresu pro oblast Azure, ve které je zřízená služba Azure API for FHIR.
Oblast Azure | Veřejná IP adresa |
---|---|
Austrálie – východ | 20.53.47.210 |
Brazílie – jih | 191.238.72.227 |
Střední Kanada | 20.48.197.161 |
Indie – střed | 20.192.47.66 |
East US | 20.62.134.242, 20.62.134.244, 20.62.134.245 |
USA – východ 2 | 20.62.60.115, 20.62.60.116, 20.62.60.117 |
Francie – střed | 51.138.211.19 |
Německo – sever | 51.116.60.240 |
Německo – středozápad | 20.52.88.224 |
Japonsko – východ | 20.191.167.146 |
Japonsko – západ | 20.189.228.225 |
Jižní Korea – střed | 20.194.75.193 |
USA – středosever | 52.162.111.130, 20.51.0.209 |
Severní Evropa | 52.146.137.179 |
Katar – střed | 20.21.36.225 |
Jižní Afrika – sever | 102.133.220.199 |
Středojižní USA | 20.65.134.83 |
Southeast Asia | 20.195.67.208 |
Švédsko – střed | 51.12.28.100 |
Švýcarsko – sever | 51.107.247.97 |
Spojené království – jih | 51.143.213.211 |
Spojené království – západ | 51.140.210.86 |
USA – středozápad | 13.71.199.119 |
West Europe | 20.61.103.243, 20.61.103.244 |
Západní USA 2 | 20.51.13.80, 20.51.13.84, 20.51.13.85 |
USA – západ 3 | 20.150.245.165 |
Poznámka
Výše uvedené kroky se podobají krokům konfigurace popsaným v dokumentu Jak exportovat data FHIR. Další informace najdete v tématu Zabezpečený export do služby Azure Storage.
Ověření
Proveďte volání rozhraní API $convert-data s určením odkazu na šablonu v parametru templateCollectionReference.
<RegistryServer>/<imageName>@<imageDigest>
Další kroky
V tomto článku jste se dozvěděli o převodu dat pro Azure API for FHIR. Další informace o souvisejících projektech GitHubu pro Azure API for FHIR najdete v tématu
FHIR® je registrovaná ochranná známka hl7 a používá se se svolením HL7.