Share via


$convert-gegevens in de FHIR-service

Notitie

In mei 2024 hebben we een zelfstandige FHIR-conversieprogramma-API losgekoppeld van de FHIR-service en verpakt als een Docker-installatiekopie (Container) voor preview. Naast dat u gegevens kunt converteren van de bron van de record naar FHIR R4-bundels, biedt het FHIR-conversieprogramma veel nieuwe mogelijkheden, zoals:

  • Bidirectionele gegevensconversie van bron van record naar FHIR R4-bundels en terug. Met het FHIR-conversieprogramma kunnen bijvoorbeeld gegevens worden geconverteerd van de FHIR R4-indeling naar de HL7v2-indeling.
  • Verbeterde ervaring voor het aanpassen van standaard Liquid-sjablonen .
  • Voorbeelden die laten zien hoe u een ETL-pijplijn (extraheren, transformeren, laden) maakt met Azure Data Factory (ADF).

Zie het GitHub-project van het FHIR-conversieprogramma om de containerinstallatiekopieën van het FHIR-conversieprogramma te implementeren.

Met $convert-data de bewerking in de FHIR-service® kunt u statusgegevens uit verschillende indelingen converteren naar FHIR R4-gegevens . De $convert-data bewerking maakt gebruik van Liquid-sjablonen uit het FHIR Converter-project voor FHIR-gegevensconversie. U kunt deze conversiesjablonen zo nodig aanpassen.

De $convert-data bewerking ondersteunt vier typen gegevensconversie:

  • HL7v2 naar FHIR R4
  • C-CDA naar FHIR R4
  • JSON naar FHIR R4 (bedoeld voor aangepaste conversietoewijzingen)
  • FHIR STU3 naar FHIR R4

Het eindpunt $convert-data gebruiken

Gebruik het $convert-data eindpunt als onderdeel binnen een ETL-pijplijn (extraheren, transformeren en laden) voor de conversie van statusgegevens uit verschillende indelingen (bijvoorbeeld: HL7v2, CCDA, JSON en FHIR STU3) in de FHIR-indeling. Maak een ETL-pijplijn voor een volledige werkstroom wanneer u uw statusgegevens converteert. U wordt aangeraden een ETL-engine te gebruiken op basis van Azure Logic Apps of Azure Data Factory. Een werkstroom kan bijvoorbeeld gegevensopname omvatten, bewerkingen uitvoeren $convert-data , validatie, gegevens vooraf en na verwerking, gegevensverrijking, gegevensontdubbeling en het laden van gegevens voor persistentie in de FHIR-service.

De $convert-data bewerking is geïntegreerd in de FHIR-service als een REST API-actie. U kunt het $convert-data eindpunt als volgt aanroepen:

POST {{fhirurl}}/$convert-data

De statusgegevens voor conversie worden geleverd aan de FHIR-service in de hoofdtekst van de $convert-data aanvraag. Als de aanvraag is geslaagd, retourneert de FHIR-service een FHIR-bundelantwoord met de gegevens die zijn geconverteerd naar FHIR R4.

Parameters

Met een $convert-data bewerkingsoproep worden de statusgegevens voor conversie in een met JSON opgemaakte parameters in de hoofdtekst van de aanvraag verpakt. De parameters worden beschreven in de volgende tabel:

Parameternaam Beschrijving Geaccepteerde waarden
inputData De nettolading van de gegevens die moet worden geconverteerd naar FHIR. Voor Hl7v2: tekenreeks
Voor Ccda: XML
Voor Json: JSON
Voor FHIR STU3: JSON
inputDataType Type gegevensinvoer. Hl7v2, , , CcdaJsonFhir
templateCollectionReference Verwijzing naar een verzameling OCI-installatiekopieënsjabloon in Azure Container Registry. De verwijzing is naar een afbeelding met Liquid-sjablonen die moeten worden gebruikt voor conversie. Deze kan verwijzen naar standaardsjablonen of naar een aangepaste sjablooninstallatiekopieën die zijn geregistreerd in de FHIR-service. De volgende secties hebben betrekking op het aanpassen van de sjablonen, het hosten ervan in Azure Container Registry 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, ConsultNote, DischargeSummary, HistoryandPhysical, OperativeNote, ProcedureNote, ProgressNote, ReferralNote, TransferSummary

Voor JSON:
Voorbeeldpatient, Stu3ChargeItem

For FHIR STU3:
FHIR STU3-resourcenaam (bijvoorbeeld: Patiënt, Observatie, Organisatie)

Overwegingen

  • FHIR STU3 naar FHIR R4-sjablonen zijn Liquid-sjablonen die alleen toewijzingen bieden van veldverschillen tussen een FHIR STU3-resource en de bijbehorende resource in de FHIR R4-specificatie. Sommige FHIR STU3-resources worden hernoemd of verwijderd uit FHIR R4. Zie Resourceverschillen en -beperkingen voor FHIR STU3-conversie naar FHIR R4 voor meer informatie over resourceverschillen en -beperkingen voor FHIR STU3-conversie naar FHIR R4.

  • JSON-sjablonen zijn voorbeeldsjablonen voor gebruik bij het bouwen van uw eigen conversietoewijzingen. Het zijn geen standaardsjablonen die voldoen aan vooraf gedefinieerde berichttypen voor statusgegevens. JSON zelf is niet opgegeven als een indeling voor statusgegevens, in tegenstelling tot HL7v2 of C-CDA. Daarom bieden we in plaats van standaard JSON-sjablonen op te geven, enkele voorbeeld-JSON-sjablonen als uitgangspunt voor uw eigen aangepaste toewijzingen.

Waarschuwing

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

De standaardsjablonen zijn alleen beschikbaar om u te helpen aan de slag te gaan met uw werkstroom voor gegevensconversie. Deze standaardsjablonen zijn niet bedoeld voor productie en kunnen veranderen wanneer Microsoft updates voor de FHIR-service publiceert. Als u een consistent gedrag voor gegevensconversie wilt hebben in verschillende versies van de FHIR-service, moet u het volgende doen:

  1. Host uw eigen exemplaar van de sjablonen in een Azure Container Registry-exemplaar.
  2. Registreer de sjablonen bij de FHIR-service.
  3. Gebruik uw geregistreerde sjablonen in uw API-aanroepen.
  4. Controleer of het conversiegedrag voldoet aan uw vereisten.

Zie Uw eigen sjablonen hosten voor meer informatie over het hosten van uw eigen sjablonen

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

Voorbeeldrespons

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

Het resultaat van FHIR-conversie is een FHIR-bundel als batch.

  • De FHIR-bundel moet overeenkomen met de verwachtingen van de FHIR R4-specificatie - Bundel - FHIR v4.0.1.
  • Als u probeert te valideren op basis van een specifiek profiel, moet u naverwerking uitvoeren door gebruik te maken van de FHIR $validate bewerking.

Volgende stappen

Instellingen voor $convert-gegevens configureren met behulp van Azure Portal

Problemen met $convert-gegevens oplossen

Veelgestelde vragen over $convert gegevens

Notitie

FHIR® is een geregistreerd handelsmerk van HL7 en wordt gebruikt met de machtiging HL7.