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",
...
}
}
]
}