Share via


Uw gegevens converteren naar FHIR voor Azure API for FHIR

Het $convert-data aangepaste eindpunt in de FHIR-service is bedoeld voor gegevensconversie van verschillende gegevenstypen naar FHIR. De sjabloon-engine Liquid en de sjablonen van het FHIR Converter-project worden als standaardsjablonen gebruikt. U kunt deze conversiesjablonen zo nodig aanpassen.

Momenteel ondersteunt four het $convert-data aangepaste eindpunt typen gegevensconversie:

Oorspronkelijke gegevensindeling Indeling van doelgegevens
C-CDA FHIR
HL7v2 FHIR
JSON FHIR
FHIR STU3 FHIR R4

Notitie

$convert-data eindpunt kan worden gebruikt als onderdeel binnen een ETL-pijplijn voor de conversie van onbewerkte gezondheidszorggegevens van verouderde indelingen naar FHIR-indelingen. Het is echter geen ETL-pijplijn op zich. We raden u aan om een ETL-engine zoals Logic Apps of Azure Data Factory te gebruiken voor een volledige werkstroom bij het voorbereiden van uw FHIR-gegevens om op te slaan in de FHIR-server. De werkstroom kan bestaan uit: gegevens lezen en opnemen, gegevensvalidatie, $convert-gegevens-API-aanroepen maken, gegevens vooraf/na verwerking, gegevensverrijking en gegevensontdubbeling.

Het eindpunt $convert-data gebruiken

De $convert-data bewerking is geïntegreerd in de FHIR-service en wordt uitgevoerd als onderdeel van de service. Nadat u deze hebt ingeschakeld $convert-data op de server, kunt u API-aanroepen naar de server maken om uw gegevens te converteren naar FHIR: https://<<FHIR service base URL>>/$convert-data

Parameterresource

$convert-data gebruikt een parameterresource in de aanvraagbody, zoals beschreven in de onderstaande tabel. In de aanvraagtekst van de API-aanroep neemt u de volgende parameters op:

Parameternaam Beschrijving Geaccepteerde waarden
inputData Gegevens die moeten worden geconverteerd. Voor Hl7v2: tekenreeks
Voor Ccda: XML
Voor Json: JSON
Voor FHIR STU3: JSON
inputDataType Gegevenstype van invoer. HL7v2, Ccda, Json, Fhir
templateCollectionReference Verwijzing naar een verzameling OCI-installatiekopieënsjabloon op Azure Container Registry (ACR). Het is de afbeelding met Liquid-sjablonen die moeten worden gebruikt voor conversie. Het kan een verwijzing zijn naar de standaardsjablonen of een aangepaste sjabloonafbeelding die is geregistreerd in de FHIR-service. Zie hieronder voor meer informatie over het aanpassen van de sjablonen, het hosten van sjablonen op ACR en het registreren bij de FHIR-service. Voor standaard-/voorbeeldsjablonen :
HL7v2-sjablonen :
microsofthealth/fhirconverter:default
microsofthealth/hl7v2templates:default
C-CDA-sjablonen :
microsofthealth/ccdatemplates:default
JSON-sjablonen :
microsofthealth/jsontemplates:default
FHIR STU3-sjablonen :
microsofthealth/stu3tor4templates:default

Voor aangepaste sjablonen:
<RegistryServer>/<imageName>@<imageDigest>, <RegistryServer>/<imageName>:<imageTag>
rootTemplate De hoofdsjabloon die moet worden gebruikt tijdens het transformeren van de gegevens. Voor 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"

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

Voor JSON:
"ExamplePatient", "Stu3ChargeItem"

FHIR STU3":
STU3-resourcenaam, bijvoorbeeld 'Patiënt', 'Observatie', 'Organisatie'.

Notitie

FHIR STU3-naar-R4-sjablonen zijn 'diff' liquid-sjablonen die alleen toewijzingen bieden van veldverschillen tussen STU3-resources en de bijbehorende equivalente resource in FHIR R4-standaard. Sommige STU3-resources worden hernoemd of verwijderd uit R4. Raadpleeg Resourceverschillen en beperkingen voor STU3-naar-R4-conversie.

Notitie

JSON-sjablonen zijn voorbeeldsjablonen voor gebruik, geen standaardsjablonen die voldoen aan vooraf gedefinieerde JSON-berichttypen. JSON heeft geen gestandaardiseerde berichttypen, in tegenstelling tot HL7v2-berichten of C-CDA-documenten. Daarom bieden we u in plaats van standaardsjablonen enkele voorbeeldsjablonen die u kunt gebruiken als uitgangspunt voor uw eigen aangepaste sjablonen.

Waarschuwing

Standaardsjablonen worden uitgebracht onder MIT-licentie en worden niet ondersteund door Microsoft Ondersteuning.

Standaardsjablonen zijn alleen beschikbaar om u snel aan de slag te helpen. Ze worden mogelijk bijgewerkt wanneer we versies van de Azure API for FHIR bijwerken. Daarom moet u het conversiegedrag controleren en uw eigen kopie van sjablonen hosten op een Azure Container Registry, deze registreren bij de Azure API for FHIR en gebruiken in uw API-aanroepen om consistent gegevensconversiegedrag te hebben in de verschillende versies van Azure API for FHIR.

Voorbeeldaanvraag

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

Voorbeeldreactie

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

Sjablonen aanpassen

U kunt de FHIR Converter-extensie voor Visual Studio Code gebruiken om de sjablonen aan te passen aan uw behoeften. De extensie biedt een interactieve bewerkingservaring en maakt het eenvoudig om door Microsoft gepubliceerde sjablonen en voorbeeldgegevens te downloaden. Raadpleeg de documentatie in de extensie voor meer informatie.

Notitie

De FHIR Converter-extensie voor Visual Studio Code is beschikbaar voor HL7v2-, C-CDA- en JSON Liquid-sjablonen. FHIR STU3 naar R4 Liquid-sjablonen worden momenteel niet ondersteund.

Sjablonen hosten en gebruiken

Het is raadzaam om uw eigen exemplaar van sjablonen op ACR te hosten. Er zijn vier stappen nodig voor het hosten van uw eigen kopie van sjablonen en het gebruik van sjablonen in de bewerking $convert-gegevens:

  1. Push de sjablonen naar uw Azure Container Registry.
  2. Schakel Beheerde identiteit in op uw Azure API for FHIR-exemplaar.
  3. Toegang van de ACR bieden tot de Azure API for FHIR Managed Identity.
  4. Registreer de ACR-servers in de Azure API for FHIR.
  5. Configureer eventueel de ACR-firewall voor beveiligde toegang.

Sjablonen naar Azure Container Registry pushen

Nadat u een ACR-exemplaar hebt gemaakt, kunt u de opdracht FHIR Converter: Push Templates in de FHIR Converter-extensie gebruiken om de aangepaste sjablonen naar de ACR te pushen. U kunt voor dit doel ook het hulpprogramma Template Management CLI gebruiken.

Beheerde identiteit inschakelen in Azure API for FHIR

Blader naar uw exemplaar van de Azure API for FHIR-service in de Azure Portal en selecteer vervolgens de blade Identiteit. Wijzig de status in Aan om beheerde identiteit in te schakelen in Azure API for FHIR.

Schermafbeelding van Beheerde identiteit inschakelen.

Toegang van de ACR bieden tot Azure API for FHIR

  1. Blader naar de blade Toegangsbeheer (IAM).

  2. Selecteer Toevoegen en selecteer vervolgens Roltoewijzing toevoegen om de pagina Roltoewijzing toevoegen te openen.

  3. Wijs de rol AcrPull toe.

    Schermafbeelding van de pagina Roltoewijzing toevoegen.

Zie Ingebouwde Azure-rollen voor meer informatie over het toewijzen van rollen in de Azure Portal.

De ACR-servers registreren in Azure API for FHIR

U kunt de ACR-server registreren met behulp van de Azure Portal of met behulp van CLI.

De ACR-server registreren met behulp van Azure Portal

Blader naar de blade Artefacten onder Gegevenstransformatie in uw Azure API for FHIR-exemplaar. U ziet de lijst met momenteel geregistreerde ACR-servers. Selecteer Toevoegen en selecteer vervolgens uw registerserver in de vervolgkeuzelijst. U moet Opslaan selecteren om de registratie van kracht te laten worden. Het kan enkele minuten duren om de wijziging toe te passen en uw exemplaar opnieuw op te starten.

De ACR-server registreren met cli

U kunt maximaal 20 ACR-servers registreren in de Azure API for FHIR.

Installeer azure Health Data Services CLI vanuit Azure PowerShell indien nodig:

az extension add -n healthcareapis

Registreer de acr-servers bij Azure API for FHIR aan de volgende voorbeelden:

Eén ACR-server registreren
az healthcareapis acr add --login-servers "fhiracr2021.azurecr.io" --resource-group fhir-test --resource-name fhirtest2021
Meerdere ACR-servers registreren
az healthcareapis acr add --login-servers "fhiracr2021.azurecr.io fhiracr2020.azurecr.io" --resource-group fhir-test --resource-name fhirtest2021

ACR-firewall configureren

Selecteer Netwerken van het Azure-opslagaccount in de portal.

 Schermafbeelding van het containerregister.

Selecteer Geselecteerde netwerken.

Geef in de sectie Firewall het IP-adres op in het vak Adresbereik . Voeg IP-bereiken toe om toegang vanaf internet of uw on-premises netwerken toe te staan.

In de onderstaande tabel vindt u het IP-adres voor de Azure-regio waar de Azure API for FHIR-service is ingericht.

Azure-regio Openbaar IP-adres
Australië - oost 20.53.47.210
Brazilië - zuid 191.238.72.227
Canada - midden 20.48.197.161
India - centraal 20.192.47.66
VS - oost 20.62.134.242, 20.62.134.244, 20.62.134.245
VS - oost 2 20.62.60.115, 20.62.60.116, 20.62.60.117
Frankrijk - centraal 51.138.211.19
Duitsland - noord 51.116.60.240
Duitsland - west-centraal 20.52.88.224
Japan - oost 20.191.167.146
Japan - west 20.189.228.225
Korea - centraal 20.194.75.193
VS - noord-centraal 52.162.111.130, 20.51.0.209
Europa - noord 52.146.137.179
Qatar - centraal 20.21.36.225
Zuid-Afrika - noord 102.133.220.199
VS - zuid-centraal 20.65.134.83
Azië - zuidoost 20.195.67.208
Zweden - centraal 51.12.28.100
Zwitserland - noord 51.107.247.97
Verenigd Koninkrijk Zuid 51.143.213.211
Verenigd Koninkrijk West 51.140.210.86
VS - west-centraal 13.71.199.119
Europa -west 20.61.103.243, 20.61.103.244
VS - west 2 20.51.13.80, 20.51.13.84, 20.51.13.85
US - west 3 20.150.245.165

Notitie

De bovenstaande stappen zijn vergelijkbaar met de configuratiestappen die worden beschreven in het document FHIR-gegevens exporteren. Zie Secure Export to Azure Storage (Beveiligde export naar Azure Storage) voor meer informatie

Verifiëren

Maak een aanroep naar de api $convert-data en geef uw sjabloonverwijzing op in de parameter templateCollectionReference.

<RegistryServer>/<imageName>@<imageDigest>

Volgende stappen

In dit artikel hebt u geleerd over gegevensconversie voor Azure API for FHIR. Zie voor meer informatie over gerelateerde GitHub Projects for Azure API for FHIR

FHIR® is een gedeponeerd handelsmerk van HL7 en wordt gebruikt met de toestemming van HL7.