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