Haun vastaus

Haun HTTP vastaus (response)

HTTP vastauksen tiedot palautetaan HTTP header- ja body-osuuksiin jaettuna.

Vastauksen HTTP header

Haun HTTP-vastauksen header-osuus noudattaa Kanta-palveluiden yhteistä Kanta FHIR HTTP header määrittelyä ja siinä kuvattuja tietoja.

Vastauksen HTTP body

Onnistuneen haun vastauksena palautuu Bundle resurssi-instanssi, joka on tyypiltään (type) searchset tai history:

  • searchset, kun haetaan viimeisimmät versiot search-interaktiolla
  • history, kun haetaan kaikki versiot history-interaktiolla

Bundle resurssin tiedoissa ilmaistaan hakutulosten määrä total-elementissä. Sote-luovutuslupien tiedot palautuvat Consent-resursseissa ja niihin liittyvät metatiedot Provenance-resursseissa. Nämä palautuvat Bundle-resurssin entry-elementin sisällä.

Esimerkki Bundle resurssi-instanssista, jonka sisällä palautuu kaksi Sote-luovuotuslupaa Consent-resursseissa ja niiden metatiedot Provenance-resursseilla, kun haetaan viimeisimmät versiot:

{
    "resourceType": "Bundle",
    "type": "searchset",
    "total": 2,
    "link": [
        {
            "relation": "self",
            "url": "http://example.org/baseR4/Consent/_search?patient:identifier=1.2.246.21|300111A9001"
        }
    ],
    "entry": [
        {
            "resource": {
                "resourceType": "Consent",
                ...
            }
        },
        {
            "resource": {
                "resourceType": "Provenance",
                ...
            }
        }, 
        {
            "resource": {
                "resourceType": "Consent",
                ...
            }
        },
        {
            "resource": {
                "resourceType": "Provenance",
                ...
            }
        } 
    ]
}

Haku on onnistunut myös silloin, jos vastauksena ei palaudu yhtään Consent- ja Provenance resurssi-instanssiparia. Tällöin hakutulosten määrä (total) on nolla.

Esimerkki Bundle resurssi-instanssista, jonka hakutulos on nolla (ei ole löytynyt hakuehtoja täyttäviä sote-luovutuslupia):

{
    "resourceType": "Bundle",
    "type": "searchset",
    "total": 0,
    "link": [
        {
            "relation": "self",
            "url": "http://example.org/baseR4/Consent/_search?patient:identifier=1.2.246.21|300111A9001"
        }
    ]
}

Vastaussanoma virhetilanteessa

Virhetilanteissa vastauksena palautuu HTTP virhestatuskoodi sekä HTTP bodyssa OperationOutcome resurssi-instanssi, jolla ilmaistaan tarkempi virhe. Tahdonilmaisupalvelussa käytettävää OperationOutcome-resurssia ei ole profiloitu.

OperationOutcome-sivulla on kuvattu tarkemmin, miten Tahdonilmaisupalvelu palauttaa virheilmoitukset OperationOutcome-resussilla.

Mitätöityjen sote-luovutuslupien palautuminen hauissa

Mitätöidyt sote-luovutusluvat eivät palaudu hauissa (search-interaktiolla).