Hakuoperaatioiden HTTP vastaus (response)
Hakuoperaation vastaus koostuu HTTP header-osuudesta ja body-osuudesta. Vastauksessa palautettavat Kanta-lääkityslistan hakujen tiedot ovat HTTP body-osuudessa, samoin mahdolliset virheilmoitukset ovat HTTP body-osuudessa.
Vastauksen HTTP header
HTTP-vastauksen header-osuus noudattaa Kanta-palveluiden yhteisiä Kanta FHIR HTTP header määrittelyitä.
Vastauksen HTTP body
Onnistuneen pyynnön vastaukset
Onnistuneen hakuoperaation vastauksena palautuu Bundle resurssi-instanssi, joka on tyypiltään searchset (type). Bundle resurssin tiedoissa ilmaistaan hakutulosten määrä (total) sekä varsinaiset Kanta-lääkityslista hauissa palautettavat tiedot MedicationRequest, MedicationDispense ja Provenance resurssi-instansseissa. Lisäksi List resurssi-instanssi palautuu Lääkityslistan perushaussa, Lääkkeen historiahaussa ja Lopetettujen lääkkeiden haussa.
Lääkityslistan perushaun hakuoperaation vastauksessa palautuu myös Parameters resurssi, poiketen muista hakuoperaatioiden vastauksista. Parameters sisältää perushaun (medicationlist) Bundlen sekä Kanta-lääkityslistan siirtymäajan historiahaun ilman käytössä olevan lääkkeen tunnisteita (old-prescriptions) Bundlen. Alla esimerkki lääkityslistan perushaun palautuksesta.
Lääkityslistan tulostehaun hakuoperaation vastauksessa palautuu DocumentReference resurssi.
Perushaku.png
Lääkityslistan perushaku operaation vastaus esimerkki:
Lääkityslistan perushaun hakuoperaation vastauksessa palautuu myös Parameters resurssi, poiketen muista hakuoperaatioiden vastauksista. Parameters sisältää perushaun (medicationlist) Bundlen sekä Kanta-lääkityslistan siirtymäajan historiahaun ilman käytössä olevan lääkkeen tunnisteita (old-prescriptions) Bundlen. Old-prescriptions jää vastauksesta kokonaan pois, mikäli sellaisia lääkemääräyksiä ei löydy, joilla ei ole käytössä olevan lääkkeen tunnisteita. Old-prescriptions jää vastauksesta myös pois siirtymäajan jälkeen.
{ "resourceType": "Parameters", "parameter":[ { "name": "medicationlist", "resource": { "resourceType": "Bundle", "id": "b4ebb4e7-ab7e-449e-8cd3-4ff025f7a16c", "type": "searchset", "total": 4, ... },{ "name": "old-prescriptions", "resource": { "resourceType": "Bundle", "id": "348b01e0-1ea5-4936-b924-488df0df3877", "type": "searchset", "total": 5, ... ] }
Hakuoperaatio on onnistunut myös silloin, jos vastauksena ei palaudu yhtään resurssi-instanssia. Tällöin hakutulosten määrä (total) on nolla.
- esimerkki Bundle resurssi-instanssista, jonka hakutulos on nolla (esim. ei ole löytynyt hakuehtoja täyttäviä lääkitystietoja):
{ "resourceType": "Bundle", "id": "073ce2b1-4c39-4cae-a479-ca59c8f74fef", "type": "searchset", "total": 0, }
- jos kyseessä on Tulostehaun palautus (operaatio $get-printout), silloin ei palaudu Bundlea. Jos hakuehtoja täyttäviä lääkitystietoja ei ole löytynyt, että tuloste voitaisiin palauttaa palautetaan vastauksena hakijalle tyhjä paluusanoma ja:
HTTP Status 404 Not found
Esimerkki Lääkkeen historiahaun Bundle resurssi-instanssista, jonka sisällä palautuu 5 resurssi-instanssia.
{ "resourceType": "Bundle", "id": "92685db0-1b58-4cea-b1fa-289e8ab58892", "type": "searchset", "total": 5, "entry": [ { "resource": { "resourceType": "MedicationRequest", ... } }, { "resource": { "resourceType": "Provenance", ... } }, { "resource": { "resourceType": "MedicationDispense", ... } }, { "resource": { "resourceType": "Provenance", ... } }, { "resource": { "resourceType": "List", ... } } ] }