Tallenna, korvaa tai mitätöi sote-luovutuslupa
Käyttötapaus kuvaa seuraavat tilanteet:
- Tallentava järjestelmä tallentaa ensimmäisen version sote-luovutusluvasta
- Tallentava järjestelmä korvaa sote-luovutusluvan
- Tallentava järjestelmä mitätöi sote-luovutusluvan
Henkilöllä voi olla kerrallaan yksi lupa luovutuksiin sosiaalihuollosta terveydenhuoltoon ja yksi lupa luovutuksiin terveydenhuollosta sosiaalihuoltoon. Molemmat sote-luovutusluvat voidaan tallentaa tai päivittää samassa operaatiossa.
Käyttäjäroolit
- Tallentava järjestelmä, jatkossa Järjestelmä
- Asiakastietojärjestelmä
- Potilastietojärjestelmä
- OmaKanta
- Kanta-palveluiden tahdonilmaisupalvelu, jatkossa Tahdonilmaisupalvelu
Esiehdot
- Henkilö on yksilöity Järjestelmässä virallisella henkilötunnuksella.
- Henkilöllä tulee olla Kanta-Informointi.
- Tallennuksessa varmistetaan haulla onko asiakkaalla jo olemassa sote-luovutuslupa. Korvattaessa ja mitätöitäessä varmistetaan haulla, että käsitellään viimeisintä sote-luovutuslupaa.
Sote-luovutusluvan tallentamisen profiilit ja operaatiot
Tilanteissa A ja B: sote-luovutusluvan tallennuksessa ja korvauksessa käytetään SoteConsent- ja TahdonilmaisuProvenance-profiileja. Tilanteessa C: sote-luovutusluvan mitätöinnissä käytetään TahdonilmaisuMitatointiProvenance-profiilia.
Profiilien sisällöt on kuvattu FHIR-tietosisältö -osiossa.
Järjestelmän ja Tahdonilmaisupalvelun käyttämät operaatiot on kuvattu seuraavassa kuvassa:
Normaali tapahtumankulku
- Tilanteessa A ja B: Järjestelmä muodostaa SoTeConsent-profiilin mukaisen Consent-resurssin. [V1]
- Tilanteessa B (Sote-luovutusluvan korvaus):
- Sote-luovutusluvan globaalisti yksilöivänä tunnuksena tulee käyttää Tahdonilmaisupalvelun sote-luovutusluvalle tuottamaa yksilöintitunnusta, jonka Tahdonilmaisupalvelu on palauttanut vastaussanomassa (Consent.id).
- Sote-luovutusluvan tunnisteen tulee olla sama kuin korvattavalla sote-luovutusluvalla. Sote-luovutusluvan tunniste on tietosisältömäärittelyssä kuvattu sote-luovutusluvan yksilöivä tunniste (Consent.identifier).
- Luovutusluvan asiakasta ei voi vaihtaa. Esim. henkilötunnuksen vaihtuessa luodaan uusi sote-luovutuslupa uudella henkilötunnuksella.
Tilanteissa A ja B: Järjestelmä muodostaa TahdonilmaisuProvenance-profiilin mukaisen Provenance-resurssin. [V2]
- Kela toimii sote-luovutusluvan rekisterinpitäjänä.
- Uudessa versiossa rekisterinpitäjän ja asiakkaan kuvailutietojen täytyy pysyä samoina kuin edellisessä versiossa. (tilanne B)
- Sote-luovutusluvan korvauksessa aiemmat versiot jäävät haettaviksi Tahdonilmaisupalvelusta. (tilanne B)
Tilanteessa C: Järjestelmä muodostaa TahdonilmaisuMitatointiProvenance-profiilin mukaisen Provenance-resurssin. [V2]
- Mitätöinti on sallittu vain, kun sote-luovutuslupa on tehty väärälle henkilölle.
- Mitätöinti on sallittu tehdä vain ensimmäiselle versiolle.
Tilanteissa A ja B: Järjestelmä muodostaa Bundle-resurssin ja liittää siihen SoteConsent- ja TahdonilmaisuProvenance -profiilien mukaiset resurssit. [V3]
Tilanteissa C: Järjestelmä muodostaa Bundle-resurssin ja liittää siihen TahdonilmaisuMitatointiProvenance -profiilin mukaisen resurssin. [V3]Järjestelmä allekirjoittaa Bundle-resurssin.[V4]
Järjestelmä muodostaa Kanta JSON Web Tokenin. [V5]
Järjestelmä allekirjoittaa Kanta JSON Web Tokenin. [V6]
Järjestelmä lähettää transaction-tyyppisen Bundle-resurssin ja Kanta JSON Web Tokenin Tahdonilmaisupalveluun. [V7]
Tahdonilmaisupalvelu tallentaa SoteConsent- ja TahdonilmaisuProvenance -profiileiden mukaiset resurssit sekä Bundle-resurssin.
Tahdonilmaisupalvelu lähettää järjestelmälle kuittauksen transaction-response.
Jos sote-luovutusluvan tallennus ei onnistu, Tahdonilmaisupalvelu palauttaa HTTP virhestatuskoodin sekä HTTP bodyssa OperationOutcome resurssi-instanssin, jolla ilmoitetaan tarkempi virhe. Implementointioppaan OperationOutcome-sivulla on kuvattu tarkemmin, miten Tahdonilmaisupalvelu palauttaa virheilmoitukset OperationOutcome-resurssilla.
Käyttötapaus jatkuu järjestelmän oman logiikan mukaan.
Virhetilanteet
V1 Consent-resurssin muodostaminen epäonnistuu. V2 Provenance-resurssin muodostaminen epäonnistuu. V3 Bundle-resurssin muodostaminen epäonnistuu. V4 Bundle-resurssin allekirjoittaminen epäonnistuu. V5 Kanta JSON Web Token -operaation muodostaminen epäonnistuu. V6 Kanta JSON Web Token -operaation allekirjoittaminen epäonnistuu. V7 Operaation lähettäminen epäonnistuu.