FHIR Artifacts > Structure Definition: OperationOutcome Profile

Structure Definition: OperationOutcome Profile

Canonical URL:http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-OperationOutcome

Simplifier project page: OperationOutcome

Derived from: OperationOutcome (R4)

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work

Differential View

idΣ0..1string
id0..1string
extensionI0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
severityS Σ1..1codeBinding
codeS Σ1..1codeBinding
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ0..1uri
versionΣ0..1string
codeS Σ0..1code
displayS Σ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
diagnosticsS Σ0..1string
locationS Σ0..*string
expressionS Σ0..*string

Hybrid View

idΣ0..1string
id0..1string
extensionI0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
severityS Σ1..1codeBinding
codeS Σ1..1codeBinding
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ0..1uri
versionΣ0..1string
codeS Σ0..1code
displayS Σ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
diagnosticsS Σ0..1string
locationS Σ0..*string
expressionS Σ0..*string

Snapshot View

idΣ0..1string
id0..1string
extensionI0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
severityS Σ1..1codeBinding
codeS Σ1..1codeBinding
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ0..1uri
versionΣ0..1string
codeS Σ0..1code
displayS Σ0..1string
userSelectedΣ0..1boolean
textS Σ0..1string
diagnosticsS Σ0..1string
locationS Σ0..*string
expressionS Σ0..*string

Table View

OperationOutcome..
OperationOutcome.meta1..
OperationOutcome.meta.profile1..
OperationOutcome.issue..
OperationOutcome.issue.severity..
OperationOutcome.issue.code..
OperationOutcome.issue.details..
OperationOutcome.issue.details.coding..
OperationOutcome.issue.details.coding.system..
OperationOutcome.issue.details.coding.code..
OperationOutcome.issue.details.coding.display..
OperationOutcome.issue.details.text..
OperationOutcome.issue.diagnostics..
OperationOutcome.issue.location..
OperationOutcome.issue.expression..

JSON View

{
    "resourceType": "StructureDefinition",
    "id": "ca-on-eReferral-profile-OperationOutcome",
    "url": "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-OperationOutcome",
    "version": "1.0.0",
    "name": "EReferralOperationOutcome",
    "title": "OperationOutcome",
    "status": "draft",
    "description": "Operation outcomes are sets of error, warning and information messages that provide detailed information about the outcome of an attempted system operation. They are provided as a direct system response, or component of one, and provide information about the outcome of the operation.",
    "fhirVersion": "4.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "OperationOutcome",
    "baseDefinition": "http://hl7.org/fhir/StructureDefinition/OperationOutcome",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "OperationOutcome.meta",
                "path": "OperationOutcome.meta",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "OperationOutcome.meta.profile",
                "path": "OperationOutcome.meta.profile",
                "comment": "#### **_` FOR eREFERRAL USAGE: The meta.profile = http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-OperationOutcome|1.0.0 `_**\n\nIt is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time.  The list of profile URLs is a set.",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "OperationOutcome.issue",
                "path": "OperationOutcome.issue",
                "mustSupport": true
            },
            {
                "id": "OperationOutcome.issue.severity",
                "path": "OperationOutcome.issue.severity",
                "mustSupport": true
            },
            {
                "id": "OperationOutcome.issue.code",
                "path": "OperationOutcome.issue.code",
                "mustSupport": true,
                "binding": {
                    "strength": "required",
                    "valueSet": "http://hl7.org/fhir/ValueSet/issue-type"
                }
            },
            {
                "id": "OperationOutcome.issue.details",
                "path": "OperationOutcome.issue.details",
                "mustSupport": true
            },
            {
                "id": "OperationOutcome.issue.details.coding",
                "path": "OperationOutcome.issue.details.coding",
                "mustSupport": true
            },
            {
                "id": "OperationOutcome.issue.details.coding.system",
                "path": "OperationOutcome.issue.details.coding.system",
                "mustSupport": true
            },
            {
                "id": "OperationOutcome.issue.details.coding.code",
                "path": "OperationOutcome.issue.details.coding.code",
                "mustSupport": true
            },
            {
                "id": "OperationOutcome.issue.details.coding.display",
                "path": "OperationOutcome.issue.details.coding.display",
                "mustSupport": true
            },
            {
                "id": "OperationOutcome.issue.details.text",
                "path": "OperationOutcome.issue.details.text",
                "mustSupport": true
            },
            {
                "id": "OperationOutcome.issue.diagnostics",
                "path": "OperationOutcome.issue.diagnostics",
                "mustSupport": true
            },
            {
                "id": "OperationOutcome.issue.location",
                "path": "OperationOutcome.issue.location",
                "mustSupport": true
            },
            {
                "id": "OperationOutcome.issue.expression",
                "path": "OperationOutcome.issue.expression",
                "mustSupport": true
            }
        ]
    }
}

STABILITY RISK: This profile is undergoing Ontario Health harmonization and may be adjusted as part of this process (e.g., adjustments to Must Support obligations).

Usage

OperationOutcome is used to provide more detailed description of any issues that occurred during execution of a registry operation. Specific profiles are provided on the resource to reflect expectations of its use for each registry. However, the general conventions are the same:

  • OperationOutcome can either be the sole response to an operation (generally accompanying an HTTP code that indicates a failure) or it can be part of a Bundle indicating potential warnings associated with the generation of the search response.

  • If an OperationOutcome is returned with anything other than a success (200), the issues it contains will be of type 'error' or 'fatal'. (Fatal is used for issues that occur before the query can be exercised, 'error' is used for issues that occur during query execution.

  • OperationOutcomes returned as part of a Bundle will only contain 'warning' and 'information' messages. The user should always be made aware of the existence of these messages and the user should have the opportunity to review all such messages

See responses handling for more information.

Notes

.meta.profile

  • used to declare conformance to this profile
  • populate with the fixed value: http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-OperationOutcome|1.0.0

.issue

  • an error, warning or information message that results from a system action.

.issue.severity

  • a code that identifies how the issue affects the success of the action.

.issue.code

  • a code that provides a standardized description of the issue
  • the system that creates an OperationOutcome SHALL choose the most applicable code from the IssueType value set, and may additional provide its own code for the error in the details element.
  • systems MAY create logic based on the specific code returned

.issue.details.text

  • the details of the issue or warning
  • systems SHOULD always display the text to the end user

issue.details.coding

  • intended for diagnostic purposes
  • will generally only be relevant to help-desk personnel
  • systems MAY make access to this information available to users by clicking on a button rather but SHOULD AVOID displaying information directly to end users that would be confusing

issue.diagnostics

  • intended for diagnostic purposes
  • will generally only be relevant to help-desk personnel
  • systems MAY make access to this information available to users by clicking on a button rather but SHOULD AVOID displaying information directly to end users that would be confusing

issue.location

  • intended for diagnostic purposes
    • expressed as an XPath regardless of whether the submitted content is XML or JSON
    • will only occur if the problem is with a submitted FHIR instance (i.e.: will not be present if the issue is for query parameters, HTTP headers, etc.)
  • will generally only be relevant to help-desk personnel
  • systems MAY make access to this information available to users by clicking on a button rather but SHOULD AVOID displaying information directly to end users that would be confusing