Extensions for Using Data Elements from FHIR R4B in FHIR R5
0.1.0 - STU International flag

Extensions for Using Data Elements from FHIR R4B in FHIR R5 - Downloaded Version null See the Directory of published versions

Resource Profile: Profile_R4B_OperationOutcome_R5 - Detailed Descriptions

Page standards status: Trial-use Maturity Level: 0

Definitions for the profile-OperationOutcome resource profile.

Guidance on how to interpret the contents of this table can be foundhere

0. OperationOutcome
Definition

A collection of error, warning, or information messages that result from a system action.

ShortInformation about the success/failure of an action
Comments

Can result from the failure of a REST call or be part of the response message returned from a request message.

Control0..*
Is Modifierfalse
Must Supportfalse
Summaryfalse
Invariantsdom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource (contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty())
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated (contained.meta.versionId.empty() and contained.meta.lastUpdated.empty())
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty())
dom-6: A resource should have narrative for robust management (text.`div`.exists())
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource (contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty())
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated (contained.meta.versionId.empty() and contained.meta.lastUpdated.empty())
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty())
dom-6: A resource should have narrative for robust management (text.`div`.exists())
2. OperationOutcome.implicitRules
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

ShortA set of rules under which this content was created
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of its narrative along with other profiles, value sets, etc.

Control0..1
Typeuri
Is Modifiertrue because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies its meaning or interpretation
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
4. OperationOutcome.contained
Definition

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning.

ShortContained, inline Resources
Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags in their meta elements, but SHALL NOT have security labels.

Control0..*
This element is affected by the following invariants: dom-2, dom-4, dom-3, dom-5
TypeResource
Is Modifierfalse
Must Supportfalse
Summaryfalse
Alternate Namesinline resources, anonymous resources, contained resources
6. OperationOutcome.modifierExtension
Definition

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

ShortExtensions that cannot be ignored
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
Must Supportfalse
Summarytrue
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Alternate Namesextensions, user content
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
8. OperationOutcome.issue
Definition

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

ShortA single issue associated with the action
Control1..*
TypeBackboneElement
Is Modifierfalse
Must Supportfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
10. OperationOutcome.issue.modifierExtension
Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

ShortExtensions that cannot be ignored even if unrecognized
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
Summarytrue
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Alternate Namesextensions, user content, modifiers
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
12. OperationOutcome.issue.severity
Definition

Indicates whether the issue indicates a variation from successful processing.

Shortfatal | error | warning | information | success
Control1..1
BindingThe codes SHALL be taken from IssueSeverityhttp://hl7.org/fhir/ValueSet/issue-severity|5.0.0
(required to http://hl7.org/fhir/ValueSet/issue-severity|5.0.0)

How the issue affects the success of the action.

Typecode
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supportfalse
Summarytrue
Requirements

Indicates how relevant the issue is to the overall success of the action.

Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
14. OperationOutcome.issue.code
Definition

Describes the type 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.

ShortError or warning code
Comments

Code values should align with the severity. For example, a code of forbidden generally wouldn't make sense with a severity of information or warning. Similarly, a code of informational would generally not make sense with a severity of fatal or error. However, there are no strict rules about what severities must be used with which codes. For example, code-invalid might be a warning or error, depending on the context

Control1..1
BindingThe codes SHALL be taken from IssueTypehttp://hl7.org/fhir/ValueSet/issue-type|5.0.0
(required to http://hl7.org/fhir/ValueSet/issue-type|5.0.0)

A code that describes the type of issue.

Typecode
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supportfalse
Summarytrue
Requirements

Expresses the issue in a human and computer-friendly way, allowing the requesting system to behave differently based on the type of issue.

The required element provides a base level of computable interoperability across all systems for processing an outcome, allowing systems to respond appropriately regardless of the internal system error codes returned.

Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
16. OperationOutcome.issue.code.extension
Definition

An Extension


May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

ShortExtensionAdditional content defined by implementations
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifierfalse
Summaryfalse
Alternate Namesextensions, user content
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
SlicingThis element introduces a set of slices on OperationOutcome.issue.code.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 18. OperationOutcome.issue.code.extension:code
    Slice Namecode
    Definition

    R4B: OperationOutcome.issue.code additional codes

    ShortR4B: code additional codes
    Comments

    Element OperationOutcome.issue.code is mapped to FHIR R5 element OperationOutcome.issue.code as RelatedTo. The mappings for OperationOutcome.issue.code do not allow expression of the necessary codes, per the bindings on the source and target.

    Control0..1
    TypeExtension(R4B: code additional codes) (Extension Type: code)
    Is Modifierfalse
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())

    Guidance on how to interpret the contents of this table can be foundhere

    0. OperationOutcome
    2. OperationOutcome.issue
    4. OperationOutcome.issue.code
    6. OperationOutcome.issue.code.extension
    Control0..*
    SlicingThis element introduces a set of slices on OperationOutcome.issue.code.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ url
    • 8. OperationOutcome.issue.code.extension:code
      Slice Namecode
      Definition

      R4B: OperationOutcome.issue.code additional codes

      ShortR4B: code additional codes
      Comments

      Element OperationOutcome.issue.code is mapped to FHIR R5 element OperationOutcome.issue.code as RelatedTo. The mappings for OperationOutcome.issue.code do not allow expression of the necessary codes, per the bindings on the source and target.

      Control0..1
      TypeExtension(R4B: code additional codes) (Extension Type: code)

      Guidance on how to interpret the contents of this table can be foundhere

      0. OperationOutcome
      Definition

      A collection of error, warning, or information messages that result from a system action.

      ShortInformation about the success/failure of an action
      Comments

      Can result from the failure of a REST call or be part of the response message returned from a request message.

      Control0..*
      Is Modifierfalse
      Must Supportfalse
      Summaryfalse
      Invariantsdom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
      dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource (contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty())
      dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated (contained.meta.versionId.empty() and contained.meta.lastUpdated.empty())
      dom-5: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty())
      dom-6: A resource should have narrative for robust management (text.`div`.exists())
      2. OperationOutcome.id
      Definition

      The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

      ShortLogical id of this artifact
      Comments

      Within the context of the FHIR RESTful interactions, the resource has an id except for cases like the create and conditional update. Otherwise, the use of the resouce id depends on the given use case.

      Control0..1
      Typeid
      Is Modifierfalse
      Must Supportfalse
      Summarytrue
      4. OperationOutcome.meta
      Definition

      The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

      ShortMetadata about the resource
      Control0..1
      TypeMeta
      Is Modifierfalse
      Must Supportfalse
      Summarytrue
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      6. OperationOutcome.implicitRules
      Definition

      A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

      ShortA set of rules under which this content was created
      Comments

      Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of its narrative along with other profiles, value sets, etc.

      Control0..1
      Typeuri
      Is Modifiertrue because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies its meaning or interpretation
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Must Supportfalse
      Summarytrue
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      8. OperationOutcome.language
      Definition

      The base language in which the resource is written.

      ShortLanguage of the resource content
      Comments

      Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

      Control0..1
      BindingThe codes SHALL be taken from AllLanguages
      (required to http://hl7.org/fhir/ValueSet/all-languages|5.0.0)

      IETF language tag for a human language

      Typecode
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Must Supportfalse
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      10. OperationOutcome.text
      Definition

      A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

      ShortText summary of the resource, for human interpretation
      Comments

      Contained resources do not have a narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

      Control0..1
      This element is affected by the following invariants: dom-6
      TypeNarrative
      Is Modifierfalse
      Must Supportfalse
      Summaryfalse
      Alternate Namesnarrative, html, xhtml, display
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      12. OperationOutcome.contained
      Definition

      These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning.

      ShortContained, inline Resources
      Comments

      This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags in their meta elements, but SHALL NOT have security labels.

      Control0..*
      This element is affected by the following invariants: dom-2, dom-4, dom-3, dom-5
      TypeResource
      Is Modifierfalse
      Must Supportfalse
      Summaryfalse
      Alternate Namesinline resources, anonymous resources, contained resources
      14. OperationOutcome.extension
      Definition

      May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

      ShortAdditional content defined by implementations
      Comments

      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

      Control0..*
      TypeExtension
      Is Modifierfalse
      Must Supportfalse
      Summaryfalse
      Alternate Namesextensions, user content
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      16. OperationOutcome.modifierExtension
      Definition

      May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

      Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

      ShortExtensions that cannot be ignored
      Comments

      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

      Control0..*
      TypeExtension
      Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
      Must Supportfalse
      Summarytrue
      Requirements

      Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

      Alternate Namesextensions, user content
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      18. OperationOutcome.issue
      Definition

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

      ShortA single issue associated with the action
      Control1..*
      TypeBackboneElement
      Is Modifierfalse
      Must Supportfalse
      Summarytrue
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      20. OperationOutcome.issue.id
      Definition

      Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

      ShortUnique id for inter-element referencing
      Control0..1
      This element is affected by the following invariants: ele-1
      Typestring
      Is Modifierfalse
      XML FormatIn the XML format, this property is represented as an attribute.
      Summaryfalse
      22. OperationOutcome.issue.extension
      Definition

      May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

      ShortAdditional content defined by implementations
      Comments

      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

      Control0..*
      TypeExtension
      Is Modifierfalse
      Summaryfalse
      Alternate Namesextensions, user content
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      24. OperationOutcome.issue.modifierExtension
      Definition

      May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

      Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

      ShortExtensions that cannot be ignored even if unrecognized
      Comments

      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

      Control0..*
      TypeExtension
      Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
      Summarytrue
      Requirements

      Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

      Alternate Namesextensions, user content, modifiers
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      26. OperationOutcome.issue.severity
      Definition

      Indicates whether the issue indicates a variation from successful processing.

      Shortfatal | error | warning | information | success
      Control1..1
      BindingThe codes SHALL be taken from IssueSeverity
      (required to http://hl7.org/fhir/ValueSet/issue-severity|5.0.0)

      How the issue affects the success of the action.

      Typecode
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Must Supportfalse
      Summarytrue
      Requirements

      Indicates how relevant the issue is to the overall success of the action.

      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      28. OperationOutcome.issue.code
      Definition

      Describes the type 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.

      ShortError or warning code
      Comments

      Code values should align with the severity. For example, a code of forbidden generally wouldn't make sense with a severity of information or warning. Similarly, a code of informational would generally not make sense with a severity of fatal or error. However, there are no strict rules about what severities must be used with which codes. For example, code-invalid might be a warning or error, depending on the context

      Control1..1
      BindingThe codes SHALL be taken from IssueType
      (required to http://hl7.org/fhir/ValueSet/issue-type|5.0.0)

      A code that describes the type of issue.

      Typecode
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Must Supportfalse
      Summarytrue
      Requirements

      Expresses the issue in a human and computer-friendly way, allowing the requesting system to behave differently based on the type of issue.

      The required element provides a base level of computable interoperability across all systems for processing an outcome, allowing systems to respond appropriately regardless of the internal system error codes returned.

      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      30. OperationOutcome.issue.code.id
      Definition

      unique id for the element within a resource (for internal references)

      Shortxml:id (or equivalent in JSON)
      Control0..1
      Typestring
      Is Modifierfalse
      XML FormatIn the XML format, this property is represented as an attribute.
      Summaryfalse
      32. OperationOutcome.issue.code.extension
      Definition

      An Extension

      ShortExtension
      Control0..*
      TypeExtension
      Is Modifierfalse
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      SlicingThis element introduces a set of slices on OperationOutcome.issue.code.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
      • value @ url
      • 34. OperationOutcome.issue.code.extension:code
        Slice Namecode
        Definition

        R4B: OperationOutcome.issue.code additional codes

        ShortR4B: code additional codes
        Comments

        Element OperationOutcome.issue.code is mapped to FHIR R5 element OperationOutcome.issue.code as RelatedTo. The mappings for OperationOutcome.issue.code do not allow expression of the necessary codes, per the bindings on the source and target.

        Control0..1
        TypeExtension(R4B: code additional codes) (Extension Type: code)
        Is Modifierfalse
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
        36. OperationOutcome.issue.code.value
        Definition

        Primitive value for code

        ShortPrimitive value for code
        Control0..1
        Typecode
        Is Modifierfalse
        XML FormatIn the XML format, this property is represented as an attribute.
        Summaryfalse
        38. OperationOutcome.issue.details
        Definition

        Additional details about the error. This may be a text description of the error or a system code that identifies the error.

        ShortAdditional details about the error
        Comments

        A human readable description of the error issue SHOULD be placed in details.text.

        Control0..1
        BindingFor example codes, see OperationOutcomeCodes
        (example to http://hl7.org/fhir/ValueSet/operation-outcome|5.0.0)

        A code that provides details as the exact issue.

        TypeCodeableConcept
        Is Modifierfalse
        Must Supportfalse
        Summarytrue
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        40. OperationOutcome.issue.diagnostics
        Definition

        Additional diagnostic information about the issue.

        ShortAdditional diagnostic information about the issue
        Comments

        This may be a description of how a value is erroneous, a stack dump to help trace the issue or other troubleshooting information.

        Control0..1
        Typestring
        Is Modifierfalse
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Must Supportfalse
        Summarytrue
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        42. OperationOutcome.issue.location
        Definition

        This element is deprecated because it is XML specific. It is replaced by issue.expression, which is format independent, and simpler to parse.

        For resource issues, this will be a simple XPath limited to element names, repetition indicators and the default child accessor that identifies one of the elements in the resource that caused this issue to be raised. For HTTP errors, will be "http." + the parameter name.

        ShortDeprecated: Path of element(s) related to issue
        Comments

        The root of the XPath is the resource or bundle that generated OperationOutcome. Each XPath SHALL resolve to a single node. This element is deprecated, and is being replaced by expression.

        Control0..*
        Typestring
        Is Modifierfalse
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Must Supportfalse
        Summarytrue
        Requirements

        Allows systems to highlight or otherwise guide users to elements implicated in issues to allow them to be fixed more easily.

        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        44. OperationOutcome.issue.expression
        Definition

        A simple subset of FHIRPath limited to element names, repetition indicators and the default child accessor that identifies one of the elements in the resource that caused this issue to be raised.

        ShortFHIRPath of element(s) related to issue
        Comments

        The root of the FHIRPath is the resource or bundle that generated OperationOutcome. Each FHIRPath SHALL resolve to a single node.

        Control0..*
        Typestring
        Is Modifierfalse
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Must Supportfalse
        Summarytrue
        Requirements

        Allows systems to highlight or otherwise guide users to elements implicated in issues to allow them to be fixed more easily.

        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))