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 yrityksen valmiina logiikkasovelluksen työnkulkuna, jota käytetään välityspalveluna Azure Health -tietopalveluiden ja Dataverse Healthcare API -ohjelmointirajapintojen välillä. Se myös hallitsee uudelleenyrityksen logiikkaa ja poikkeusten käsittelyä. Työnkulku perustuu Azure Blob -säilön käynnistimeen, ei HTTP-käynnistimeen, jota käytetään manuaalisessa määrityksessä.

Tämä työnkulku on otettavissa käyttöön Azure Resource Managerin (ARM) Terveydenhoidon tietoputken malli -nimisenä mallina. Mallin voi ottaa käyttöön Microsoft Cloud -ratkaisukeskuksessa. Microsoft Cloud for Healthcare toimittaa tämän vakaan ja tuetun ratkaisun. Mallin käyttöönoton jälkeen on määritettävä joitakin manuaalisia perusmää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. Käyttäjät voivat päivittää sen, eikä sen nykyinen tila ole lopullinen ratkaisu.

  • 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.

Azure Blob Storage -käynnistin käynnistää logiikkasovelluspalvelut, jolloin käynnistetään määritettävissä olevaan tallennussijaintiin lähetettyjen pakettien asynkroninen käsittely. Tällä vaihtoehdolla voidaan käsitellä yritysasiakkaiden suuri työkuormia, ja se sisältää lisää poikkeuksen hallintavaiheita. Se on kuitenkin testattava huolellisesti käyttämällä odotettuja päivittäisiä kuormituksia.

Logic Apps voidaan laajentaa käyttöönoton jälkeen järjestelmän tarpeiden mukaan.

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:

  • Azure-tili ja tilaus. Jos sinulla ei ole tilausta, luo maksuton Azure-tili ennen aloittamista.
  • Azure-resurssiryhmä, jolle on määritetty soveltuvat käyttöoikeudet uusien resurssien luomista varten, tai osallistujan rooli, jonka avulla voi luoda uusia resurssiryhmiä.
  • Resurssiryhmän käyttöoikeus luo resursseja ja määrittää Azure-rooleja.
  • Azuren järjestelmänvalvojien ja organisaatiokäytäntöjen suojausohjeiden noudattaminen.

Suunnittelu

Seuraavassa kaaviossa esitellään mallin avulla käyttöönotettavan 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 Logic Appsia:

Logiikkasovellus Kuvaus
Käsittele FHIR-pakettia Ensimmäinen logiikkasovelluksen esiintymä, joka käynnistyy, kun paketti ladataan blob-objektin tallennustilaan. Tämä logiikkasovellus määrittää, lähetetäänkö paketti FHIR:ään vai suoraan Dataverseen.
Lähetä paketti FHIR:ään Toinen Käsittele FHIR-paketti -logiikkasovelluksen käynnistämä logiikkasovellus, kun valitset paketin lähettämisen FHIR:ään. Tämä logiikkasovellus käsittelee pyynnön paketin ja lähettää sen FHIR-palvelimeen. Kun paketti on lähetetty FHIR-palvelimeen, logiikkasovellus käyttää sitä seuraavassa Lähetä paketti Dataverseen -logiikkasovelluksessa 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. Tämä logiikkasovellus käsittelee myös pakettien säilön puhdistamista siirtämällä pyynnön paketin bundleserror- tai bundlesarchive-säilöön.

Mallin parametrit

Parametri Kuvaus
Resurssin sijainti Azure-alue, jossa resurssit luotaisiin. 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 arvoksi on määritetty Tosi, paketti kirjataan FHIR-palvelimeen.
FHIR-palvelimen URL-osoite FHIR-palvelimen URL-osoite. Esimerkki: https://*fhirserver*.azurewebsites.net
Tätä parametria tarvitaan vain, jos lähetys FHIR-palvelimeen tehdään ennen lähetystä Dataverse upsert -ohjelmointirajapinnan päätepisteeseen.
Yksilöllinen arvo Yksilöllinen merkkijono, jonka avulla luodaan resurssien nimet. Tämä arvo palautuu oletusarvoisesti uniqueString-funktioon. Voit tarvittaessa korvata tämän arvon.

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. Logiikkasovellus määritetään näille hallituille käyttäjätiedoille, ja hallituille käyttäjätiedoille myönnetään tallennustilatilin, FHIR-palvelimen ja Dataverse-ympäristön käyttöoikeudet.
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 lähetetään tähän tapahtumaverkkoon.
Azuren palveluväylä Palveluväylän nimi on muotoa sb_UniqueValue. Tapahtumaverkko lähettää 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 tapahtumista. 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 Logic Apps vaatii 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 virhe on lasendbundletofhir_UniqueValue-logiikkasovelluksessa, JSON-vastaus sisältää vain fhirServerResponse-solmun ja arvon.

Kirjaa käyttöönotto-ohjeet

Seuraavassa osassa on vaiheet, joiden mukaan toimitaan 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. Tämä Azuren roolimääritys on lisättävä logiikkasovelluksen käyttämiin hallittuihin käyttäjätietoihin.

  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.

    Näyttökuva, jossa näkyy FHIR-tietojen osallistujan roolin valinta.

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

  3. Lisää hallitut käyttäjätiedot, joka on luotu ARM-mallin käyttöönoton yhteydessä. 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. Kun se on käytössä, voit tarkastella hallittujen käyttäjätietojen roolin määritystä valitsemalla Azure-roolimääritykset.

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 hakea asiakastunnuksen avaamalla ARM-mallin käyttöönoton aikana luodut hallitut käyttäjätiedot ja kopioimalla asiakastunnuksen arvon Yleiskatsaus-alueesta.

  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 määritys on valmis, voit testata logiikkasovelluksen työnkulun lähettämällä esimerkkipaketin sa_UniqueValue-säilöön käsittelyä varten. Ratkaisun tarpeista riippuen voit myös muokata mitä tahansa logiikkasovellusta 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ääritysten mukaisesti jokaisen epäonnistuvan resurssin tuloksena on OperationOutcome, joka vakavuuden arvojoukoksi määritetään virhe. Dataverse Healthcare API puolestaan määrittää msind_requeststatus-arvoksi 935000002. Lisätietoja pyynnön tilatyypeistä on kohdassa Pyynnön tilatyypit.

Logiikkasovelluksen työnkulku jäsentää sekä FHIR-palvelimen että Dataverse Healthcare API -ohjelmointirajapintojen vastaukset ja päättää työnkulun epäonnistuneena, jos jonkin resurssin tuloksena oli 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.

Katso myös

Mikä on Microsoft Cloud for Healthcare?
Dataverse Healthcare API -ohjelmointirajapintojen yleiskatsaus
Dataverse Healthcare API -ohjelmointirajapintojen määrittäminen
Dataverse Healthcare API -ohjelmointirajapinnat: Azuren logiikkasovelluksen määrittäminen HTTP-käynnistimen avulla
Dataverse Healthcare API -ohjelmointirajapintojen käyttäminen