Tietojen integroinnin työkalupaketin yhdistämismääritykset: esimerkkejä ja käyttötapauksia
Tietojen integroinnin työkalupaketti on laaja kokoelma oletusyhdistämismäärityksiä, jotka on muodostettu noudattamaan HL7 FHIR -määritystä.
Oletusarvoiset entiteettien yhdistämismääritykset ja määritteiden yhdistämismääritykset otetaan käyttöön Dataverse-tietueina, ja ne ovat laajasti määritettävissä ratkaisujen vaatimusten täyttämisen mahdollistamista varten. Tässä artikkelissa on joitakin esimerkkejä, jotka liittyvät näiden yhdistämismääritysten käyttöön.
Tietoja näiden yhdistämismääritysten määrittämiseen: Entiteettien yhdistämismääritysten määrittäminen ja Määritteiden yhdistämismääritysten määrittäminen. Dataverse Healthcare API -ohjelmointirajapinnat, takaisinkirjoitusprosessi ja virtuaaliset terveystietotaulukot käyttävät samoja määritettyjä yhdistämismäärityksiä.
Entiteetin yhdistämismääritysesimerkkejä
Tässä osassa luettelo entiteettien yhdistämismäärityksiä käyttävistä esimerkeistä
Esimerkki 1: potilaan kohtaaminen
Kun lisäät potilaskohtaamiseen potilaan EHR:ään (sähköisiin terveysasiakirjoihin), entiteetin yhdistämismääritys sisältää muunnossäännöt, jotka Dataverse Healthcare API tarvitsee FHIR:n muuntamiseksi Dataverse-tietueen muotoon.
Entiteettikartta msemr_encounter ↔ Kohtaaminen yhdistää Azure FHIR -resurssin Kohtaaminen Dataverse-entiteettiin msemr_encounter.
Asiakkaan terveystietuejärjestelmän Kohtaaminen-resurssin tietojen muutokset käynnistävät uuden sanoman Dataverse Healthcare API -ohjelmointirajapintoihin. Jos esimerkiksi Dataverse Healthcare API:n Azure-logiikkasovellus otetaan käyttöön käyttäen Terveydenhoitotietojen putkimallia, uusi FHIR-paketti lähetetään blob-tallennustilaan. Logiikkasovellus käsittelee sitten paketin ja lähettää sen Dataverseen Dataverse Healthcare API -ohjelmointirajapintojen kautta.
Dataverse Healthcare API -ohjelmointirajapinnat käyttävät entiteetin yhdistämismääritystä msemr_encounter ↔ Kohtaaminen Liittyvien määritteiden tietokartat muuntavat saapuvat FHIR-resurssit edustajatietueisiinsa Dataversessa.
Esimerkki 2: potilaan päivitys Dataversessa ja takaisinkirjoitus
Tässä esimerkissä käytetään skenaariota, jossa päivität potilastietueen Dataversessä ja haluat, että muutos kirjoitetaan takaisin EMR:ään (sähköisiin potilasasiakirjoihin) Azure Health -tietopalvelujen kautta:
Tietojen integroinnin työkalupaketin entiteettikartta contact ↔ Potilas liittää Azure FHIR -resurssin Potilas Dataverse-entiteettiin Yhteyshenkilö.
Potilastietueen tietojen muutos Dataversessä käynnistää Dataversen takaisinkirjoituksen laajennuksen.
Tämä Dataverse -laajennus lähettää muuttuneesta tietueesta viestin integrointiasetusten takaisinkirjoitusosassa määritetylle lähtevälle FHIR-päätepisteelle.
Tässä esimerkissä FHIR-päätepiste on määritetty viesti suoraan Azure Health -tietopalveluihin.
Lisäksi voidaan määrittää välityssovellus, kuten Azuren logiikkasovellus tai Azure-funktio, joka voi lähettää sanoman sekä EMR-palveluun että Azure Health -tietopalveluihin.
Huomautus
Suosittelemme, että synkronoit potilas-, lääkäri- ja hallitut kliiniset tiedot sekä viitatut kliiniset tiedot Microsoft Cloud for Healthcareen.
Lisätietoja takaisinkirjoituksen määrittämisestä on kohdassa Dataverse Healthcare API -ohjelmointirajapintojen takaisinkirjoituksen yleiskatsaus.
Määritteen yhdistämismääritysesimerkkejä
Tässä osassa on esimerkkejä erilaisten määritteiden yhdistämismääritysten määrittämisestä.
Esimerkki 1: Yksinkertaisen merkkijonon olemassa oleva kenttä
Seuraava esimerkki noutaisi potilaan sukunimen arvon FHIR-järjestelmästä Dataverseen lähetettäväksi tai päivittäisi lastname
-määritteen Dataversestä FHIR-järjestelmän family
-elementtiin.
`{"s": "$.name[?(@.use=='usual')].family"}`
Tässä yhdistämismäärityksessä oletetaan, että arvo name
on aina olemassa ja että se voidaan löytää FHIR-resurssissa määritetyn JSONPath:n kautta.
Esimerkki 2: Olemassa oleva tai puuttuva kenttä
Seuraava esimerkki noutaisi tai päivittäisi address[0]
-määritteen city
-kentän, jos se on olemassa. Jos kyseessä oli päivitys Dataversestä eikä address[0]
-elementtiä ollut olemassa FHIR-järjestelmässä, päivitys loisi address[0]
-päämääritteen ja määrittäisi city
-arvon Dataversestä. Se luo myös paikkamerkki- tai oletusarvot muille Dataversestä saaduille määritteille, jotka puuttuisivat FHIR-järjestelmästä.
{
"s": "$.address[0].city",
"c": {
"p": "address[0]",
"a": [
{
"line": ["x"]
},
{
"city": "%"
},
{
"state": "x"
},
{
"postalCode": "x"
},
{
"country": "x"
}
]
}
}
Huomautus
Merkkijonoarvoille määritetty arvojoukko on määritetaulukossa määritetty literaalimerkkijono, ellei se ole jokin erikoismerkkijonoista. Nämä erikoismerkkijonot korvataan arvoilla seuraavalla tavalla:
- % – Kopioi Dataverse-määritteen arvo.
- %% – Kopioi FHIR-viiteresurssin tyyppi (esimerkiksi Potilas).
- %%% – Kopioi FHIR-viiteresurssin tyyppi ja resurssitunnus (esimerkiksi Potilas/1234).
Esimerkki 3: Potilaan nimi
Potilaan nimi voidaan päivittää käyttämällä edellisessä osassa olevia sääntöjä ja seuraavaa esimerkkiä.
{"s": "$.name[?(@use=='official')].given[0]", "c": {"p": "name[0]", "a": [{"use": "official"}, {"family": "x"}, {"given": ["%"]}]} }
- "s" = nouda FHIR-potilaan
given name
ladattavaksi Dataverseen - "c" = luo potilaan arvon
given name
, kun sitä ei ole FHIR-järjestelmässä - "p" = luotavan merkinnän pääobjekti
- "a" = "c"-arvon luomisessa käytettävä parametrimatriisi
Muistiinpano
Aaltosulkeet {}
sisältävät lausekkeen ja pilkut ","
erottavat lausekkeen segmentit toisistaan. Sen sijaan hakasulkeet []
tarkoittavat, että lauseke sisältää vähintään kaksi täydellistä segmenttiä.
"s": "$.name[?(@use=='official')].given[0]"
"c": {"p": "name[0]", "a": [{"use": "official"}, {"family": "x"}, {"given": ["%"]}]
Esimerkki 4: Codeable concept
FHIR:n codeable concept -käsitteiden täsmääminen FHIR-järjestelmästä Dataverseen on sama asia kuin JSON-merkkijonoelementtien täsmääminen. Ainoa ero on se, että yksityiskohtiin pääsemiseen tarvitaan ylimääräinen taso.
- Laajennuksen URL-osoite on
http://hl7.org/fhir/StructureDefinition/patient-religion
- Haluamme käyttää tässä laajennusmerkinnässä olevaa
valueCodeableConcept
-elementtiä. - Haluemme kooditaulukon ensimmäisen merkinnän.
- Haluamme kartoittaa näytön näyttämään koodijärjestelmään liitetyt FHIR-tiedot.
FHIR-resurssi
JSONPath
{"s": "$.extension[?(@.url=='http://hl7.org/fhir/StructureDefinition/patient-religion')].valueCodeableConcept.coding[0].display"}
Esimerkki 5: Tekstitietojen yhdistämismääritys
- Laajennuksen URL-osoite on
http://hl7.org/fhir/StructureDefinition/patient-religion
- Haluamme käyttää tässä laajennusmerkinnässä olevaa
valueCodeableConcept
-elementtiä. - Haluamme kartoittaa tekstin näyttääksemme tiedot, jotka Epic on antanut FHIR-järjestelmään.
FHIR-resurssi
JSONPath
{"s": "$.extension[?(@.url=='http://hl7.org/fhir/StructureDefinition/patient-religion')].valueCodeableConcept.coding[0].text"}
Esimerkki 6: Yhdistetty arvo
Toisessa esimerkissä voit luoda attribuuttikartan sukupuolelle. Dataversessä määritteen nimi on gendercode.
Valitse yhteyshenkilön entiteettikartassa + Uusi päivityspalvelun määritekartta.
Koska sukupuoli on valintaluettelo, Toimintotyyppi on Yhdistetty arvo.
Sukupuoli on Dataversessä valintaluettelo. Koska se on myös valintaluettelo FHIR:ssä, voit yhdistää FHIR-valintaluettelon arvot Dataverse-luettelon arvojen valintaa varten.
Valitse FHIR-elementtikartta, jos haluat lisätä FHIR-elementtikartan sukupuolelle. Tässä esimerkissä on JSON-hakumerkkijono, jonka avulla pääset FHIR-elementtiin sukupuoli.
Valitse Tallenna.
Taustalla järjestelmä määrittää, että sukupuoli asetusjoukko. Tähän asetusjoukkoon on yhdistettävä useita arvoja.
Kirjoita Arvokartat-kenttään Azure FHIR -arvo, jonka haluat asetusjoukkoon. Kirjoita esimerkiksi Mies-vaihtoehdolle mies (Dataverse-arvo = 1) ja kirjoita Nainen-vaihtoehdolle nainen (Dataverse-arvo = 2).
Valitse Tallenna.
Esimerkki 7: Oletusarvon määrittäminen
Määritä tässä esimerkissä arvokarttojen oletusarvo.
Valitse yhteyshenkilön entiteettikartassa + Uusi päivityspalvelun määritekartta.
Valitse Määritteen nimeksi Yhteyshenkilön tyyppi (msemr_contacttype).
Yhteyshenkilön tyyppi Dataversessä on asetusjoukko. Koska olet tuomassa mukanasi potilaita, haluat aina, että yhteyshenkilötyyppi on oletusarvo.
Valitse toiminnon tyypiksi Määritä oletusarvo.
FHIR-elementtikarttaa ei tarvita, koska määrität vain oletusarvoa. Tässä tapauksessa FHIR-tyypillä ei ole yhteyshenkilötyypin käsitettä, mutta Dataverse tarvitsee sen.
Valitse Tallenna.
Valitse Arvokartat-kohdassa ensimmäinen rivi ja valitse sitten Muokkaa.
Valitse Määritteen arvokartta -kohdassa OptionSet-otsikkoon Potilas.
Arvo näyttää yhteyshenkilötyypin oletusarvon. Dataverse Healthcare API -ohjelmointirajapinta täyttää Dataverse-arvon automaattisesti.
Valitse Tallenna ja sulje.
Huomaa, että Arvoyhdistämismääritykset-alueissa Dataverse-oletusarvo on määritetty. Aina kun Dataverse Healthcare API luo potilaan, se määrittää Yhteyshenkilötyyppi-kentän arvoksi Potilas.
Esimerkki 8: Haku
Seuraavissa vaiheissa on esimerkki Dataverse-määritteen yhdistämisestä, joka on valinta.
Valitse yhteyshenkilön entiteettikartassa + Uusi päivityspalvelun määritekartta.
Valitse Määritteen nimeksi Alkuperäinen ammatinharjoittaja (msemr_generalpractitioner).
Ensisijainen ammattilainen -määritteen Määritetyyppi on Haku (hakutoiminto Yhteyshenkilö-entiteetissä).
Toimintotyypille ainoa toimintotyyppi on FK-viite (tuntematon avain -viite). Dataverse Healthcare API -ohjelmointirajapinnalle on ilmaistava, miten haku määritetään.
Lisää FHIR-elementtikartan arvo ensisijaista ammattilaista varten.
Jos haluat käyttää FHIR-resurssiviittausta, valitse ammatinharjoittaja.
Dataversessä ensisijaisen ammattilaisen entiteettiviite on Yhteyshenkilö. FHIR-resurssiviittaus on ammatinharjoittaja.
Valitse Tallenna.
Jos Dataverse-määritteen tyyppi on haku, voit luoda vain yhdistämismäärityksen, jonka viite on viiteavain (FK). Määritä FK-viittaus määrittämällä FHIR-resurssi, johon yhdistät kohde-entiteetin.
Esimerkki 9: Codeable conceptin yhdistämismääritys
Seuraava menettely on esimerkki codeable concept -tyypin Dataverse-määritteen yhdistämismäärityksestä.
Valitse Kartan määritykset-kohdassa Entiteettikartat.
Valitse Entiteetin nimi -kohdassa msemr_observation.
Valitse Liittyvät määritteiden tietokartat -kohdassa + Uusi päivityspalvelumäärityskartta.
Valitse Määritteen nimeksi Ratio Denominator Code (msemr_valueratiodenominatorcode).
Määritteen tyyppi on Valinta. Se on hakutoiminto
msemr_codeableconcept
-entiteetissä, joka on erikoisentiteettityyppi tietomallissa. Tätä entiteettityyppiä käsitellään muulla tavalla kuin muita entiteettejä.Toimintotyypille ainoa toimintotyyppi on Codeable Concept -valinta.
Lisää FHIR-elementtikartan arvo ensisijaista ammatinharjoittajaa varten.
Valitse Codeable Concept -tyypille Määrän yksikkökoodi.
Codeable concept -tyyppi muistuttaa suurta asetusjoukkoa ja jokaisella asetusjoukolla on tyyppi. Sen avulla voit ryhmitellä ja suodattaa asetusjoukkoja. Huomaa, että Codeable Concept -tyyppiarvo -kenttä täytetään automaattisesti, kun valitset codeable concept -tyypiksi Määräyksikkökoodi. Määrän yksikkökoodin asetusjoukkotieto ei ollut tarpeellinen.
Valitse Tallenna.
Kun Dataverse nyt luo havainnon, sen on määritettävä codeable concept. Dataverse löytää kyseisen codeable conceptin hakemalla taulukoista kaikkia codeable concepteja, joiden tyyppi on Määräyksikkökoodi ja jotka vastaavat koodiarvoa. Koodattava käsite koostuu tekstistä, koodista ja tyypistä. FHIR tietää koodin ja tekstin, mutta ei tiedä, mistä koodattavasta konseptityypistä voi vetää tietoja.
Nykyiset rajoitukset
- Dynaamisten taulukoiden lisäämisen tai luomisen sijainnit eivät voi olla absoluuttisia. Valinta on dynaaminen, ja siinä käytetään JSONPath-polkua.
- Arvojen muodon on oltava oikea JSON:ssa, kuten kohdemääritteen UTF-8-merkkijonot, JSON UTC -päivämäärät ja totuusarvot.
Työkalut
Voit testata JSONPath-merkkijonoja useilla sovelluksilla, kuten näillä:
Lisätietoja näiden työkalujen käyttämisestä on JSONPath-opastus-sivulla.