Release 5 Draft Ballot

This page is part of the FHIR Specification (v4.6.0: R5 Draft Ballot). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions

Extension: type-must-support

FHIR Infrastructure Work Group Maturity Level: 1InformativeUse Context: Any

URL for this extension:

http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support

Status: draft. Extension maintained by: Health Level Seven, Inc. - FHIR Core WG

If true indicates that the specified type, profile or targetProfile must be supported by implementations.

Comment:

An element may be labelled as must support. This extension clarifies which types/profiles/targetProfiles are must-support. It has no meaning if the element itself is not must-support. If the element is labelled must-support, and none of the options are labelled as must support, then an application must support at least one of the possible options, but is not required to support all of them.

Context of Use: Use on Element ID ElementDefinition.type, Element ID ElementDefinition.type.profile or Element ID ElementDefinition.type.targetProfile

Extension Content

Summary

NameFlagsCard.TypeDescription & Constraintsdoco
.. type-must-support0..1booleanURL = http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support
type-must-support: If true indicates that the specified type, profile or targetProfile must be supported by implementations.


Use on Element ID ElementDefinition.type, Element ID ElementDefinition.type.profile or Element ID ElementDefinition.type.targetProfile

doco Documentation for this format

Full Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. extension0..1ExtensionURL = http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support
type-must-support: If true indicates that the specified type, profile or targetProfile must be supported by implementations.


Use on Element ID ElementDefinition.type, Element ID ElementDefinition.type.profile or Element ID ElementDefinition.type.targetProfile
... extension 0..0
... url 1..1uri"http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support"
... value[x] 1..1booleanValue of extension

doco Documentation for this format

XML Template

<!-- type-must-support -->doco

<extension xmlns="http://hl7.org/fhir"
     url="http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support" >
  <!-- from Element: extension -->
 <valueBoolean value="[boolean]"/><!-- ?? 1..1 Value of extension -->
</extension>

JSON Template

{ // type-must-support
  // from Element: extension
    "extension" : [ //  sliced by value:url  in the specified order, Open ]
    "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support", // R! 
    "valueBoolean" : <boolean> // C? R! Value of extension
  }

Summary

NameFlagsCard.TypeDescription & Constraintsdoco
.. type-must-support0..1booleanURL = http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support
type-must-support: If true indicates that the specified type, profile or targetProfile must be supported by implementations.


Use on Element ID ElementDefinition.type, Element ID ElementDefinition.type.profile or Element ID ElementDefinition.type.targetProfile

doco Documentation for this format

Full Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. extension0..1ExtensionURL = http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support
type-must-support: If true indicates that the specified type, profile or targetProfile must be supported by implementations.


Use on Element ID ElementDefinition.type, Element ID ElementDefinition.type.profile or Element ID ElementDefinition.type.targetProfile
... extension 0..0
... url 1..1uri"http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support"
... value[x] 1..1booleanValue of extension

doco Documentation for this format

XML Template

<!-- type-must-support -->doco

<extension xmlns="http://hl7.org/fhir"
     url="http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support" >
  <!-- from Element: extension -->
 <valueBoolean value="[boolean]"/><!-- ?? 1..1 Value of extension -->
</extension>

JSON Template

{ // type-must-support
  // from Element: extension
    "extension" : [ //  sliced by value:url  in the specified order, Open ]
    "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support", // R! 
    "valueBoolean" : <boolean> // C? R! Value of extension
  }

 

Constraints

  • ele-1: All FHIR elements must have a @value or children (xpath: @value|f:*|h:div)
  • ext-1: Must have either extensions or value[x], not both (xpath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]))
  • ele-1: On Extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.value[x]: All FHIR elements must have a @value or children (xpath on Extension.value[x]: @value|f:*|h:div)