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: string
Pro Ccda: XML
Pro Json: JSON
Pro 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:

  1. Odešlete šablony do Azure Container Registry.
  2. Povolte spravovanou identitu v instanci Azure API for FHIR.
  3. Poskytněte přístup ACR ke spravované identitě Azure API for FHIR.
  4. Zaregistrujte servery ACR v rozhraní Azure API for FHIR.
  5. 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 .

Obrázek obrazovky s možností Povolit spravovanou identitu

Poskytnutí přístupu ACR k rozhraní Azure API for FHIR

  1. Přejděte do okna Řízení přístupu (IAM).

  2. Vyberte Přidat a pak vyberte Přidat přiřazení role a otevřete stránku Přidat přiřazení role.

  3. Přiřaďte roli AcrPull .

    Obrázek obrazovky se stránkou Přidat přiřazení role

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.

 Obrázek obrazovky registru kontejneru

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.