OperationOutcome

Virhetilanteissa Potilastietovaranto palauttaa vastaussanomassa OperationOutcome-resurssin.

Potilastietovaranto voi palauttaa kerralla useampia virheitä, esim. kaikki arkistointisanoman tarkastuksessa havaitut virheet. Usean virheilmoituksen palauttaminen tehdään toistamalla OperationOutcomen issue-rakennetta.

OperationOutcome-resurssi sisältää vähintään yhden issue-objektin, jossa on koodistolla Kanta-palvelut - Prosessivirheet ja huomautukset virhekoodiston mukainen virhekoodi:

  • severity-elementin arvo on ”error”.
  • details-elementin tietotyyppi on CodeableConcept ja se rakentuu Coding-tietotyypistä ja text-elementistä. Text-elementtiä ei käytetä palauttamassa virhevastauksessa. Coding-tietotyypin elementeissä tiedot annetaan seuraavasti:
    • system-elementissä ilmoitetaan virheiden ilmoittamisessa käytettävä koodisto Kanta-palvelut - Prosessivirheet ja huomautukset (1.2.246.537.5.40112.2006).
    • code-elementissä ilmoitetaan virhekoodi koodistolla Kanta-palvelut - Prosessivirheet ja huomautukset
    • display-elementissä ilmoitetaan virhekoodia vastaava selite koodistossa Kanta-palvelut - Prosessivirheet ja huomautukset
  • diagnostics-elementillä voidaan palauttaa virheen tarkempi kuvaus.
{
	"resourceType": "OperationOutcome",
	"issue": [
		{	
			"extension": [
				{
					"url": "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-line",
					"valueInteger": 1
				}, 
				{
					"url": "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-col",
					"valueInteger": 2576
				}, 
				{
					"url": "http://hl7.org/fhir/StructureDefinition/operationoutcome-message-id",
					"valueString": "Validation_VAL_Profile_Minimum"
				}
			],
			"severity": "error",
			"code": "processing",
			"details": {
				"coding": [
					{
						"system": "http://hl7.org/fhir/java-core-messageId",
						"code": "Validation_VAL_Profile_Minimum"
					}
				]
			},
			"diagnostics": "Appointment.identifier.value: minimum required = 1, but only found 0 (from https://pta.kanta.fi/fhir/StructureDefinition/AppointmentAppointment)",
			"location": ["Bundle.entry[0].resource/*Appointment/null*/.identifier[0]", "Line[1] Col[2576]"]
		},
		{
			"severity": "error",
			"code": "invalid",
			"details": {
				"coding": [
					{
						"system": "urn:oid:1.2.246.537.5.40112.2006",
						"code": "4Y00007",
						"display": "Virhe sanoman eheydessä."
					}
				]
			},
			"diagnostics": "Joissain tapauksissa virheen tarkempi kuvaus."
		}
	]
}