Snapshot 3: Connectathon 32 Base

This page is part of the FHIR Specification (v5.0.0-snapshot3: R5 Snapshot #3, to support Connectathon 32). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions

4.4.1.663 ValueSet http://hl7.org/fhir/ValueSet/obligation

FHIR Infrastructure icon Work Group Maturity Level: NNormative (from v4.0.0) Use Context: Country: World, Country: World
Official URL: http://hl7.org/fhir/ValueSet/obligation Version: 5.0.0-snapshot3
active as of 2022-12-14 Computable Name: ObligationCodesVS
Flags: Immutable OID:

This value set is used in the following places:

Obligation Codes


 

This expansion generated 14 Dec 2022


This value set contains 31 concepts

Expansion based on Obligation Codes v5.0.0-snapshot3 (CodeSystem)

CodeSystemDisplayDefinition
  ModifierCodeshttp://hl7.org/fhir/tools/CodeSystem/obligationModifierCodes

SHALL/SHOULD/MAY that can be prepended to codes that have the qualify property = true

  SHALLhttp://hl7.org/fhir/tools/CodeSystem/obligationSHALL

The functional requirement is mandatory. Applications that do not implement this functional behavior are considered non-conformant

  SHOULDhttp://hl7.org/fhir/tools/CodeSystem/obligationSHOULD

The functional requirement is a recommendation

  MAYhttp://hl7.org/fhir/tools/CodeSystem/obligationMAY

The functional requirement is presented as an option for applications to consider. Note that this is usually used to indicate a choice is still valid for an application to make

  ResourceProducerObligationshttp://hl7.org/fhir/tools/CodeSystem/obligationResourceProducerObligations

Resource producers are applications that assembles resources in the first place. Resource producers may be a server, client, sender, receiver or some middleware device, and they may store the resource, or merely hand it on.

  can-sendhttp://hl7.org/fhir/tools/CodeSystem/obligationConformant Applications SHALL/SHOULD/MAY be able to correctly populate this element

Notes: Typically, this means that an application needs to demonstrate during some conformance testing process that there are some conditions under which it populates the element with a correct value

  will-sendhttp://hl7.org/fhir/tools/CodeSystem/obligationConformant Applications SHALL/SHOULD/MAY be capable of sending this element and, if the element has a value and is allowed to be shared, include it when sending the resource

Notes: This implementation obligation means that whenever the producer knows the correct value for an element, it populates it, subject to security, consent and privacy considerations

  use-reasonhttp://hl7.org/fhir/tools/CodeSystem/obligationConformant Applications SHALL/SHOULD/MAY provide an element with a DataAbsentReason or a NullFlavor (or equivalent) if a value is not known and the element is mandatory

Notes: When no value for an element is known, the producer populates the element with a DataAbsentReason or a NullFlavor (or equivalent). If no particular reason is known or reportable, the DataAbsentReason 'unknown' is used. Which particular extension can be used, see below

  in-narrativehttp://hl7.org/fhir/tools/CodeSystem/obligationConformant Applications SHALL/SHOULD/MAY ensure that this data element is represented in any human readable representation in a resource

Notes: When no value for an element is known, the producer populates the element with a DataAbsentReason or a NullFlavor (or equivalent). If no particular reason is known or reportable, the DataAbsentReason 'unknown' is used. Which particular extension can be used, see below

  in-uihttp://hl7.org/fhir/tools/CodeSystem/obligationConformant Applications SHALL/SHOULD/MAY ensure that users can enter a value for this element during data input

Notes: Exactly what form the input takes is not specified, but the expectation is that this is a value that comes from the user, and not implied internally by the application

  in-storehttp://hl7.org/fhir/tools/CodeSystem/obligationConformant Applications SHALL/SHOULD/MAY ensure that the value for this element is stored in a persistent data store

Notes: Exactly what the data store is not specified, nor how long it is stored for, but it is understand that the same value will be available in later exchanges

  must-explainhttp://hl7.org/fhir/tools/CodeSystem/obligationDocumentation applicable to Conformant Applications SHALL/SHOULD/MAY explain how this element is handled

Notes: this is really a rule about specifications, implying that another specification (which might be application documentation) either makes this element will-send, or explains how the use cases that involve this element do not arise, or how they are handled. An example: IPA marks Patient.active must-handle and must-explain. Client applications must process Patient.active correctly if they see it, but many (though not all) specifications and/or applications ensure that Patient.active will never be false, and so it will never be populated e.g. MedMij in Netherlands prohibits use of Patient.active, and explains that it is never false.

  ExchangerObligationshttp://hl7.org/fhir/tools/CodeSystem/obligationExchangerObligations

Exchangers do not produce or consume resources; they only pass the resource on. They may store the resource in a persistent store between reception and subsequent transfer. The generic FHIR servers are exchangers, as are most middleware systems.

  preservehttp://hl7.org/fhir/tools/CodeSystem/obligationConformant Applications SHALL/SHOULD/MAY ensure that this element does not change between receiving and transfer

Notes: This does not mean that the element value cannot change, only that changing the element value for an element marked with this obligation moves an application from being an exchanger to a Consumer and a Producer, and those obligations apply

  may-alterhttp://hl7.org/fhir/tools/CodeSystem/obligationConformant Applications MAY choose not to alter this element value

Notes: this is the converse of preserve, and is really a null-statement - it's the default rule for an application. It's defined here to allow a specification to be explicit that it isn't conveying obligations for resource producers

  ResourceConsumerObligationshttp://hl7.org/fhir/tools/CodeSystem/obligationResourceConsumerObligations

Resource Consumers are applications that consume resources and do something with them, either displaying them to humans, transferring them to some other format for further re-use, or using them to drive some kind of application logic process AKA decision support. Resource Consumers often store resources, but do not need to, and whether resources are stored or not between receiving them and using them doesn't make any difference to the obligations

  no-errorhttp://hl7.org/fhir/tools/CodeSystem/obligationConformant Applications SHALL/SHOULD/MAY accept resources containing any valid value for the element without error

Notes: Applications are still able to inform the user that a value cannot be processed correctly, but applications aren't able to reject the information out of hand or ignore the element value in order to process the resource correctly (which would be allowed for elements that do not have this obligation). This obligation also applies to elements that only contain a DataAbsentReason or a NullFlavor (or equivalent), should either of these be allowed on the consumer obligations

  handlehttp://hl7.org/fhir/tools/CodeSystem/obligationConformant Applications SHALL/SHOULD/MAY handle the meaning of this element correctly

Notes: this rule is vague in that doesn't specify any particular handling of the element. But it's important because an application that ignores this element is non-conformant. A good example would be a status code of 'entered-in-error' - how exactly a Resource Consumer handles this depends on the use case etc, but the application can never simply ignore such a status code. Note that whether the resource or information from it is stored for later use is irrelevant - when the resource or information in it is processed, the consequences of the element are considered. That may mean not retaining the information for later use, or informing the user, etc. Typically, this obligation marks that there are known patient safety issues that can arise if the element is ignored. Implementers should pay particular attention to the possible range of values for the element from a safety perspective.

  displayhttp://hl7.org/fhir/tools/CodeSystem/obligationConformant Applications SHALL/SHOULD/MAY display the value of this element when presenting the data from the resource to a human user

Notes: exactly how it is displayed is not specified, but it means that a human looking at the content of the resource is made aware of the value of the element so that they can consider the meaning of the resource

  sharehttp://hl7.org/fhir/tools/CodeSystem/obligationConformant Applications SHALL/SHOULD/MAY retain the value of this element when the information from the resource is shared with other applications

Notes: this rule applies whether the information is being shared in the form of a FHIR resource, or in some other format. The rule applies whether or not the resource is stored prior to sharing.

  processhttp://hl7.org/fhir/tools/CodeSystem/obligationConformant Applications SHALL/SHOULD/MAY consider the value of this element when processing the resource as specified by the IG

Notes: this implies that the IG that specifies this obligation provides details about what processing is to be performed, and the obligation specifially relates to the processing specified in the IG DataAbsentReason or NullFlavor or equivalent when handling the resource or the information in it as specified by the other obligations.

  storehttp://hl7.org/fhir/tools/CodeSystem/obligationConformant Applications SHALL/SHOULD/MAY store the value of this element in a persistent data store

Notes: Exactly what the data store is not specified, nor how long it is stored for, but it is understand that the same value will be available in later exchanges

  printhttp://hl7.org/fhir/tools/CodeSystem/obligationConformant Applications SHALL/SHOULD/MAY print the value of this element somewhere

Notes: The form of the printing is not specified. A profile using this value SHALL explain the nature of the printing requirement somehow

  ignorehttp://hl7.org/fhir/tools/CodeSystem/obligationConformant Applications SHALL/SHOULD/MAY ignore the value of this element somewhere

Notes: This is different to can-ignore, which indicates that the application may ignore it. This is an expectation that it will be ignored

  modifyhttp://hl7.org/fhir/tools/CodeSystem/obligationConformant Applications SHALL/SHOULD/MAY keep the value of this element exactly

Notes: this is an expectation future references to the value, whether produced or consumed, will be to the exact same data. Alternative or truncated data is not allowed

  AggregateConceptshttp://hl7.org/fhir/tools/CodeSystem/obligationAggregateConcepts

Predefined common combinations

  can-populatehttp://hl7.org/fhir/tools/CodeSystem/obligationA Conformant Application MAY choose to populate this element or not

Notes: this is the converse of will-send, and is really a null-statement - it's the default rule for an application. It's defined here to allow a specification to be explicit that it isn't conveying obligations for resource producers

  can-ignorehttp://hl7.org/fhir/tools/CodeSystem/obligationA Conformant Application MAY ignore this element

Notes: this is the converse of must-handle, and is really a null-statement - it's the default rue for an application. It's defined here to allow a specification to be explicit that it isn't converying obligations for resource consumers

  v2-rehttp://hl7.org/fhir/tools/CodeSystem/obligationV2 RE

RE as defined in chapter 2 of the v2 specification

  ihe-r2http://hl7.org/fhir/tools/CodeSystem/obligationIHE R2

R2 as defined in IHE Appendix Z

  stdhttp://hl7.org/fhir/tools/CodeSystem/obligationStandard Obligations

The standard recommended set of obligations for IGs to use unless they know they want something different. Note that the standard codes don't include use-dar, use-dar-nf, use-dar-if-allowed / use-reason - that gets put on specific elements that justify this handling

 

See the full registry of value sets defined as part of FHIR.


Explanation of the columns that may appear on this page:

LvlA few code lists that FHIR defines are hierarchical - each code is assigned a level. For value sets, levels are mostly used to organize codes for user convenience, but may follow code system hierarchy - see Code System for further information
SourceThe source of the definition of the code (when the value set draws in codes defined elsewhere)
CodeThe code (used as the code in the resource instance). If the code is in italics, this indicates that the code is not selectable ('Abstract')
DisplayThe display (used in the display element of a Coding). If there is no display, implementers should not simply display the code, but map the concept into their application
DefinitionAn explanation of the meaning of the concept
CommentsAdditional notes about how to use the code