Virhevastauksia

Vastauksen HTTP header virhetilanteissa

HTTP-vastauksen header-tiedot on kuvattu Kanta-palvelujen yhteisessä FHIR- ja REST-soveltamisoppaassa sivulla Kanta HTTP header-tiedot FHIR-rajapinnassa.

Virhetilanteissa vastaussanoman HTTP headerissä olennaisimmat tiedot ovat virhestatuskoodi ja x-request-id eli pyyntösanomassa annettu yksilöivä tunniste. Alla esimerkki näistä headerin tiedoista. Vastaavat tiedot tulevat headerissä kaikissa tällä sivulla kuvatuissa virhetilanteissa.

HTTP/1.1 401
x-request-id: 1.2.246.10.11753352.93.2009.103352021711712025

Virheellinen tai vanhentunut token

Vastauksessa tulee HTTP header, jossa on virhestatuskoodi 401. Vastauksessa ei palaudu HTTP body-osaa.

Epävalidi sanoma

Esimerkiksi hakusanoma liian pitkä, hakusanoman body tai pakollinen header puuttuu.

Vastauksessa tulee HTTP header, jossa on virhestatuskoodi 400. Vastauksessa ei palaudu HTTP body-osaa.

Syntaksivirhe hakusanoman parametreissa

Esimerkiksi pakollinen parametri puuttuu tai hakuparametreissa käytetty kiellettyä hakuparametriyhdistelmää.

Vastauksessa tulee HTTP header, jossa virhestatuskoodi 400, ja HTTP body-osa, jossa tarkemmin virheestä kertova OperationOutcome-resurssi. Alla esimerkki virhevastauksen headerin olennaisista kentistä ja body-osan sisällöstä.

HTTP/1.1 400 
x-request-id: 1.2.246.10.11753342.93.2009.103342963000036924
content-type: application/fhir+json;charset=utf-8

{
    "resourceType": "OperationOutcome",
    "issue": [{
            "severity": "error",
            "code": "processing",
            "details": {
                "coding": [{
                        "system": "urn:oid:1.2.246.537.5.40112.2006",
                        "code": "4Y00007",
                        "display": "Pakollinen tieto puuttuu [patient:identifier]"
                    }
                ]
            },
            "diagnostics": "Pakollinen tieto puuttuu [patient:identifier]"
        }
    ]
}

Sisäinen tekninen virhe

HRP-palvelussa sisäinen tekninen virhe. Vastauksessa tulee HTTP header, jossa on virhestatuskoodi 500. Vastauksessa ei palaudu HTTP body-osaa.