Sdílet prostřednictvím


Převod dat na FHIR pro rozhraní Azure API for FHIR

Důležité

Rozhraní Azure API for FHIR bude vyřazeno 30. září 2026. Postupujte podle strategií migrace a do tohoto data přejděte na službu FHIR® služby Azure Health Data Services. Vzhledem k vyřazení rozhraní Azure API for FHIR nebudou nová nasazení od 1. dubna 2025 povolena. Služba FHIR služby Azure Health Data Services je vyvinutá verze rozhraní Azure API for FHIR, která zákazníkům umožňuje spravovat služby FHIR, DICOM a MedTech s integrací do jiných služeb Azure.

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 přizpůsobit podle potřeby.

$convert-data Vlastní koncový bod v současné době podporuje čtyři typy převodu dat:

Formát počátečních dat Formát cílových dat
C-CDA FHIR
HL7v2 FHIR
JSON FHIR
FHIR STU3 FHIR R4

Poznámka:

Koncový $convert-data bod lze použít jako součást v rámci kanálu exportu, transformace a načítání (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. Doporučujeme použít modul ETL, jako je Logic Apps nebo Azure Data Factory, k úplnému pracovnímu postupu při přípravě dat FHIR na zachování dat FHIR na server FHIR. Pracovní postup může zahrnovat: čtení a příjem dat, ověření dat, volání $convert-data rozhraní API, předběžné zpracování dat nebo následné zpracování, 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, která se má spustit jako součást služby. Po povolení $convert-data na serveru můžete na server volat rozhraní API za účelem převodu dat na FHIR pomocí https://<<FHIR service base URL>>/$convert-data.

Prostředek parametru

$convert-datapř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 Popis Přípustné hodnoty
inputData Data, která se mají převést. Pro Hl7v2: řetězec
Pro Ccda: XML
Pro Json: JSON
Pro FHIR STU3: JSON
inputDataType Datový typ vstupu. HL7v2, Ccda, , JsonFhir
templateCollectionReference Odkaz na kolekci šablon imagí OCI ve službě Azure Container Registry (ACR) Je to obrázek obsahující šablony Liquid, které se mají použít k převodu. Může to být odkaz buď na výchozí šablony, nebo na vlastní image šablony zaregistrovanou ve službě FHIR. Informace o přizpůsobení šablon, hostování šablon v ACR a registraci do služby FHIR najdete v následujícím článku. 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":
Zdroj STU3, například Název, Pacient, Pozorování, Organizace.

Poznámka:

Šablony FHIR STU3 až R4 jsou "rozdílové" šablony Liquid, které poskytují mapování rozdílů v polích 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 rozdíly mezi prostředky a omezení převodu STU3 na R4.

Poznámka:

Šablony JSON jsou ukázkové šablony pro použití, nikoli výchozí šablony, které dodržují všechny předdefinované typy zpráv JSON. JSON nemá standardizované typy zpráv, na rozdíl od zpráv HL7v2 nebo dokumentů C-CDA. Místo výchozích šablon vám poskytneme několik ukázkových šablon, které můžete použít jako úvodní příručku pro vlastní přizpůsobené šablony.

Upozorňující

Výchozí šablony jsou vydány v rámci licence MIT a nejsou podporovány podpora Microsoftu.

Výchozí šablony jsou k dispozici pouze pro začátek. Můžou se aktualizovat, když aktualizujeme verze rozhraní Azure API for FHIR. Musíte ověřit chování při převodu a hostovat vlastní kopii šablon ve službě Azure Container Registry, zaregistrovat je do rozhraní Azure API for FHIR, abyste je mohli použít ve voláních rozhraní API. To je nezbytné pro konzistentní chování při převodu dat napříč různými verzemi 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á odezva

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

Pomocí rozšíření FHIR Converter pro Visual Studio Code můžete přizpůsobit šablony podle svých potřeb. Toto rozšíření poskytuje interaktivní prostředí pro úpravy a usnadňuje stahování šablon publikovaných Microsoftem a ukázkových dat. 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čujeme hostovat vlastní kopii šablon v ACR. Při hostování vlastní kopie šablon a použití šablon v $convert-data operaci se používají čtyři kroky:

  1. Nasdílejte šablony do služby Azure Container Registry.
  2. Povolte spravovanou identitu ve vaší instanci Azure API for FHIR.
  3. Poskytnutí přístupu ACR k 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é šablony do služby 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. Alternativně můžete použít nástroj Rozhraní příkazového řádku pro správu šablon.

Povolení spravované identity ve službě Azure API for FHIR

Na webu Azure Portal přejděte ke své instanci služby Azure API for FHIR a pak vyberte okno Identita. Změňte stav na Zapnuto a povolte spravovanou identitu v rozhraní Azure API for FHIR.

Snímek 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 potom výběrem možnosti Přidat přiřazení role 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í na webu Azure Portal najdete v tématu Předdefinované role Azure.

Registrace serverů ACR ve službě Azure API for FHIR

Server ACR můžete zaregistrovat pomocí webu Azure Portal nebo pomocí rozhraní příkazového řádku.

Registrace serveru ACR pomocí webu 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. V rozevírací nabídce vyberte Přidat a pak vyberte server registru. Aby se registrace projevila, musíte 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 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 PowerShellu:

az extension add -n healthcareapis

Pomocí následujících příkladů zaregistrujte servery acr do 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 několika 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ě pro účet ú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 pro povolení přístupu z internetu nebo z místních sítí.

V následující tabulce najdete IP adresu oblasti 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
USA – východ 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
Severní střed USA 52.162.111.130, 20.51.0.209
Severní Evropa 52.146.137.179
Střední Katar 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
Velká Británie – jih 51.143.213.211
Velká Británie – západ 51.140.210.86
Středozápad USA 13.71.199.119
Západní Evropa 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:

Předchozí kroky jsou podobné krokům konfigurace popsaným v dokumentu Postup exportu dat FHIR. Další informace najdete v tématu Zabezpečený export do služby Azure Storage.

Ověření

$convert-data Volání rozhraní API určující odkaz na šablonu v parametru templateCollectionReference

<RegistryServer>/<imageName>@<imageDigest>

Další kroky

V tomto článku jste se dozvěděli o převodu dat pro rozhraní Azure API for FHIR. Další informace o souvisejících projektech GitHubu pro Azure API for FHIR najdete v tématu .

Poznámka:

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