Release 4

Extension: expand-group

Vocabulary Work Group Maturity Level: 1InformativeUse Context: Any

URL for this extension:

http://hl7.org/fhir/StructureDefinition/valueset-expand-group

Status: draft. Extension maintained by: HL7

This extension declares a group of concepts that is generated into the ValueSet.expansion.contains hierarchy when the expansion is generated for a UI. THere is no inherent assigned meaning to the hierarchy; it is used to help the user navigate the concepts. Each group has a display and/or a code, and a list of members, which are either concepts in the value set, or other groups (by code).

Comment:

Note that there are inter-relationships between concept status/properties and the way the groups are built; these are described and documented in the (value set hierarchical example)[d.html]. Note that this extension should be ignored when the expansion is not generated for UI.

Context of Use: Use on Element ID ValueSet.compose.include

Extension Content

Summary

NameFlagsCard.TypeDescription & Constraintsdoco
.. expand-group0..*ExtensionURL = http://hl7.org/fhir/StructureDefinition/valueset-expand-group
expand-group: This extension declares a group of concepts that is generated into the ValueSet.expansion.contains hierarchy when the expansion is generated for a UI. THere is no inherent assigned meaning to the hierarchy; it is used to help the user navigate the concepts. Each group has a display and/or a code, and a list of members, which are either concepts in the value set, or other groups (by code).


Use on Element ID ValueSet.compose.include
... code0..1codeA reference to a code from the include.system that defines the meaning associated with the group. Note that including the code in this extension does not include the code in the value set; if the code is intended to be in the value set, it must be listed directly as well.

... display0..1stringThe description for the group (goes in ValueSet.expansion.contains.dispaly). All groups need a display; this can only be omitted if there is a code that can be used to determine the display.

... member1..*codeOne of more codes that identify codes in the expansion or other groups.


doco Documentation for this format

Full Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. extension0..*ExtensionURL = http://hl7.org/fhir/StructureDefinition/valueset-expand-group
expand-group: This extension declares a group of concepts that is generated into the ValueSet.expansion.contains hierarchy when the expansion is generated for a UI. THere is no inherent assigned meaning to the hierarchy; it is used to help the user navigate the concepts. Each group has a display and/or a code, and a list of members, which are either concepts in the value set, or other groups (by code).


Use on Element ID ValueSet.compose.include
... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... extension:code I0..1ExtensionUnderlying code from the system
.... extension I0..0
.... url 1..1uri"code"
.... value[x] I1..1codeValue of extension
... extension:display I0..1ExtensionDisplay for the group
.... extension I0..0
.... url 1..1uri"display"
.... value[x] I1..1stringValue of extension
... extension:member I1..*ExtensionCodes or other groups in this group
.... extension I0..0
.... url 1..1uri"member"
.... value[x] I1..1codeValue of extension
... url 1..1uri"http://hl7.org/fhir/StructureDefinition/valueset-expand-group"
... value[x] I0..0
.... valueBase64Binarybase64Binary
.... valueBooleanboolean
.... valueCanonicalcanonical()
.... valueCodecode
.... valueDatedate
.... valueDateTimedateTime
.... valueDecimaldecimal
.... valueIdid
.... valueInstantinstant
.... valueIntegerinteger
.... valueMarkdownmarkdown
.... valueOidoid
.... valuePositiveIntpositiveInt
.... valueStringstring
.... valueTimetime
.... valueUnsignedIntunsignedInt
.... valueUriuri
.... valueUrlurl
.... valueUuiduuid
.... valueAddressAddress
.... valueAgeAge
.... valueAnnotationAnnotation
.... valueAttachmentAttachment
.... valueCodeableConceptCodeableConcept
.... valueCodingCoding
.... valueContactPointContactPoint
.... valueCountCount
.... valueDistanceDistance
.... valueDurationDuration
.... valueHumanNameHumanName
.... valueIdentifierIdentifier
.... valueMoneyMoney
.... valuePeriodPeriod
.... valueQuantityQuantity
.... valueRangeRange
.... valueRatioRatio
.... valueReferenceReference()
.... valueSampledDataSampledData
.... valueSignatureSignature
.... valueTimingTiming
.... valueContactDetailContactDetail
.... valueContributorContributor
.... valueDataRequirementDataRequirement
.... valueExpressionExpression
.... valueParameterDefinitionParameterDefinition
.... valueRelatedArtifactRelatedArtifact
.... valueTriggerDefinitionTriggerDefinition
.... valueUsageContextUsageContext
.... valueDosageDosage
.... valueMetaMeta

doco Documentation for this format

XML Template

<!-- expand-group -->doco

<extension xmlns="http://hl7.org/fhir"
     url="http://hl7.org/fhir/StructureDefinition/valueset-expand-group" >
 <-- extension sliced by value:url  in the specified orderOpen-->
 <extension url="code"> ?? 0..1 Extension  <!-- ?? 0..1 Underlying code from the system -->
  <valueCode value="[code]"/><!-- ?? 1..1 Value of extension -->
 </extension>
 <extension url="display"> ?? 0..1 Extension  <!-- ?? 0..1 Display for the group -->
  <valueString value="[string]"/><!-- ?? 1..1 Value of extension -->
 </extension>
 <extension url="member"> ?? 1..* Extension  <!-- ?? 1..* Codes or other groups in this group -->
  <valueCode value="[code]"/><!-- ?? 1..1 Value of extension -->
 </extension>
</extension>

JSON Template

{ // expand-group
    "extension" : [ //  sliced by value:url  in the specified order, Open 
      { // Underlying code from the system // C?
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "code", // R! 
        "valueCode" : "<code>" // C? R! Value of extension
      },
      { // Display for the group // C?
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "display", // R! 
        "valueString" : "<string>" // C? R! Value of extension
      },
      { // Codes or other groups in this group // C? R! 
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "member", // R! 
        "valueCode" : "<code>" // C? R! Value of extension
      }
    ],
    "url" : "http://hl7.org/fhir/StructureDefinition/valueset-expand-group", // R! 
// value[x]: Value of extension. One of these 50:
  }

Summary

NameFlagsCard.TypeDescription & Constraintsdoco
.. expand-group0..*ExtensionURL = http://hl7.org/fhir/StructureDefinition/valueset-expand-group
expand-group: This extension declares a group of concepts that is generated into the ValueSet.expansion.contains hierarchy when the expansion is generated for a UI. THere is no inherent assigned meaning to the hierarchy; it is used to help the user navigate the concepts. Each group has a display and/or a code, and a list of members, which are either concepts in the value set, or other groups (by code).


Use on Element ID ValueSet.compose.include
... code0..1codeA reference to a code from the include.system that defines the meaning associated with the group. Note that including the code in this extension does not include the code in the value set; if the code is intended to be in the value set, it must be listed directly as well.

... display0..1stringThe description for the group (goes in ValueSet.expansion.contains.dispaly). All groups need a display; this can only be omitted if there is a code that can be used to determine the display.

... member1..*codeOne of more codes that identify codes in the expansion or other groups.


doco Documentation for this format

Full Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. extension0..*ExtensionURL = http://hl7.org/fhir/StructureDefinition/valueset-expand-group
expand-group: This extension declares a group of concepts that is generated into the ValueSet.expansion.contains hierarchy when the expansion is generated for a UI. THere is no inherent assigned meaning to the hierarchy; it is used to help the user navigate the concepts. Each group has a display and/or a code, and a list of members, which are either concepts in the value set, or other groups (by code).


Use on Element ID ValueSet.compose.include
... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... extension:code I0..1ExtensionUnderlying code from the system
.... extension I0..0
.... url 1..1uri"code"
.... value[x] I1..1codeValue of extension
... extension:display I0..1ExtensionDisplay for the group
.... extension I0..0
.... url 1..1uri"display"
.... value[x] I1..1stringValue of extension
... extension:member I1..*ExtensionCodes or other groups in this group
.... extension I0..0
.... url 1..1uri"member"
.... value[x] I1..1codeValue of extension
... url 1..1uri"http://hl7.org/fhir/StructureDefinition/valueset-expand-group"
... value[x] I0..0
.... valueBase64Binarybase64Binary
.... valueBooleanboolean
.... valueCanonicalcanonical()
.... valueCodecode
.... valueDatedate
.... valueDateTimedateTime
.... valueDecimaldecimal
.... valueIdid
.... valueInstantinstant
.... valueIntegerinteger
.... valueMarkdownmarkdown
.... valueOidoid
.... valuePositiveIntpositiveInt
.... valueStringstring
.... valueTimetime
.... valueUnsignedIntunsignedInt
.... valueUriuri
.... valueUrlurl
.... valueUuiduuid
.... valueAddressAddress
.... valueAgeAge
.... valueAnnotationAnnotation
.... valueAttachmentAttachment
.... valueCodeableConceptCodeableConcept
.... valueCodingCoding
.... valueContactPointContactPoint
.... valueCountCount
.... valueDistanceDistance
.... valueDurationDuration
.... valueHumanNameHumanName
.... valueIdentifierIdentifier
.... valueMoneyMoney
.... valuePeriodPeriod
.... valueQuantityQuantity
.... valueRangeRange
.... valueRatioRatio
.... valueReferenceReference()
.... valueSampledDataSampledData
.... valueSignatureSignature
.... valueTimingTiming
.... valueContactDetailContactDetail
.... valueContributorContributor
.... valueDataRequirementDataRequirement
.... valueExpressionExpression
.... valueParameterDefinitionParameterDefinition
.... valueRelatedArtifactRelatedArtifact
.... valueTriggerDefinitionTriggerDefinition
.... valueUsageContextUsageContext
.... valueDosageDosage
.... valueMetaMeta

doco Documentation for this format

XML Template

<!-- expand-group -->doco

<extension xmlns="http://hl7.org/fhir"
     url="http://hl7.org/fhir/StructureDefinition/valueset-expand-group" >
 <-- extension sliced by value:url  in the specified orderOpen-->
 <extension url="code"> ?? 0..1 Extension  <!-- ?? 0..1 Underlying code from the system -->
  <valueCode value="[code]"/><!-- ?? 1..1 Value of extension -->
 </extension>
 <extension url="display"> ?? 0..1 Extension  <!-- ?? 0..1 Display for the group -->
  <valueString value="[string]"/><!-- ?? 1..1 Value of extension -->
 </extension>
 <extension url="member"> ?? 1..* Extension  <!-- ?? 1..* Codes or other groups in this group -->
  <valueCode value="[code]"/><!-- ?? 1..1 Value of extension -->
 </extension>
</extension>

JSON Template

{ // expand-group
    "extension" : [ //  sliced by value:url  in the specified order, Open 
      { // Underlying code from the system // C?
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "code", // R! 
        "valueCode" : "<code>" // C? R! Value of extension
      },
      { // Display for the group // C?
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "display", // R! 
        "valueString" : "<string>" // C? R! Value of extension
      },
      { // Codes or other groups in this group // C? R! 
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "member", // R! 
        "valueCode" : "<code>" // C? R! Value of extension
      }
    ],
    "url" : "http://hl7.org/fhir/StructureDefinition/valueset-expand-group", // R! 
// value[x]: Value of extension. One of these 50:
  }

 

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