Current Build

Extension: selector

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

URL for this extension:

http://hl7.org/fhir/StructureDefinition/elementdefinition-selector

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

A FHIRPath statement that defines whether an element is in the slice.

Comment:

This extension can only appear on element definitions that are part of a set of slices, and not on the slicing definition itself. If the selector appears in the presence of nominated slices discriminators, then the slicing defined by the discriminator(s) and the selector on each slice must agree. In the absence of any nominated discriminators, then an element is allowed to be in multiple slices.

Context of Use: Use on Element ID ElementDefinition

Extension Content

Summary

NameFlagsCard.TypeDescription & Constraintsdoco
.. selector0..1stringURL = http://hl7.org/fhir/StructureDefinition/elementdefinition-selector
selector: A FHIRPath statement that defines whether an element is in the slice.


Use on Element ID ElementDefinition

doco Documentation for this format

Full Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. extension0..1ExtensionURL = http://hl7.org/fhir/StructureDefinition/elementdefinition-selector
selector: A FHIRPath statement that defines whether an element is in the slice.


Use on Element ID ElementDefinition
... extension I0..0
... url 1..1uri"http://hl7.org/fhir/StructureDefinition/elementdefinition-selector"
... value[x] I0..1(Slice Definition)Value of extension
Slice: Unordered, Closed by type:$this
... value[x]:valueString I0..1stringValue of extension

doco Documentation for this format

XML Template

<!-- selector -->doco

<extension xmlns="http://hl7.org/fhir"
     url="http://hl7.org/fhir/StructureDefinition/elementdefinition-selector" >
  <!-- from Element: extension -->
 <-- valueString sliced by type:$this  in the specified orderClosed-->
 <valueString value="[string]"/><!-- ?? 0..1 Value of extension -->
</extension>

JSON Template

{ // selector
  // from Element: extension
    "extension" : [ //  sliced by value:url  in the specified order, Open ]
    "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-selector", // R! 
    "valueString" : [ //  sliced by type:$this  in the specified order, Closed 
      { // Value of extension // C?
        // from Element: extension
      }
    ],
  }

Summary

NameFlagsCard.TypeDescription & Constraintsdoco
.. selector0..1stringURL = http://hl7.org/fhir/StructureDefinition/elementdefinition-selector
selector: A FHIRPath statement that defines whether an element is in the slice.


Use on Element ID ElementDefinition

doco Documentation for this format

Full Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. extension0..1ExtensionURL = http://hl7.org/fhir/StructureDefinition/elementdefinition-selector
selector: A FHIRPath statement that defines whether an element is in the slice.


Use on Element ID ElementDefinition
... extension I0..0
... url 1..1uri"http://hl7.org/fhir/StructureDefinition/elementdefinition-selector"
... value[x] I0..1(Slice Definition)Value of extension
Slice: Unordered, Closed by type:$this
... value[x]:valueString I0..1stringValue of extension

doco Documentation for this format

XML Template

<!-- selector -->doco

<extension xmlns="http://hl7.org/fhir"
     url="http://hl7.org/fhir/StructureDefinition/elementdefinition-selector" >
  <!-- from Element: extension -->
 <-- valueString sliced by type:$this  in the specified orderClosed-->
 <valueString value="[string]"/><!-- ?? 0..1 Value of extension -->
</extension>

JSON Template

{ // selector
  // from Element: extension
    "extension" : [ //  sliced by value:url  in the specified order, Open ]
    "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-selector", // R! 
    "valueString" : [ //  sliced by type:$this  in the specified order, Closed 
      { // Value of extension // C?
        // from Element: 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)
  • ele-1: On Extension.value[x]: All FHIR elements must have a @value or children (xpath on Extension.value[x]: @value|f:*|h:div)