This page is part of the FHIR Specification (v5.0.0-ballot: FHIR R5 Ballot Preview). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R4B R4
Vocabulary Work Group | Maturity Level: N/A | Standards Status: Informative |
Raw XML (canonical form + also see XML Format Specification)
expression
<?xml version="1.0" encoding="UTF-8"?> <StructureDefinition xmlns="http://hl7.org/fhir"> <id value="valueset-expression"/> <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg"> <valueCode value="vocab"/> </extension> <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm"> <valueInteger value="1"/> </extension> <url value="http://hl7.org/fhir/StructureDefinition/valueset-expression"/> <identifier> <system value="urn:ietf:rfc:3986"/> <value value="urn:oid:2.16.840.1.113883.4.642.5.1211"/> </identifier> <version value="5.0.0-ballot"/> <name value="expression"/> <status value="draft"/> <experimental value="false"/> <date value="2020-12-28T16:55:11+11:00"/> <publisher value="HL7"/> <description value="An expression that provides an alternative definition of the content of the value set (compose). There are two different ways to use this expression extension: If both an expression (this extension) and a compose element is present, the compose is understood to the make the same statement as the expression. If there is no compose, the expression is the only definition of the value set, and the value set can only be processed by a server that understands the expression syntax, the expression is computable."/> <fhirVersion value="5.0.0"/> <mapping> <identity value="rim"/> <uri value="http://hl7.org/v3"/> <name value="RIM Mapping"/> </mapping> <kind value="complex-type"/> <abstract value="false"/> <context> <type value="element"/> <expression value="ValueSet"/> </context> <type value="Extension"/> <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension"/> <derivation value="constraint"/> <snapshot> <element id="Extension"> <path value="Extension"/> <short value="An alternative computable expression of the value set content"/> <definition value="An expression that provides an alternative definition of the content of the value set (compose). There are two different ways to use this expression extension: If both an expression (this extension) and a compose element is present, the compose is understood to the make the same statement as the expression. If there is no compose, the expression is the only definition of the value set, and the value set can only be processed by a server that understands the expression syntax, the expression is computable."/> <comment value="The expression may be a reference or the actual expression, and is expected to be in a computable format. Use the [rules-text extension](extension-valueset-rules-text.html) for a non-computable expression of the value set definition (compose)."/> <min value="0"/> <max value="1"/> <base> <path value="Extension"/> <min value="0"/> <max value="*"/> </base> <constraint> <key value="ele-1"/> <severity value="error"/> <human value="All FHIR elements must have a @value or children"/> <expression value="hasValue() or (children().count() > id.count())"/> <xpath value="@value|f:*|h:div"/> <source value="http://hl7.org/fhir/StructureDefinition/Element"/> </constraint> <constraint> <key value="ext-1"/> <severity value="error"/> <human value="Must have either extensions or value[x], not both"/> <expression value="extension.exists() != value.exists()"/> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])"/> <source value="http://hl7.org/fhir/StructureDefinition/Extension"/> </constraint> <isModifier value="false"/> </element> <element id="Extension.id"> <path value="Extension.id"/> <representation value="xmlAttr"/> <short value="Unique id for inter-element referencing"/> <definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces."/> <min value="0"/> <max value="1"/> <base> <path value="Element.id"/> <min value="0"/> <max value="1"/> </base> <type> <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type"> <valueUrl value="id"/> </extension> <code value="http://hl7.org/fhirpath/System.String"/> </type> <isModifier value="false"/> <isSummary value="false"/> <mapping> <identity value="rim"/> <map value="n/a"/> </mapping> </element> <element id="Extension.extension"> <path value="Extension.extension"/> <slicing> <discriminator> <type value="value"/> <path value="url"/> </discriminator> <description value="Extensions are always sliced by (at least) url"/> <rules value="open"/> </slicing> <short value="Extension"/> <definition value="An Extension"/> <min value="0"/> <max value="0"/> <base> <path value="Element.extension"/> <min value="0"/> <max value="*"/> </base> <type> <code value="Extension"/> </type> <constraint> <key value="ele-1"/> <severity value="error"/> <human value="All FHIR elements must have a @value or children"/> <expression value="hasValue() or (children().count() > id.count())"/> <xpath value="@value|f:*|h:div"/> <source value="http://hl7.org/fhir/StructureDefinition/Element"/> </constraint> <constraint> <key value="ext-1"/> <severity value="error"/> <human value="Must have either extensions or value[x], not both"/> <expression value="extension.exists() != value.exists()"/> <xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])"/> <source value="http://hl7.org/fhir/StructureDefinition/Extension"/> </constraint> <isModifier value="false"/> <isSummary value="false"/> </element> <element id="Extension.url"> <path value="Extension.url"/> <representation value="xmlAttr"/> <short value="identifies the meaning of the extension"/> <definition value="Source of the definition for the extension code - a logical name or a URL."/> <comment value="The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension."/> <min value="1"/> <max value="1"/> <base> <path value="Extension.url"/> <min value="1"/> <max value="1"/> </base> <type> <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type"> <valueUrl value="uri"/> </extension> <code value="http://hl7.org/fhirpath/System.String"/> </type> <fixedUri value="http://hl7.org/fhir/StructureDefinition/valueset-expression"/> <isModifier value="false"/> <isSummary value="false"/> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> <element id="Extension.value[x]"> <path value="Extension.value[x]"/> <short value="Value of extension"/> <definition value="Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensi bility.html) for a list)."/> <min value="1"/> <max value="1"/> <base> <path value="Extension.value[x]"/> <min value="0"/> <max value="1"/> </base> <type> <code value="Expression"/> </type> <constraint> <key value="ele-1"/> <severity value="error"/> <human value="All FHIR elements must have a @value or children"/> <expression value="hasValue() or (children().count() > id.count())"/> <xpath value="@value|f:*|h:div"/> <source value="http://hl7.org/fhir/StructureDefinition/Element"/> </constraint> <isModifier value="false"/> <isSummary value="false"/> <mapping> <identity value="rim"/> <map value="N/A"/> </mapping> </element> </snapshot> <differential> <element id="Extension"> <path value="Extension"/> <short value="An alternative computable expression of the value set content"/> <definition value="An expression that provides an alternative definition of the content of the value set (compose). There are two different ways to use this expression extension: If both an expression (this extension) and a compose element is present, the compose is understood to the make the same statement as the expression. If there is no compose, the expression is the only definition of the value set, and the value set can only be processed by a server that understands the expression syntax, the expression is computable."/> <comment value="The expression may be a reference or the actual expression, and is expected to be in a computable format. Use the [rules-text extension](extension-valueset-rules-text.html) for a non-computable expression of the value set definition (compose)."/> <min value="0"/> <max value="1"/> </element> <element id="Extension.extension"> <path value="Extension.extension"/> <max value="0"/> </element> <element id="Extension.url"> <path value="Extension.url"/> <fixedUri value="http://hl7.org/fhir/StructureDefinition/valueset-expression"/> </element> <element id="Extension.value[x]"> <path value="Extension.value[x]"/> <min value="1"/> <type> <code value="Expression"/> </type> </element> </differential> </StructureDefinition>
Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.