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 searchset (type). Bundle resurssin tiedoissa ilmaistaan hakutulosten määrä total-elementissä. Ajanvarauksen tiedot palautuvat Appointment-resursseissa ja niihin liittyvät metatiedot Provenance-resurseissa, nämä palautuvat Bundle-resurssin entry-elementin sisällä.
Esimerkki Bundle resurssi-instanssista, jonka sisällä palautuu kaksi ajanvarausta Appointment-resursseissa ja niiden metatiedot Provenance-resursseilla:
{
"resourceType": "Bundle",
"id": "92685db0-1b58-4cea-b1fa-289e8ab58811",
"type": "searchset",
"total": 2,
"entry": [
{
"resource": {
"resourceType": "Appointment",
...
}
},
{
"resource": {
"resourceType": "Provenance",
...
}
},
{
"resource": {
"resourceType": "Appointment",
...
}
},
{
"resource": {
"resourceType": "Provenance",
...
}
}
]
}
Esimerkki vastaussanomasta, jossa välitetään tieto potilaan antaman luovutusluvan puuttumisesta, mikä vaikuttaa palautettavaan tulosjoukkoon.
{
"resourceType": "Bundle",
"id": "92685db0-1b58-4cea-b1fa-289e8ab58811",
"type": "searchset",
"total": 1,
"entry": [
{
"resource": {
"resourceType": "Appointment",
...
}
},
{
"resource": {
"resourceType": "Provenance",
...
}
},
{
"resource": {
"resourceType": "OperationOutcome",
"id": "warning",
"issue": [
{
"severity": "warning",
"code": "not-found",
"details": {
"text": "Luovutuslupa puuttuu"
}
}
]
}
}
]
}
Haku on onnistunut myös silloin, jos vastauksena ei palaudu yhtään Appointment- 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ä ajanvarauksia):
{
"resourceType": "Bundle",
"id": "073ce2b1-4c39-4cae-a479-ca59c8f74fef",
"type": "searchset",
"total": 0,
}
Vastaussanoma virhetilanteessa
Virhetilanteissa vastauksena palautuu HTTP virhestatuskoodi sekä HTTP bodyssa OperationOutcome resurssi-instanssi, jolla ilmaistaan tarkempi virhe. Potilastietovarannossa käytettävää OperationOutcome-resurssia ei ole profiloitu.
OperationOutcome-sivulla on kuvattu tarkemmin, miten Potilastietovaranto palauttaa virheilmoitukset OperationOutcome-resussilla.
Mitätöityjen ajanvarausten palautuminen hauissa
Mitätöidyt ajanvaraukset eivät palaudu normaaleissa hauissa (search-interaktiolla).
Asiakirjan korvauksen syy -luokituksen koodilla 4 mitätöidyt ajanvaraukset ovat haettavissa ainoastaan arkistonhoitajan käyttöliittymän kautta.
Asiakirjan korvauksen syy -luokituksen koodilla 2 mitätöidyt ajanvaraukset palautetaan, kun haetaan ajanvarausten kaikki versiot history-interaktiolla.
Alla on esimerkki mitätöidyn ajanvarauksen palautumisesta history-interaktion haussa, esimerkissä palautetaan ajanvaraus, jolle löytyy Potilastietovarannosta
- Ajanvarauksen mitätöinti syykoodilla 2
- Ajanvarauksen 2. versio
- Ajanvarauksen 1. versio
{
"resourceType": "Bundle",
"type": "searchset",
"entry": [
{
"fullUrl": (kertoo, mitä resurssia entry koskee)
"resource": {
"resourceType": "Provenance",
-- Mitätöinnissä käytetty provenance, joka sisältää mitätöijän tiedot, mitätöinnin syyn jne. --
},
"request": {
"method": "POST",
"url": "Provenance"
}
},
{
"fullUrl": (kertoo, mitä resurssia entry koskee)
"request": {
"method": "DELETE",
"url": "Appointment/ce5ea340-adfd-40f2-87d4-a25e4f8bf201"
}
},
{
"fullUrl": (kertoo, mitä resurssia entry koskee)
"resource": {
"resourceType": "Appointment",
"id": "ce5ea340-adfd-40f2-87d4-a25e4f8bf201",
-- resurssin 2. versio --
},
"request": {
"method": "PUT",
"url": "Appointment/ce5ea340-adfd-40f2-87d4-a25e4f8bf201"
}
},
{
"fullUrl": (kertoo, mitä resurssia entry koskee)
"resource": {
"resourceType": "Provenance",
-- 2. version provenance --
},
"request": {
"method": "POST",
"url": "Provenance"
}
},
{
"fullUrl": (kertoo, mitä resurssia entry koskee)
"resource": {
"resourceType": "Appointment",
"id": "ce5ea340-adfd-40f2-87d4-a25e4f8bf201",
-- resurssin 1. versio --
},
"request": {
"method": "POST",
"url": "Appointment"
}
},
{
"fullUrl": (kertoo, mitä resurssia entry koskee)
"resource": {
"resourceType": "Provenance",
-- 1. version provenance --
},
"request": {
"method": "POST",
"url": "Provenance"
}
}
]
}