Mitätöinti- ja vastaussanomat
Toimintakykytiedon mitätöinnissä käytettävän HTTP-pyynnön tiedot lähetetään HTTP header- ja body-osuuksiin jaettuna. Tällä sivulla kuvataan nämä osuudet tarkemmin mitätöinnin osalta.
Mitätöintisanoma
Mitätöintisanoma lähetetään Kanta-palveluihin HTTP pyyntönä (request) POST-metodilla FHIR-palvelun endpoint:in juureen. Mitätöinnissä käytetään POST-metodia, sillä HTTP body-osuudessa oleva FHIR-resurssi on Bundle, jonka tyyppi on transaction.
Varsinainen toimintakykytiedon mitätöinti (toimintakykytietoresurssi-instanssin mitätöinti) tehdään FHIR:in DELETE-interaktiolla. Interaktion mukainen DELETE lisätään HTTP-pyynnön transaction Bundleen. Pyyntö lähetetään transaktiona, joka sisältää mitätöinnin tiedot sisältävän Provenance-resurssin tallennuksen ja Observation-resurssin mitätöivän DELETE interaktion.
HTTP-pyynnön header
Mitätöinnin HTTP-pyynnön header-osuudet sisältävät Kanta FHIR HTTP header -dokumentin mukaisen HTTP-headerin ja JSON Web Tokenin. Potilastietovarantoon lähetettävän HTTP-pyynnön (request) tiedot ja niiden pakollisuudet on määritelty dokumentin Kanta FHIR HTTP-header taulukon 2.1 Kanta-palveluiden HTTP pyynnön header kentät sarakkeessa PTA ja Sosiaalihuollon asiakastietovarantoon lähetettävän HTTP-pyynnön sarakkeessa SHA. JSON Web Tokenin tiedot ja niiden pakollisuudet on määritelty dokumentin Kanta JSON Web Token taulukossa 4.1 Kanta-palveluiden JWT Claimit. Potilastietovarantoon lähetettävän JWT:n tiedot ja tietojen pakollisuudet on määritelty sarakkeessa PTA ja Sosiaalihuollon asiakastietovarantoon lähetettävän JWT:n sarakkeessa SHA.
HTTP-pyynnön body
HTTP-pyynnön body-osuus sisältää pyynnössä välitettävät resurssit. Mitätöitävän merkinnän toimintakyvystä tai toimintakykyarvion tiedot lähetetään Kanta-palveluihin Bundle-resurssilla, jonka tyyppi on transaction. Bundle-resurssi sisältää kaksi entryä (Bundle.entry).
Toinen entryistä sisältää mitätöitävään Observation-resurssiin liittyvän Provenance-resurssin. Provenance-resurssista tallennetaan mitätöinnissä kokonaan uusi instanssi. Mitätöinnin Provenance-resurssi sisältää viittauksen mitätöitävään toimintakykytietoon, mitätöinnin syyn sekä muut mitätöinnissä tarvittavat tiedot. Provenance-resurssista viitataan seuraaviin resursseihin, jotka esitetään contained-rakenteessa:
- Patient (toimintakykytiedon asiakkaan tai asiakkaiden tiedot)
- Practitioner (toimintakykytiedon mitätöinnin tehneen ammattilaisen tiedot)
- Device (tiedot tuottanut tietojärjestelmä)
Provenance-resurssille Bundle.entry.request.method-elementin arvoksi laitetaan POST.
Toinen entry sisältää pelkän viittauksen mitätöitävään toimintakykytietoon eli viittauksen mitätöitävän Observation-resurssi-instanssin loogiseen tunnisteeseen (id). Bundle.entry.request.method-elementin arvoksi laitetaan DELETE.
Bundle-resurssi allekirjoitetaan sähköisellä allekirjoituksella, jolla varmistetaan vaatimus välitettävien resurssien muuttumattomuudesta pysyväissäilytyksessä. Sähköinen allekirjoitus on määritelty dokumentissa Kanta FHIR sähköinen allekirjoitus.
Mitätöinnissä käytettävän Provenance-resurssin sisältö
Mitätöintiä varten on määritelty erillinen Kanta-yhteinen profiili MitatointiProvenance. Mitätöinnissä annettavat Provenance-resurssin tiedot on kuvattu tarkemmin profiilissa. Alla on kuvattu toimintakykytiedon mitätöinnissä huomioitavat tiedot.
- Provenance.target:
- Viittaus mitätöitävään toimintakykytiedon resurssiin ilmoitetaan Provenance.target.reference-elementissä. Mitätöitävän toimintakykytiedon yksilöivänä tunnuksena tulee käyttää Kanta-palvelujen tuottamaa Observation-resurssi-instanssin loogista tunnistetta (id).
- Jos mitätöitävä toimintakykytieto on merkintä toimintakyvystä, Provenance.target.display-elementti saa arvon ”Merkintä toimintakyvystä”.
- Jos mitätöitävä toimintakykytieto on toimintakykyarvio, Provenance.target.display-elementti saa arvon "Toimintakykyarvio".
- Provenance.activity
- Provenance.activity.coding-elementissä ilmoitetaan mitätöinnin syy koodattuna.
- Potilastietovarannossa mitätöinnin syy ilmoitetaan koodistolla eArkisto-Asiakirjan korvauksen syy (1.2.246.537.5.40178.2008).
- Sosiaalihuollon asiakastietovarannossa mitätöinnin syy ilmoitetaan koodistolla Sosiaalihuolto - Asiakirjan mitätöinnin syy (1.2.246.537.6.1278.201701).
- Potilastietovarannossa tulee lisäksi ilmoittaa resurssin mitätöinnin syy vapaamuotoisena tekstinä elementissä Provenance.activity.text.
- Provenance.activity.coding-elementissä ilmoitetaan mitätöinnin syy koodattuna.
- Provenance.entity
- Provenance.entity.role saa arvon ”removal” profiilin mukaisesti
- Provenance.entity.what.reference-elementissä ilmoitetaan viittaus mitätöitävään toimintakykytiedon resurssi-instanssiin, koska tieto on rakenteessa pakollinen.
Esimerkki Sosiaalihuollon asiakastietovarantoon tallennetun merkinnän toimintakyvystä mitätöinnistä
{ "resourceType": "Bundle", "type": "transaction", "entry": [ { "fullUrl": "urn:uuid:ce5ea340-adfd-40f2-87d4-a25e4f8bf149", "resource": { "resourceType": "Provenance", ... "target": { "reference": "urn:uuid:ce5ea340-adfd-40f2-87d4-a25e4f8bf198", "display": "Merkintä toimintakyvystä" }, ... "activity": { "coding": { "system": "1.2.246.537.6.1278.201701", "code": "5", "display": "Virhe asiakasasiakirjan sisällössä" } } ... "entity": { "role": "removal", "what": { "reference": "urn:uuid:ce5ea340-adfd-40f2-87d4-a25e4f8bf198" } } }, "request": { "method": "POST", "url": "Provenance" } }, { "fullUrl": "ce5ea340-adfd-40f2-87d4-a25e4f8bf198", "request": { "method": "DELETE", "url": "Observation/ce5ea340-adfd-40f2-87d4-a25e4f8bf198" } } ], { "signature": { ... } } }
Vastaussanoma
Kanta-palvelut palauttaa vastauksena HTTP-vastauksen (response), jossa tiedot palautetaan HTTP header- ja body-osuuksiin jaettuna.
HTTP-vastauksen header
Mitätöinnin HTTP-vastauksen header-osuus noudattaa Kanta-palvelujen yhteistä Kanta FHIR HTTP header määrittelyä. Potilastietovarannon palauttaman HTTP-vastauksen tiedot ja niiden pakollisuudet on määritelty dokumentin Kanta FHIR HTTP-header taulukon 3.1 Kanta-palveluiden HTTP pyynnön header kentät sarakkeessa PTA ja Sosiaalihuollon asiakastietovarannon palauttaman HTTP-vastauksen sarakkeessa SHA.
HTTP-vastauksen body
Kanta-palvelut palauttaa HTTP vastauksen body-osuudessa Bundle-resurssin, jonka tyyppi on transaction-response. Onnistuneen mitätöinnin tuloksena Kanta-palvelut palauttaa Bundle-resurssin, joka sisältää jokaista lähetettyä entryä vastaavan responsen. Kanta-palvelut palauttaa Response-elementissä on seuraavat tiedot:
- molemmille operaatioille palautetaan status-elementissä resurssin tallennuksen HTTP-statuskoodi 201 CREATED.
- Provenance-resurssille palautetaan lisäksi location-elementissä tallennetun resurssin tyyppi, Kanta-palvelujen tuottama yksilöivä tunnus resurssille ja resurssin versionumero.
- Provenance-resurssille palautetaan lisäksi etag-elementissä resurssin versionnumero.
Esimerkki Kanta-palvelujen palauttamasta vastaussanomasta onnistuneessa mitätöinnissä
{ "resourceType": "Bundle", "id": "bundle-response", "type": "transaction-response", "entry": [ { "fullUrl": "urn:uuid:2639da1f-e03c-4faf-aec0-6007c4de7288", "response": { "status": "201 Created", "location": "Provenance/urn:uuid:2639da1f-e03c-4faf-aec0-6007c4de7288/_history/1", "etag": "W/\"1\"" } }, { "response": { "status": "204 No content" } } ] }
Vastaussanoma virhetilanteessa
Virhetilanteessa Kanta-palvelut palauttaa Bundle-resurssin entry-elementissä HTTP-virhestatuskoodin ja OperationOutcome-resurssin, jolla ilmoitetaan tarkempi virhe.
Kanta-palvelujen palauttaman OperationOutcome-resurssin tiedot on kuvattu sivun Tallennus- ja vastaussanomat luvussa Vastaussanoma virhetilanteessa.