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. Molempia lupia voidaan tallentaa ja 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.
- Korvatessa on varmistettu 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 MitatointiProvenance-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 kuvailutiedot rekisterinpitäjä, rekisteri ja asiakas täytyy pysyä samana kuin edellisessä versiossa. (tilanne B)
- Korvauksen syy -tieto on Sote-luovutuslupaa korvatessa aina 1, 'korjaus'. Tällöin aiemmat versiot jäävät haettaviksi Tahdonilmaisupalvelusta. (tilanne B)
Tilanteessa C: Järjestelmä muodostaa MitatointiProvenance-profiilin mukaisen Provenance-resurssin. (V2)
- Mitätöinti on sallittu vain, kun Sote-luovutuslupa on tehty väärälle henkilölle. Tästä johtuen korvauksen syyksi pitää asettaa 4, 'mitätöinti siten, että vanhat versiot merkitään käytöstä poistetuiksi'.
- Valmistumisen tilan tulee olla ’Poistettu’.
-
- Tilanteissa A ja B: Järjestelmä muodostaa Bundle-resurssin ja liittää siihen Consent- ja Provenance -resurssit. (V3)
- Tilanteissa C: Järjestelmä muodostaa Bundle-resurssin ja liittää siihen Provenance-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 Consent- ja Provenance -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
- Consent-resurssin muodostaminen epäonnistuu.
- Provenance-resurssin muodostaminen epäonnistuu.
- Bundle-resurssin muodostaminen epäonnistuu.
- Bundle-resurssin allekirjoittaminen epäonnistuu.
- Kanta JSON Web Token -operaation muodostaminen epäonnistuu.
- Kanta JSON Web Token -operaation allekirjoittaminen epäonnistuu.
- Operaation lähettäminen epäonnistuu.