FHIR CI-Build

This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions icon

FHIR Infrastructure icon Work GroupMaturity Level: N/AStandards Status: Trial-Use

The FHIR specification is primarily concerned with valid interfaces of various kinds (APIs, messaging, etc.) and the rules for the content in resource instances exchanged between applications. Implementation guides that describe specific implementation solutions and application roles are also concerned with application behavior - what information must be provided under what conditions, and setting expectations for how particular data elements are handled.

Implementation guides can make rules about the behavior of applications by using the mustSupport and obligation features of ElementDefinition in profiles.

Note that since the base specification is only describing the interfaces and resources, not any particular solution, the base application does not specify any applications obligations in the resource definitions.

Any element can be labelled as 'must-support' using the mustSupport flag on an Element Definition in an applicable profile. Labeling an element MustSupport means that implementations that produce or consume resources SHALL provide "support" for the element in some meaningful way.

The mustSupport flag itself does not define exactly what "support" for an element means. When a profile contains an element labelled as "must-support", it SHALL also make clear exactly what kind of "support" is required, as this could involve expectations around what a system must store, display, allow data capture of, include in decision logic, pass on to other data consumers, etc.

Profiles can make the expectations clear by either:

  • Providing a narrative description of the obligations associated with the element as part of an implementation guide in which the profile is published, or in the narrative description of the element
  • Providing detailed expectations about the element using the obligation element

Note that an element that has the property IsModifier is not necessarily a "key" element (e.g. one of the important elements to make use of the resource), nor is it automatically mustSupport - however both of these things are more likely to be true for IsModifier elements than for other elements.

The base FHIR specification is intended to be independent of any particular implementation context, so no elements are flagged as mustSupport=true as part of the base specification, and no obligations are defined for any elements (except for an example profile).

If an element is labelled as "must-support", the element can specify the obligations associated with its use by providing one or more obligations using the Obligation Extension. For further details about how to use the obligation extension, consult the extension documentation.