Toewijzingen van de Gegevensintegratietoolkit: voorbeelden en gebruiksscenario′s
De gegevensintegratietoolkit biedt een uitgebreide collectie aan standaardkaarten die zijn gebouwd om te voldoen aan de HL7 FHIR-specificatie.
De standaardentiteitstoewijzingen en standaardkenmerktoewijzingen worden geïmplementeerd als Dataverse-records en zijn zeer configureerbaar om te voldoen aan uw oplossingsvereisten. Dit artikel bevat enkele voorbeelden van het gebruik van deze toewijzingen.
Voor informatie over het configureren van deze toewijzingen raadpleegt u Entiteitstoewijzingen configureren en Kenmerktoewijzingen configureren. De Dataverse API's voor gezondheidszorg, het terugschrijfproces en de virtuele tabellen met gezondheidsgegevens gebruiken dezelfde geconfigureerde toewijzingen.
Voorbeelden van entiteitstoewijzingen
In dit gedeelte vindt u enkele voorbeelden van het gebruik van entiteitstoewijzingen.
Voorbeeld 1: zorgcontact
Wanneer u een zorgcontact toevoegt aan het EPD (elektronische gezondheidsdossier) van een patiënt, biedt de entiteitstoewijzing de transformatieregels die de Dataverse API's voor gezondheidszorg nodig hebben om FHIR om te zetten in Dataverse -records.
De entiteitstoewijzing msemr_encounter ↔ Zorgcontact verbindt de Azure FHIR-resource Zorgcontact met de Dataverse-entiteit msemr_encounter.
Gegevenswijzigingen in de resource Zorgcontact in het systeem van patiëntendossiers van de klant activeren een nieuw bericht naar de Dataverse Healthcare APIs. Als de Dataverse Healthcare API Azure Logic App bijvoorbeeld wordt geïmplementeerd met behulp van de Pipelinesjabloon voor gezondsheidsgegevens, wordt er een nieuwe FHIR-bundel naar de blob-opslag gepost. De logische app verwerkt deze bundel vervolgens en post deze naar Dataverse via de Dataverse Healthcare APIs.
De Dataverse Healthcare API's gebruiken de entiteitstoewijzing msemr_encounter ↔ Zorgcontact . De gerelateerde kenmerktoewijzingen transformeren de inkomende FHIR-resources in de hun vertegenwoordigende records in Dataverse.
Voorbeeld 2: patiënt bijwerken in Dataverse en terugschrijven
In dit voorbeeld wordt een scenario besproken waarin u een patiëntendossier bijwerkt in Dataverse en wilt dat die wijziging wordt teruggeschreven naar uw elektronische medische systeem (EPD) via de Azure Health Data Services.
De entiteitstoewijzing contact ↔ Patiënt van de gegevensintegratietoolkit relateert de Azure FHIR-resource Patiënt aan de Dataverse-entiteit Contact.
Een gegevenswijziging in een patiëntrecord in Dataverse activeert de Dataverse-invoegtoepassing voor terugschrijven.
Deze Dataverse-invoegtoepassing stuurt een bericht over de gewijzigde record naar het uitgaande FHIR-eindpunt dat is geconfigureerd in de sectie voor terugschrijven van de integratie-instellingen.
In dit voorbeeld is het FHIR-eindpunt geconfigureerd om rechtstreeks naar Azure Health Data Services te posten.
U kunt ook een relais-toepassing configureren, zoals een Azure Logic App of een Azure-functie die het bericht zowel naar uw EMD-service als Azure Health Data Services kan posten.
Notitie
We raden u aan om patiënt-, arts-, beheerde klinische gegevens en klinische verwijzingsgegevens gesynchroniseerd te houden met Microsoft Cloud for Healthcare.
Ga voor meer informatie over het configureren van terugschrijven naar Overzicht van terugschrijven voor Dataverse Healthcare APIs.
Voorbeelden van kenmerktoewijzing
In dit gedeelte vindt u voorbeelden voor het configureren van verschillende typen kenmerktoewijzingen die u kunt tegenkomen.
Voorbeeld 1: eenvoudige tekenreeks bestaand veld
In het volgende voorbeeld wordt de achternaam van een patiënt van FHIR opgehaald om naar Dataverse te sturen of wordt de waarde van het kenmerk lastname
bijgewerkt van Dataverse naar het family
-element in FHIR.
`{"s": "$.name[?(@.use=='usual')].family"}`
Deze toewijzing gaat ervan uit dat de name
-waarde altijd bestaat en kan worden gevonden via het JSONPath dat is gedefinieerd op de FHIR-resource.
Voorbeeld 2: bestaand of niet-bestaand veld
Het volgende voorbeeld zal het veld city
van address[0]
ophalen of bijwerken, als het bestaat. Als dit een update was van Dataverse en de waarde voor address[0]
niet bestaat in FHIR, maakt het een bovenliggend address[0]
-element en stelt het de waarde city
van Dataverse in. Het maakt dan ook tijdelijke aanduidingen of standaardwaarden voor andere kenmerken van Dataverse die mogelijk ontbreken in FHIR.
{
"s": "$.address[0].city",
"c": {
"p": "address[0]",
"a": [
{
"line": ["x"]
},
{
"city": "%"
},
{
"state": "x"
},
{
"postalCode": "x"
},
{
"country": "x"
}
]
}
}
Notitie
Voor tekenreekswaarden is de waardenset de letterlijke tekenreeks die is gedefinieerd in de kenmerkenreeks, tenzij het een van de speciale tekenreeksen is. Deze speciale tekenreeksen worden als volgt vervangen door waarden:
- % - Kopieer de waarde van het Dataverse-kenmerk.
- %% - Kopieer het type van de FHIR-verwijzingsresource (bijvoorbeeld Patiënt).
- %%% - Kopieer het type en de resource-id van de FHIR-verwijzingsresource (bijvoorbeeld Patiënt/1234).
Voorbeeld 3: naam van de patiënt
Pas de regels uit de vorige sectie toe en gebruik het volgende voorbeeld om de naam van de patiënt bij te werken.
{"s": "$.name[?(@use=='official')].given[0]", "c": {"p": "name[0]", "a": [{"use": "official"}, {"family": "x"}, {"given": ["%"]}]} }
- "s" = extraheert de
given name
-code van een FHIR-patiënt om het in Dataverse te laden - "c" = Maakt een
given name
van de patiënt wanneer deze niet bestaat in FHIR - "p" = bovenliggend object van het item dat moet worden gemaakt
- "a" = matrix van parameters om te gebruiken bij het maken van "c"
Notitie
De haakjes {}
bevatten de expressie, terwijl de komma's ","
de expressiesegmenten scheiden. De matrix-haakjes []
geven aan dat de expressie twee of meer volledige segmenten bevat.
"s": "$.name[?(@use=='official')].given[0]"
"c": {"p": "name[0]", "a": [{"use": "official"}, {"family": "x"}, {"given": ["%"]}]
Voorbeeld 4: Codeable concept
FHIR-codeable concepten van FHIR met Dataverse matchen, is hetzelfde als het matchen van JSON-tekenreekselementen. Het enige verschil is dat er een extra niveau nodig is om tot in de details te komen.
- De URL van de extensie is
http://hl7.org/fhir/StructureDefinition/patient-religion
- We willen toegang tot het
valueCodeableConcept
-element binnen dit extensie-item. - We willen het eerste item in de coderingsmatrix.
- Wij willen het scherm zo inrichten dat het de informatie in FHIR laat zien die aan een codeersysteem gekoppeld is.
FHIR-resource
JSONPath
{"s": "$.extension[?(@.url=='http://hl7.org/fhir/StructureDefinition/patient-religion')].valueCodeableConcept.coding[0].display"}
Voorbeeld 5: toewijzingstekstinformatie
- De URL van de extensie is
http://hl7.org/fhir/StructureDefinition/patient-religion
- We willen toegang tot het
valueCodeableConcept
-element binnen dit extensie-item. - We willen de tekst toewijzen om de informatie weer te geven die door Epic aan FHIR is gegeven.
FHIR-resource
JSONPath
{"s": "$.extension[?(@.url=='http://hl7.org/fhir/StructureDefinition/patient-religion')].valueCodeableConcept.coding[0].text"}
Voorbeeld 6: toegewezen waarde
Voor een ander voorbeeld kunt u een kenmerktoewijzing voor geslacht maken. In Dataverse is de kenmerknaam geslachtscode.
Selecteer in de entiteitstoewijzing voor Contact de optie + Nieuwe kenmerktoewijzing van de updateservice.
Omdat ′geslacht′ een keuzelijst is, is het actietype Toegewezen waarde.
Geslacht in Dataverse is een keuzelijst. Omdat het ook een keuzelijst is in FHIR, wijst u de FHIR-keuzelijstwaarden toe aan de Dataverse-keuzelijstwaarden.
Selecteer FHIR-elementtoewijzing om de FHIR-elementtoewijzing voor ′geslacht′ toe te voegen. In dit voorbeeld is het een JSON-zoekreeks waarmee u naar het FHIR-element geslacht kunt gaan.
Selecteer Opslaan.
Op de achtergrond bepaalt het systeem dat het geslacht een optieset is. U moet meerdere waarden toewijzen voor deze optieset.
Voer onder Waardetoewijzingen de Azure FHIR-waarde in die u wilt toewijzen aan de optieset. Voer bijvoorbeeld mannelijk voor de optie Man in (Dataverse-waarde = 1), en voer vrouwelijk voor de optie Vrouw in (Dataverse-waarde = 2).
Selecteer Opslaan.
Voorbeeld 7: standaardwaarde instellen
Stel in dit voorbeeld een standaardwaarde in voor waardetoewijzingen.
Selecteer in de entiteitstoewijzing voor Contact de optie + Nieuwe kenmerktoewijzing van de updateservice.
Selecteer voor Kenmerknaam de optie Contacttype (msemr_contacttype).
Contacttype in Dataverse is een optieset. Omdat u patiënten binnenhaalt, wilt u altijd dat het type contactpersoon de standaardwaarde is.
Voor Actietype selecteert u Standaardwaarde instellen.
Een FHIR-elementtoewijzing is niet nodig omdat u alleen de standaardwaarde instelt. In dit geval heeft FHIR geen concept van het type contactpersoon, maar Dataverse heeft dit nodig.
Selecteer Opslaan.
Selecteer onder Waardetoewijzingen de eerste rij en selecteer Bewerken.
Selecteer in Kenmerkwaardetoewijzing de optie Patiënt voor het veld Label van OptionSet.
In het veld Waarde wordt de standaardwaarde voor het type contactpersoon weergegeven. De Dataverse Healthcare API vult automatisch de Dataverse-waarde in.
Kies Opslaan en sluiten.
Onder Waardetoewijzingen wordt de Dataverse-standaardwaarde ingesteld. Telkens wanneer de Dataverse Healthcare API een patiënt aanmaakt, wordt het veld Contacttype ingesteld op Patiënt.
Voorbeeld 8: opzoeken
De volgende stappen geven een voorbeeld van het toewijzen van een Dataverse-kenmerk van het type Zoekopdracht.
Selecteer in de entiteitstoewijzing voor Contact de optie + Nieuwe kenmerktoewijzing van de updateservice.
Selecteer voor Kenmerknaam de optie Hoofdbehandelaar (msemr_generalpractitioner).
Het Kenmerktype van het kenmerk Hoofdbehandelaar is Zoekopdracht (een opzoekbewerking naar de entiteit Contactpersoon).
Voor Actietype is het enige actietype FK-verwijzing (verwijzing naar externe sleutel). U moet aan de Dataverse Healthcare API aangeven hoe deze zoekopdracht moet worden ingesteld.
Voeg de waarde van FHIR-elementtoewijzing toe voor hoofdbehandelaar.
Selecteer Behandelaar voor FHIR-resourceverwijzing.
In Dataverse is de entiteitverwijzing voor hoofdbehandelaar de Contactpersoon. De FHIR-resourceverwijzing is Behandelaar.
Selecteer Opslaan.
Als een Dataverse-kenmerk van het type zoekopdracht is, kunt u alleen een toewijzing maken die een verwijzing naar een externe sleutel (FK) is. Om de FK-verwijzing te configureren, geeft u de FHIR-resource op waaraan u de doelentiteit toewijst.
Voorbeeld 9: Codeable concept toewijzen
De volgende procedure is een voorbeeld van het toewijzen van een Dataverse-kenmerk van het type codeable concept.
Selecteer onder Toewijzingsinstellingen de optie Entiteitstoewijzingen.
Selecteer onder Entiteitsnaam de optie msemr_observation.
Selecteer in de verwante kenmerktoewijzingen de optie + Nieuwe kenmerktoewijzing van de updateservice.
Selecteer voor Kenmerknaam de optie Code voor de noemer van de ratio (msemr_valueratiodenominatorcode).
Het Kenmerktype van dit kenmerk is Zoekopdracht. Het is een zoekopdrachtbewerking naar de entiteit
msemr_codeableconcept
, wat een speciale entiteitstype in het gegevensmodel is. Dit entiteitstype wordt anders behandeld dan andere entiteiten.Voor Actietype is het enige actietype Codeable Concept.
Voeg de waarde van de FHIR-elementtoewijzing toe voor het kenmerk.
Selecteer Code voor hoeveelheidseenheid voor Type codeable concept.
Een type codeable concept is vergelijkbaar met een grote optieset en elke waarde in de optieset heeft een type. Het staat u toe om optiesets te groeperen en te filteren. Merk op dat het veld Waarde van type codeable concept automatisch wordt ingevuld wanneer u Code voor hoeveelheidseenheid selecteert als het type codeable concept. U hoefde de optiesetwaarde niet te weten voor Code voor hoeveelheidseenheid.
Selecteer Opslaan.
Wanneer Dataverse een observatie maakt, moet het het codeable concept instellen. Dataverse vindt dat codeable concept door de tabellen te doorzoeken naar alle codeable concepten met het type Code voor hoeveelheidseenheid dat overeenkomt met de codewaarde. Een codeable concept bestaat uit een tekst, een code en het type. FHIR kent de code en de tekst, maar weet niet uit welk type codeable concept dit moet worden opgehaald.
Huidige beperkingen
- Posities voor het invoegen of maken van dynamische matrices kunnen niet absoluut zijn. De selectie is dynamisch met behulp van JSONPath.
- Waardegegevens moeten correct geformatteerd zijn in JSON voor velden als bestemmingskenmerk UTF-8-tekenreeksen, JSON UTC-datums en booleans.
Extra
U kunt meerdere tools gebruiken om JSONPath-tekenreeksen te testen, waaronder de volgende toepassingen:
Ga voor meer informatie over het gebruik van deze tools naar JSONPath-documentatie.