FHIR Extensions Pack
5.3.0-ballot-tc1 - (September 2025 Ballot) International flag

FHIR Extensions Pack, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 5.3.0-ballot-tc1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-extensions/ and changes regularly. See the Directory of published versions

ValueSet: Obligation Codes ValueSet

Official URL: http://hl7.org/fhir/ValueSet/obligation Version: 5.3.0-ballot-tc1
Standards status: Trial-use Maturity Level: 1 Computable Name: ObligationCodesVS
Other Identifiers: OID:2.16.840.1.113883.4.642.3.3329

Obligation Codes

References

Changes since version 5.2.0:

  • No changes
  • Logical Definition (CLD)

     

    Expansion

    Expansion performed internally based on codesystem Obligation Codes v5.3.0-ballot-tc1 (CodeSystem)

    This value set contains 46 concepts

    SystemCodeDisplay (en)DefinitionJSONXML
    http://hl7.org/fhir/CodeSystem/obligation  SHALL:populateSHALL populate

    Conformant applications producing resources SHALL include this element if a value is known and allowed to be shared. Notes: This implementation obligation means that whenever the producer knows the correct value for an element, it populates it. This is NOT the same as cardinality, as a 'populate' element can be omitted if no data exists or the data that exists is prohibited from being shared. Organizations might be required to formally document their rules for determining when they are 'able to share' as part of conformance testing processes. (e.g. regulatory, consent, etc.)

    http://hl7.org/fhir/CodeSystem/obligation  ihe-r2IHE R2

    R2 as defined in IHE Appendix Z

    http://hl7.org/fhir/CodeSystem/obligation  stdStandard 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

    http://hl7.org/fhir/CodeSystem/obligation  SHOULD:populateSHOULD populate

    Conformant applications producing resources SHOULD include this element if a value is known and allowed to be shared. Notes: This implementation obligation means that whenever the producer knows the correct value for an element, it should populate it. This is NOT the same as cardinality, as a 'populate' element can be omitted if no data exists or the data that exists is prohibited from being shared. Organizations might be required to formally document their rules for determining when they are 'able to share' as part of conformance testing processes. (e.g. regulatory, consent, etc.)

    http://hl7.org/fhir/CodeSystem/obligation  v2-reV2 RE (required but may be empty)

    RE as defined in chapter 2 of the v2 specification

    http://hl7.org/fhir/CodeSystem/obligation  SHALL:able-to-populateSHALL be able to populate

    Conformant applications producing resources SHALL 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. (i.e. not a data-absent-reason or equivalent.) This obligation does not impose expectations on the circumstances in which the element will be sent, only that it can be in at least some situations.

    http://hl7.org/fhir/CodeSystem/obligation  SHOULD:able-to-populateSHOULD be able to populate

    Conformant applications producing resources SHOULD 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. (i.e. not a data-absent-reason or equivalent.) This obligation does not impose expectations on the circumstances in which the element will be sent, only that it shold be in at least some situations.

    http://hl7.org/fhir/CodeSystem/obligation  MAY:able-to-populateMAY be able to populate

    Conformant applications producing resources 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. (i.e. not a data-absent-reason or equivalent.) This obligation does not impose expectations on the circumstances in which the element will be sent, only that it may be in at least some situations. This is a null statement and is the default behavior for originating systems if other obligations are not specified.

    http://hl7.org/fhir/CodeSystem/obligation  SHALL:populate-if-knownSHALL populate if known

    Conformant applications producing resources SHALL correctly populate this element if they know a value for the element, but it is acceptable if the system is unable to ever know a value for the element. Notes: This obligation does not impose a requirement to be able to know a value, unlike populate and able-to-populate which do. 'Knowing' an element means that a value for the element is available in memory, persistent store, or is otherwise available within the system claiming conformance.

    http://hl7.org/fhir/CodeSystem/obligation  SHOULD:populate-if-knownSHOULD populate if known

    Conformant applications producing resources SHOULD correctly populate this element if they know a value for the element, but it is acceptable if the system is unable to ever know a value for the element. Notes: This obligation does not impose a requirement to be able to know a value, unlike populate and able-to-populate which do. 'Knowing' an element means that a value for the element is available in memory, persistent store, or is otherwise available within the system claiming conformance.

    http://hl7.org/fhir/CodeSystem/obligation  SHALL:in-narrativeSHALL include in narrative

    Conformant applications SHALL ensure that this data element is represented in any human readable representation of a resource. Notes: When no value for an element is known, the producer populates the narrative with the content of any nested ElementDefinition.valueAlternatives extensions such as DataAbsentReason. If no particular reason is known or reportable, the element can simply be indicated as 'unknown' in the narrative.

    http://hl7.org/fhir/CodeSystem/obligation  SHOULD:in-narrativeSHOULD include in narrative

    Conformant applications SHOULD ensure that this data element is represented in any human readable representation of a resource. Notes: When no value for an element is known, the producer populates the narrative with the content of any nested ElementDefinition.valueAlternatives extensions such as DataAbsentReason. If no particular reason is known or reportable, the element can simply be indicated as 'unknown' in the narrative.

    http://hl7.org/fhir/CodeSystem/obligation  MAY:in-narrativeMAY include in narrative

    Conformant applications MAY ensure that this data element is represented in any human readable representation of a resource. Notes: When no value for an element is known, the producer populates the narrative with the content of any nested ElementDefinition.valueAlternatives extensions such as DataAbsentReason. If no particular reason is known or reportable, the element can simply be indicated as 'unknown' in the narrative.

    http://hl7.org/fhir/CodeSystem/obligation  SHALL:exclude-narrativeSHALL exclude from narrative

    Conformant applications SHALL ensure that this data element is NOT represented in any human readable representation of a resource. Notes: This may be useful for profiles related to de-identified records

    http://hl7.org/fhir/CodeSystem/obligation  SHOULD:exclude-narrativeSHOULD exclude from narrative

    Conformant applications SHOULD ensure that this data element is NOT represented in any human readable representation of a resource. Notes: This may be useful for profiles related to de-identified records

    http://hl7.org/fhir/CodeSystem/obligation  SHALL:user-inputSHALL allow user input

    Conformant applications SHALL ensure that users can enter a value for this element during data input/capture. 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.

    http://hl7.org/fhir/CodeSystem/obligation  SHOULD:user-inputSHOULD allow user input

    Conformant applications SHOULD ensure that users can enter a value for this element during data input/capture. 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.

    http://hl7.org/fhir/CodeSystem/obligation  MAY:user-inputMAY allow user input

    Conformant applications MAY ensure that users can enter a value for this element during data input/capture. 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.

    http://hl7.org/fhir/CodeSystem/obligation  SHALL:explainSHALL populate or document irrelevance

    Documentation applicable to Conformant applications SHALL 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 populate, 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.

    http://hl7.org/fhir/CodeSystem/obligation  SHOULD:explainSHOULD populate or document irrelevance

    Documentation applicable to Conformant applications SHOULD 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 populate, 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.

    http://hl7.org/fhir/CodeSystem/obligation  SHALL:persistSHALL persist

    Conformant applications SHALL 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 understood that the same value will be available in later exchanges

    http://hl7.org/fhir/CodeSystem/obligation  SHOULD:persistSHOULD persist

    Conformant applications SHOULD 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 understood that the same value will be available in later exchanges

    http://hl7.org/fhir/CodeSystem/obligation  MAY:persistMAY persist

    Conformant applications 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 understood that the same value will be available in later exchanges

    http://hl7.org/fhir/CodeSystem/obligation  SHALL:no-alterSHALL not alter

    Conformant applications SHALL 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

    http://hl7.org/fhir/CodeSystem/obligation  SHOULD:no-alterSHOULD not alter

    Conformant applications SHOULD 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

    http://hl7.org/fhir/CodeSystem/obligation  MAY:alterMAY alter

    Conformant applications MAY choose to alter this element value. Notes: this 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

    http://hl7.org/fhir/CodeSystem/obligation  SHALL:no-errorSHALL not error if present

    Conformant applications SHALL 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 and may ignore the data, but applications aren't able to reject an instance merely because the element is present (which would be allowed for elements that do not have this obligation). A system MAY raise an error if the value provided is not valid or violates specific business rules. This obligation also applies to elements that only contain an extension in place of a value where (or equivalent), should either of these be allowed on the consumer obligations

    http://hl7.org/fhir/CodeSystem/obligation  SHOULD:no-errorSHOULD not error if present

    Conformant applications SHOULD 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 and may ignore the data, but applications aren't able to reject an instance merely because the element is present (which would be allowed for elements that do not have this obligation). A system MAY raise an error if the value provided is not valid or violates specific business rules. This obligation also applies to elements that only contain an extension in place of a value where (or equivalent), should either of these be allowed on the consumer obligations

    http://hl7.org/fhir/CodeSystem/obligation  SHALL:reject-invalidSHALL reject invalid

    Conformant applications SHALL check that values for this element meet all data constraints asserted within the profile declaring this obligation. If validity issues are found, the system SHALL not accept the instance. Notes: This applies to validating the element with the obligation, but not resources referenced by it.

    http://hl7.org/fhir/CodeSystem/obligation  SHOULD:reject-invalidSHOULD reject invalid

    Conformant applications SHOULD check that values for this element meet all data constraints asserted within the profile declaring this obligation. If validity issues are found, the system SHOULD not accept the instance. Notes: This applies to validating the element with the obligation, but not resources referenced by it.

    http://hl7.org/fhir/CodeSystem/obligation  SHALL:accept-invalidSHALL accept invalid

    Conformant applications SHALL accept data that does not meet all data constraints asserted within the profile declaring this obligation. This applies to non-valid constraints, not to non-valid syntax or failure to meet base resource validity expectations. Typically used when a system needs to be able to handle data that does not adhere to desired expectations (legacy data, test data, data undergoing authorship that is not yet complete, etc.)

    http://hl7.org/fhir/CodeSystem/obligation  SHOULD:accept-invalidSHOULD accept invalid

    Conformant applications SHOULD accept data that does not meet all data constraints asserted within the profile declaring this obligation. This applies to non-valid constraints, not to non-valid syntax or failure to meet base resource validity expectations. Typically used when a system ought to be able to handle data that does not adhere to desired expectations (legacy data, test data, data undergoing authorship that is not yet complete, etc.)

    http://hl7.org/fhir/CodeSystem/obligation  SHALL:displaySHALL display

    Conformant applications SHALL 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

    http://hl7.org/fhir/CodeSystem/obligation  SHOULD:displaySHOULD display

    Conformant applications SHOULD 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

    http://hl7.org/fhir/CodeSystem/obligation  MAY:displayMAY display

    Conformant applications 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

    http://hl7.org/fhir/CodeSystem/obligation  SHALL:processSHALL process

    Conformant applications SHALL 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 of any ElementDefinition.valueAlternatives extensions as well as the value (or other extensions explicitly declared beneath the element in the profile containing the obligation. Examples might include consideration in decision support, consideration in claims evaluation, etc.

    http://hl7.org/fhir/CodeSystem/obligation  SHOULD:processSHOULD process

    Conformant applications SHOULD 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 of any ElementDefinition.valueAlternatives extensions as well as the value (or other extensions explicitly declared beneath the element in the profile containing the obligation. Examples might include consideration in decision support, consideration in claims evaluation, etc.

    http://hl7.org/fhir/CodeSystem/obligation  MAY:processMAY process

    Conformant applications 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 of any ElementDefinition.valueAlternatives extensions as well as the value (or other extensions explicitly declared beneath the element in the profile containing the obligation. Examples might include consideration in decision support, consideration in claims evaluation, etc.

    http://hl7.org/fhir/CodeSystem/obligation  SHALL:printSHALL print

    Conformant applications SHALL 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

    http://hl7.org/fhir/CodeSystem/obligation  SHOULD:printSHOULD print

    Conformant applications SHOULD 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

    http://hl7.org/fhir/CodeSystem/obligation  MAY:printMAY print

    Conformant applications 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

    http://hl7.org/fhir/CodeSystem/obligation  SHALL:handleSHALL correctly handle

    Conformant applications SHALL 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.

    http://hl7.org/fhir/CodeSystem/obligation  SHOULD:handleSHOULD correctly handle

    Conformant applications SHOULD 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.

    http://hl7.org/fhir/CodeSystem/obligation  SHALL:ignoreSHALL ignore

    Conformant applications SHALL not make any use of the value of this element if received.

    http://hl7.org/fhir/CodeSystem/obligation  SHOULD:ignoreSHOULD ignore

    Conformant applications SHOULD not make any use of the value of this element if received.

    http://hl7.org/fhir/CodeSystem/obligation  MAY:ignoreMAY ignore

    Conformant applications MAY not make any use of the value of this element if received. This is a null statement and is the default behavior or consuming systems if other obligations are not specified.


    Explanation of the columns that may appear on this page:

    Level A few code lists that FHIR defines are hierarchical - each code is assigned a level. In this scheme, some codes are under other codes, and imply that the code they are under also applies
    System The source of the definition of the code (when the value set draws in codes defined elsewhere)
    Code The code (used as the code in the resource instance)
    Display The 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
    Definition An explanation of the meaning of the concept
    Comments Additional notes about how to use the code