Jaa


Dataverse Healthcare API -ohjelmointirajapinnat: Käytä terveydenhoidon tietoputken mallia Azure Logic Appsin käyttöönotossa

Tässä artikkelissa on vaiheittaiset ohjeet mallin käyttämiselle, kun otetaan käyttöön Azure Logic Apps -ryhmä, joka käsittelee FHIR-paketteja Dataverse Healthcare API -ohjelmointirajapinnoissa, Azure Health -tietopalveluissa tai molemmissa. Tämä ratkaisu toimii yritysvalmiina logiikkasovelluksen työnkulkuna, joka toimii välittäjänä Azure Health -tietopalvelujen ja Dataverse Healthcare API -ohjelmointirajapintojen välillä. Työnkulku myös hallitsee uudelleenyrityslogiikkaa ja poikkeusten käsittelyä. Se käyttää Azuren blob-tallennustilan käynnistintä manuaalisessa määrityksessä käytettävän HTTP-käynnistimen sijaan.

Tämä työnkulku voidaan ottaa käyttöön Azure Resource Manager (ARM) -mallina, jonka nimi on Terveystietojen putkimalli. Mallin voi ottaa käyttöön Microsoft Cloud -ratkaisukeskuksessa. Microsoft Cloud for Healthcare toimittaa tämän vakaan ja tuetun ratkaisun. Mallin käyttöön ottamisen jälkeen on määritettävä tiettyjä perustason manuaalisia määrityksiä.

Muistiinpano

  • Tämä logiikkasovelluksen työnkulku toimitetaan saapuvien sähköisten terveystietojen (EHR) aloituskohtana, ja näin varmistetaan, että FHIR-tiedot lähetetään oikeisiin palveluihin. Se ei nykyisessä tilassaan ole lopullinen ratkaisu, ja sitä on tarkoitus päivittää liiketoimintatarpeidesi perusteella.

  • Näiden logiikkasovelluspalveluiden ei tarvitse lähettää FHIR-tietoja Dataverse Healthcare API -päätepisteisiin. EHR-tietojen välittämiseen ohjelmointirajapintoihin ja vastausten käsittelemiseen voidaan muodostaa oma ratkaisu.

Logiikkasovelluspalvelut käyttävät Azure-blob-tallennustilan käynnistintä käynnistääkseen määritettävään tallennussijaintiin julkaistujen pakettien asynkronisen käsittelyn. Tämä vaihtoehto käsittelee raskaampia kuormia yritysten käyttötapauksia varten ja sisältää ylimääräisiä poikkeusten käsittelyn vaiheita. Se on kuitenkin testattava huolellisesti käyttämällä odotettuja päivittäisiä kuormituksia.

Käyttöönoton jälkeen voit laajentaa logiikkasovelluksia siten, että ne soveltuvat oman järjestelmäsi tarpeisiin.

Tärkeää

Tämä ARM-malli on yhteensopiva vain Microsoft Cloud for Healthcare 2022 2. julkaisuaallon ja uudempien versioiden kanssa. Vanhemmissa versioissa on poistettava Määritä requestBody FHIR-vastaukselle onnistuttaessa -toiminto ennen suorituksen käynnistämistä.

Tämä määritys sisältää seuraavat vaiheet:

edellytykset

Varmista, että ympäristö täyttää seuraavat edellytykset ennen mallin käyttöönottoa:

Suunnittelu

Seuraavassa kaaviossa näkyy mallilla käyttöönotetun putken rakenne:

Näyttökuva mallin rakenteesta ja työnkulusta.

ARM-malli ottaa käyttöön useita modularisoituja Logic Appseja. Se sisältää seuraavat kolme logiikkasovelluspalvelua:

Logiikkasovellus Description
Käsittele FHIR-pakettia Ensimmäinen logiikkasovelluksen esiintymä, joka käynnistetään, kun paketti ladataan blob-tallennustilaan. Tämä logiikkasovellus määrittää, lähetetäänkö paketti FHIR:ään vai suoraan Dataverseen.
Lähetä paketti FHIR:ään Toinen logiikkasovellus, joka käynnistetään Käsittele FHIR-paketti -logiikkasovelluksesta, kun päätät julkaista paketin FHIR-järjestelmään. Tämä logiikkasovellus käsittelee pyynnön paketin ja lähettää sen FHIR-palvelimeen. Kun tämä logiikkasovellus on julkaissut paketin FHIR-palvelimeen, se välittää paketin seuraavalle logiikkasovellukselle Lähetä paketti Dataverseen lisäkäsittelyä varten.
Lähetä paketti Dataverseen Lopullinen logiikkasovellus käynnistyi joko Käsittele FHIR-paketti- tai Lähetä paketti FHIR:ään -sovelluksesta. Se käsittelee pyynnön paketin ja lähettää paketin Dataverseen. Se suorittaa paketin säilön puhdistuksen siirtämällä pyyntöpaketin säilölle bundleserror tai bundlesarchive.

Mallin parametrit

Parametri Description
Resurssin sijainti Resurssin luonnin Azure-alue. Tämä parametriarvo palautuu oletusarvoisesti alueeksi, jota käytettiin resurssiryhmän luomisessa.
Dataversein URL-osoite Microsoft Cloud for Healthcare Dataverse-ympäristön URL-osoite. Esimerkki: https://*orgname*.crm.dynamics.com
Kirjaa FHIR-palvelimeen Totuusarvo. Jos tämä on määritetty todeksi, paketti julkaistaan FHIR-palvelimelle.
FHIR-palvelimen URL-osoite FHIR-palvelimen URL-osoite. Esimerkiksi https://*fhirserver*.azurewebsites.net
Tätä parametria tarvitaan vain, jos haluat julkaista FHIR-palvelimelle ennen Dataversen upsert-ohjelmointirajapinnan päätepisteelle julkaisemista.
Yksilöllinen arvo Yksilöllinen merkkijono, jonka avulla luodaan resurssien nimet. Tämä arvo palautuu oletusarvoisesti uniqueString-funktioon. Voit ohittaa tämän arvon tarpeen mukaan.

Käyttöönotetut resurssit

Malli ottaa käyttöön seuraavat resurssit ympäristössä:

Resurssi Kuvaus
Hallitut käyttäjätiedot Hallittujen käyttäjätietojen nimi on muotoa mi_UniqueValue. Hallitut käyttäjätiedot määritetään logiikkasovellukselle ja niille myönnetään käyttöoikeudet tallennustilatiliin, FHIR-palvelimelle ja Dataverse-ympäristöön.
Azure-tallennustili Tallennustilin nimi on muotoa sa_UniqueValue. Malli ottaa tallennustilin lisäksi käyttöön myös seuraavat kolme säilöä: bundles, bundlesarchive ja bundleserror.
Roolimääritys Määrittää Blob-objektisäilön dataosallistujan -roolin hallitulle identiteetille tallennustilillä.
Azure-tapahtumaverkko Tapahtumaverkon nimi on muotoa eg_UniqueValue. Kaikki blob-tapahtumat julkaistaan tähän tapahtumaverkkoon.
Azuren palveluväylä Palveluväylän nimi on muotoa sb_UniqueValue. Tapahtumaverkko julkaisee tapahtumat tähän palveluväylään. Jonon nimi on bundleCreated.
Valtuutussääntö Luo palveluväylään kuunneltavaksi valtuutussäännön, jonka nimi on bundleauthlisten.
Azure Logic Apps Liittyvien logiikkasovellusten työnkulkujen joukko, jonka tyyppi on Kulutus. Työnkulku käynnistyy palveluväylän tapahtumien perusteella. Nämä logiikkasovellukset käsittelevät saapuvan FHIR-paketin ja lähettävät sen määritettyihin päätepisteisiin.

Jokainen logiikkasovellus nimetään yksilöllisellä arvolla käyttöönoton aikana:

1. laprocessfhirbundle_UniqueValue
2. lasendbundletodataverse_UniqueValue
3. lasendbundletofhir_UniqueValue
API-yhteys Logiikkasovellukset vaativat useita ohjelmointirajapintayhteyksiä.

Tuloste

Sen perusteella päättyykö suoritus onnistumiseen vain virheeseen, originalblobname_response.json-niminen blob-objekti luodaan bundlesarchive- tai bundleserror-kansiossa, ja siinä on seuraava rakenne:

{
  "dataverseResponse": "<The response from the Dataverse healthcare API post the call.>",
  "fhirServerResponse": "<The response from the FHIR server call if the "Post to FHIR server" parameter value was set to True.>",
  "statusMessage": "<Summary of the responses. In case of a failure, the message provides details about how many resources failed to post to the FHIR server and to Dataverse.>",
  "statusCode": "<Code value associated with the issue encountered.>"
}

Riippuen siitä, mikä logiikkasovellus käynnisti virheen, JSON-virhe sisältää joko dataverseResponse- tai fhirServerResponse-solmun. Jos esimerkiksi kohtaat lasendbundletofhir_UniqueValue-logiikkasovelluksen virheen, JSON-vastaus sisältää vain fhirServerResponse-solmun ja -arvon.

Kirjaa käyttöönotto-ohjeet

Seuraavassa osassa ovat ohjeet noudatettavaksi mallin käyttöönoton jälkeen.

Anna käyttöoikeus FHIR-palvelimeen

FHIR-palvelimen käyttäminen logiikkasovelluksesta edellyttää FHIR-osallistuja-roolin määritystä, joka sallii uusien tietojen lähettämisen palveluun. Lisää tämä Azure-roolimääritys logiikkasovelluksen käyttämille hallituille käyttäjätiedoille.

  1. Siirry FHIR-palvelinesiintymään, valitse Käyttöoikeuksien hallinta (IAM) ja valitse sitten Lisää roolin määritys.

    Valitse Rooli-välilehdessä FHIR-tietojen osallistuja -rooli.

  2. Valitse Jäsenet, Hallitut käyttäjätiedot ja sitten + Valitse jäsenet.

  3. Lisää ARM-mallikäyttöönotolla luodut hallitut käyttäjätiedot. Juuri käyttöönotettujen hallittujen käyttäjätietojen nimen tulee olla mi_UniqueValue.

  4. Voi kestää muutaman minuutin, ennen kuin määritys näkyy hallituissa käyttäjätiedoissa. Valitse Azure-roolimääritykset tarkastellaksesi hallittujen käyttäjätietojen roolimääritystä.

Dataverse Healthcare API -ohjelmointirajapintojen käyttöoikeuksien myöntäminen

Samoilla hallituilla käyttäjätiedoilla käytetään Dataverse Healthcare API -ohjelmointirajapintoja logiikkasovelluksessa yhdistämällä tiedot sovelluksen käyttäjään Dataversen kohde-esiintymässä. Lisätietoja sovelluksen käyttäjistä: Hallitse sovelluksen käyttäjiä Power Platformin hallintakeskuksessa.

  1. Sovelluksen käyttäjän määrittämiseen tarvitaan hallittujen käyttäjätietojen Azure-asiakastunnus. Voit noutaa asiakastunnuksen avaamalla hallitut käyttäjätiedot, jotka on luotu ARM-mallikäyttöönotolla, ja kopioi Asiakastunnus-arvo Yleiskatsaus-alueelta.

  2. Avaa Microsoft Cloud for Healthcare-ympäristö Power Platformin hallintakeskuksessa. Valitse Käyttö-osassa S2S-sovellukset ja valitse sitten Uusi sovelluksen käyttäjä.

  3. Valitse Luo uusi sovelluskäyttäjä-ruudussa asianmukainen Liiketoimintayksikkö ja valitse sitten Lisää sovellus.

  4. Hae Lisää sovellus Microsoft Entra ID:stä -ruudussa hallitusta käyttäjätiedosta kopioitu asiakasohjelmatunnus.

    Valitse hallittu tunnistetieto luettelosta, valitse Lisää ja muokkaa sitten käyttöoikeusrooleja.

  5. Valitse FHIR:n synkronointiagentin sovellusrekisteröinnin käyttäjän rooli ja valitse sitten Tallenna.

  6. Luo uusi sovelluskäyttäjä valitsemalla Luo.

Kun olet suorittanut määrityksen loppuun, voit testata logiikkasovelluksen työnkulkua julkaisemalla esimerkkipaketin sa_UniqueValue-säilöön käsittelyä varten. Ratkaisusi vaatimusten mukaan voit myös muokata mitä tahansa näistä logiikkasovelluksista lisäkäsittelyä varten.

Käsittele virheet

Jos logiikkasovelluksen suorituksen tuloksena on virhe, originalblobname_response.json-niminen tiedosto luodaan tallennustilatilin bundleserror-säilöön. Voit jäsennellä tätä tiedostoa virheen pääsyyn selvittämiseksi, korjata virheen ja lähettää paketin uudelleen epäonnistuneilla resursseilla.

Pakettityyppi: Erä

FHIR-palvelin ja Dataverse Healthcare API -ohjelmointirajapinnat käsittelevät erä-tyyppisen paketin ryhmänä erillisiä toimintoja. Tuloksena olevat vastaukset ilmaisevat erikseen kunkin resurssin onnistumisen tai epäonnistumisen.

FHIR-määrityksen mukaisesti minkä tahansa epäonnistuvan resurssin tuloksena on OperationOutcome, jonka vakavuusasteeksi on määritetty virhe, ja Dataverse Healthcare API määrittää msind_requeststatus-arvoksi 935000002. Lisätietoja pyynnön tilatyypeistä on kohdassa Pyynnön tilatyypit.

Logiikkasovelluksen työnkulku jäsentyy sekä FHIR-palvelimen että Dataverse Healthcare API -ohjelmointirajapintojen vastausten perusteella. Se päättää työnkulun Epäonnistui-tilaan, jos jonkin resurssin tuloksena on ollut virhe.

Huomautus

Dataverse Healthcare API -ohjelmointirajapinnat tukevat tällä hetkellä vain FHIR-paketteja, joiden tyyppi on erä ja erä-vastaus.

Uudelleenyritysten määrittäminen

Kun virhe on tunnistettu ja korjattu, paketti voidaan sijoittaa takaisin bundles-säilöön uudelleenkäsittelyä varten.

Yritä uudelleen nostinta: FHIR-palvelin

Logiikkasovelluksen työnkulun HTTP-toiminto, joka lähettää viestit FHIR-palvelimeen, käyttää sisäistä HTTP-toiminnon uudelleenyrityskäytäntöä. Oletusarvo on eksponentiaalinen aikavälikäytäntö, joka yrittää uudelleen neljä kertaa. Voit muokata uudelleenyrityskäytäntöä.

  1. Valitse toimintokortin oikean yläkulman kolme pistettä ja valitse sitten Asetukset.

  2. Muuta uudelleenyrityskäytäntöä-kohdassa kentän Tyyppi-arvoa.

    Näyttökuva, jossa kerrotaan, miten uudelleenyrityksen käytännön tyyppiä muokataan.

Yrittäminen uudelleen rajoittamalla: Dataverse Healthcare API -ohjelmointirajapinnat

Palvelun suojauksen ohjelmointirajapinnan rajoitukset vaikuttavat Dataverse Healthcare API -ohjelmointirajapintoihin. Jos pyyntöä Dataverse healthcare API -ohjelmointirajapintaan rajoitetaan, logiikkasovelluksen työnkulku yrittää (oletusarvoisesti) kolme kertaa uudelleen ohjelmointirajapinnan vastauksen otsikossa määrittämän Retry-After-välin mukaisesti. Voit muokata sekä uudelleenyritysten lukumäärää että aikaväliä.

  1. Jos haluat muuttaa uudelleenyritysten määrän, muokkaa Silmukka, kunnes toiminto on valmis -toiminnon Määrä-arvoa.

    Näyttökuva, jossa kerrotaan, miten uudelleenyrityksen lukumäärää muokataan.

  2. Jos haluat muuttaa välin, muokkaa Viivytä-toiminnon Määrä-arvoa.

    Näyttökuva, jossa kerrotaan, miten viiveiden lukumäärää muokataan.

Logic Appsin suojaaminen

Kun logiikkasovellus on määritetty ja testattu, voit lukita seurannan suojaamalla syöte- ja tulostoiminnot. Lisätietoja on kohdassa Logiikkasovelluksen suojaaminen.