Release 5 Ballot

This page is part of the FHIR Specification (v5.0.0-ballot: R5 Ballot - see ballot notes). 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

Example StructureDefinition/questionnaire-unitValueSet (Turtle)

FHIR Infrastructure Work GroupMaturity Level: N/AStandards Status: Informative

Raw Turtle (+ also see Turtle/RDF Format Specification)

unitValueSet

@prefix fhir: <http://hl7.org/fhir/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

# - resource -------------------------------------------------------------------

[] a fhir:StructureDefinition;
  fhir:Resource.id [ fhir:value "questionnaire-unitValueSet"];
  fhir:DomainResource.extension [
     fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg" ];
     fhir:Extension.value [ fhir:value "fhir" ]
  ], [
     fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm" ];
     fhir:Extension.value [ fhir:value "1" ]
  ];
  fhir:CanonicalResource.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/questionnaire-unitValueSet"];
  fhir:CanonicalResource.identifier [
     fhir:Identifier.system [ fhir:value "urn:ietf:rfc:3986" ];
     fhir:Identifier.value [ fhir:value "urn:oid:2.16.840.1.113883.4.642.5.1237" ]
  ];
  fhir:CanonicalResource.version [ fhir:value "5.0.0-ballot"];
  fhir:CanonicalResource.name [ fhir:value "unitValueSet"];
  fhir:CanonicalResource.status [ fhir:value "draft"];
  fhir:CanonicalResource.experimental [ fhir:value "false"];
  fhir:CanonicalResource.date [ fhir:value "2013-07-04"];
  fhir:CanonicalResource.publisher [ fhir:value "HL7"];
  fhir:CanonicalResource.contact [
     fhir:ContactDetail.telecom [
       fhir:ContactPoint.system [ fhir:value "url" ];
       fhir:ContactPoint.value [ fhir:value "http://www.hl7.org" ]
     ]
  ];
  fhir:CanonicalResource.description [ fhir:value "A set of units that the user may choose when providing a quantity value."];
  fhir:StructureDefinition.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/questionnaire-unitValueSet"];
  fhir:StructureDefinition.identifier [
     fhir:Identifier.system [ fhir:value "urn:ietf:rfc:3986" ];
     fhir:Identifier.value [ fhir:value "urn:oid:2.16.840.1.113883.4.642.5.1237" ]
  ];
  fhir:StructureDefinition.version [ fhir:value "5.0.0-ballot"];
  fhir:StructureDefinition.name [ fhir:value "unitValueSet"];
  fhir:StructureDefinition.status [ fhir:value "draft"];
  fhir:StructureDefinition.experimental [ fhir:value "false"];
  fhir:StructureDefinition.date [ fhir:value "2013-07-04"];
  fhir:StructureDefinition.publisher [ fhir:value "HL7"];
  fhir:StructureDefinition.contact [
     fhir:ContactDetail.telecom [
       fhir:ContactPoint.system [ fhir:value "url" ];
       fhir:ContactPoint.value [ fhir:value "http://www.hl7.org" ]
     ]
  ];
  fhir:StructureDefinition.description [ fhir:value "A set of units that the user may choose when providing a quantity value."];
  fhir:StructureDefinition.fhirVersion [ fhir:value "5.0.0"];
  fhir:StructureDefinition.mapping [
     fhir:StructureDefinitionMappingComponent.identity [ fhir:value "rim" ];
     fhir:StructureDefinitionMappingComponent.uri [ fhir:value "http://hl7.org/v3" ];
     fhir:StructureDefinitionMappingComponent.name [ fhir:value "RIM Mapping" ]
  ];
  fhir:StructureDefinition.kind [ fhir:value "complex-type"];
  fhir:StructureDefinition.abstract [ fhir:value "false"];
  fhir:StructureDefinition.context [
     fhir:StructureDefinitionContextComponent.type [ fhir:value "element" ];
     fhir:StructureDefinitionContextComponent.expression [ fhir:value "Questionnaire.item" ]
  ], [
     fhir:StructureDefinitionContextComponent.type [ fhir:value "element" ];
     fhir:StructureDefinitionContextComponent.expression [ fhir:value "ElementDefinition" ]
  ];
  fhir:StructureDefinition.contextInvariant [ fhir:value "type='quantity'"];
  fhir:StructureDefinition.type [ fhir:value "Extension"];
  fhir:StructureDefinition.baseDefinition [ fhir:value "http://hl7.org/fhir/StructureDefinition/Extension"];
  fhir:StructureDefinition.derivation [ fhir:value "constraint"];
  fhir:StructureDefinition.snapshot [
     fhir:StructureDefinitionSnapshotComponent.element [
       fhir:Element.id [ fhir:value "Extension" ];
       fhir:ElementDefinition.path [ fhir:value "Extension" ];
       fhir:ElementDefinition.short [ fhir:value "Unit choices" ];
       fhir:ElementDefinition.definition [ fhir:value "A set of units that the user may choose when providing a quantity value." ];
       fhir:ElementDefinition.comment [ fhir:value "Provide either unitOption(s) or unitValueSet.  If either of the extensions are present, the units for a Quantity element are constrained to only the units listed by the extensions - i.e. it is treated as a \"required\", not an \"extensible\" binding.  In the absence of either, any unit is valid.  See additional guidance and examples in the [SDC implementation guide](http://hl7.org/fhir/2022Sep/ig/HL7/sdc/behavior#unitValusSet).  If this extension present and an answer is provided for the question item in the QuestionnaireResponse, then the valueQuantity **SHALL** have a Quantity.code and Quantity.system that match the Coding.code and system of one of the allowed values if the Coding has a code and/or system.  If the Coding only has a display, then the Quantity.unit must match.  (Note that Coding with only a display is strongly discouraged.)  If there is a match on code and system, but no match on display/unit, systems MAY raise a warning.  However, because of translation and bandwidth considerations, some systems **MAY** opt to drop the unit or express it in an alternate language.  Validation of the Quantity unit **MAY** be performed by using the $validateCode operation, populating the elements passed into the operation from the Quantity.code, system and unit elements." ];
       fhir:ElementDefinition.min [ fhir:value "0" ];
       fhir:ElementDefinition.max [ fhir:value "1" ];
       fhir:ElementDefinition.base [
         fhir:ElementDefinitionBaseComponent.path [ fhir:value "Extension" ];
         fhir:ElementDefinitionBaseComponent.min [ fhir:value "0" ];
         fhir:ElementDefinitionBaseComponent.max [ fhir:value "*" ]
       ];
       fhir:ElementDefinition.constraint [
         fhir:ElementDefinitionConstraintComponent.key [ fhir:value "ele-1" ];
         fhir:ElementDefinitionConstraintComponent.severity [ fhir:value "error" ];
         fhir:ElementDefinitionConstraintComponent.human [ fhir:value "All FHIR elements must have a @value or children" ];
         fhir:ElementDefinitionConstraintComponent.expression [ fhir:value "hasValue() or (children().count() > id.count())" ];
         fhir:ElementDefinitionConstraintComponent.xpath [ fhir:value "@value|f:*|h:div" ];
         fhir:ElementDefinitionConstraintComponent.source [ fhir:value "http://hl7.org/fhir/StructureDefinition/Element" ]
       ], [
         fhir:ElementDefinitionConstraintComponent.key [ fhir:value "ext-1" ];
         fhir:ElementDefinitionConstraintComponent.severity [ fhir:value "error" ];
         fhir:ElementDefinitionConstraintComponent.human [ fhir:value "Must have either extensions or value[x], not both" ];
         fhir:ElementDefinitionConstraintComponent.expression [ fhir:value "extension.exists() != value.exists()" ];
         fhir:ElementDefinitionConstraintComponent.xpath [ fhir:value "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])" ];
         fhir:ElementDefinitionConstraintComponent.source [ fhir:value "http://hl7.org/fhir/StructureDefinition/Extension" ]
       ];
       fhir:ElementDefinition.isModifier [ fhir:value "false" ];
       fhir:ElementDefinition.mapping [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "N/A (MIF-level)" ]
       ]
     ], [
       fhir:Element.id [ fhir:value "Extension.id" ];
       fhir:ElementDefinition.path [ fhir:value "Extension.id" ];
       fhir:ElementDefinition.representation [ fhir:value "xmlAttr" ];
       fhir:ElementDefinition.short [ fhir:value "Unique id for inter-element referencing" ];
       fhir:ElementDefinition.definition [ fhir:value "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." ];
       fhir:ElementDefinition.min [ fhir:value "0" ];
       fhir:ElementDefinition.max [ fhir:value "1" ];
       fhir:ElementDefinition.base [
         fhir:ElementDefinitionBaseComponent.path [ fhir:value "Element.id" ];
         fhir:ElementDefinitionBaseComponent.min [ fhir:value "0" ];
         fhir:ElementDefinitionBaseComponent.max [ fhir:value "1" ]
       ];
       fhir:ElementDefinition.type [
         fhir:Element.extension [
           fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type" ];
           fhir:Extension.value [ fhir:value "id" ]
         ];
         fhir:TypeRefComponent.code [ fhir:value "http://hl7.org/fhirpath/System.String" ]
       ];
       fhir:ElementDefinition.isModifier [ fhir:value "false" ];
       fhir:ElementDefinition.isSummary [ fhir:value "false" ];
       fhir:ElementDefinition.mapping [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "n/a" ]
       ]
     ], [
       fhir:Element.id [ fhir:value "Extension.extension" ];
       fhir:ElementDefinition.path [ fhir:value "Extension.extension" ];
       fhir:ElementDefinition.slicing [
         fhir:ElementDefinitionSlicingComponent.discriminator [
           fhir:ElementDefinitionSlicingDiscriminatorComponent.type [ fhir:value "value" ];
           fhir:ElementDefinitionSlicingDiscriminatorComponent.path [ fhir:value "url" ]
         ];
         fhir:ElementDefinitionSlicingComponent.description [ fhir:value "Extensions are always sliced by (at least) url" ];
         fhir:ElementDefinitionSlicingComponent.rules [ fhir:value "open" ]
       ];
       fhir:ElementDefinition.short [ fhir:value "Extension" ];
       fhir:ElementDefinition.definition [ fhir:value "An Extension" ];
       fhir:ElementDefinition.min [ fhir:value "0" ];
       fhir:ElementDefinition.max [ fhir:value "0" ];
       fhir:ElementDefinition.base [
         fhir:ElementDefinitionBaseComponent.path [ fhir:value "Element.extension" ];
         fhir:ElementDefinitionBaseComponent.min [ fhir:value "0" ];
         fhir:ElementDefinitionBaseComponent.max [ fhir:value "*" ]
       ];
       fhir:ElementDefinition.type [
         fhir:TypeRefComponent.code [ fhir:value "Extension" ]
       ];
       fhir:ElementDefinition.constraint [
         fhir:ElementDefinitionConstraintComponent.key [ fhir:value "ele-1" ];
         fhir:ElementDefinitionConstraintComponent.severity [ fhir:value "error" ];
         fhir:ElementDefinitionConstraintComponent.human [ fhir:value "All FHIR elements must have a @value or children" ];
         fhir:ElementDefinitionConstraintComponent.expression [ fhir:value "hasValue() or (children().count() > id.count())" ];
         fhir:ElementDefinitionConstraintComponent.xpath [ fhir:value "@value|f:*|h:div" ];
         fhir:ElementDefinitionConstraintComponent.source [ fhir:value "http://hl7.org/fhir/StructureDefinition/Element" ]
       ], [
         fhir:ElementDefinitionConstraintComponent.key [ fhir:value "ext-1" ];
         fhir:ElementDefinitionConstraintComponent.severity [ fhir:value "error" ];
         fhir:ElementDefinitionConstraintComponent.human [ fhir:value "Must have either extensions or value[x], not both" ];
         fhir:ElementDefinitionConstraintComponent.expression [ fhir:value "extension.exists() != value.exists()" ];
         fhir:ElementDefinitionConstraintComponent.xpath [ fhir:value "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])" ];
         fhir:ElementDefinitionConstraintComponent.source [ fhir:value "http://hl7.org/fhir/StructureDefinition/Extension" ]
       ];
       fhir:ElementDefinition.isModifier [ fhir:value "false" ];
       fhir:ElementDefinition.isSummary [ fhir:value "false" ]
     ], [
       fhir:Element.id [ fhir:value "Extension.url" ];
       fhir:ElementDefinition.path [ fhir:value "Extension.url" ];
       fhir:ElementDefinition.representation [ fhir:value "xmlAttr" ];
       fhir:ElementDefinition.short [ fhir:value "identifies the meaning of the extension" ];
       fhir:ElementDefinition.definition [ fhir:value "Source of the definition for the extension code - a logical name or a URL." ];
       fhir:ElementDefinition.comment [ fhir: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." ];
       fhir:ElementDefinition.min [ fhir:value "1" ];
       fhir:ElementDefinition.max [ fhir:value "1" ];
       fhir:ElementDefinition.base [
         fhir:ElementDefinitionBaseComponent.path [ fhir:value "Extension.url" ];
         fhir:ElementDefinitionBaseComponent.min [ fhir:value "1" ];
         fhir:ElementDefinitionBaseComponent.max [ fhir:value "1" ]
       ];
       fhir:ElementDefinition.type [
         fhir:Element.extension [
           fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type" ];
           fhir:Extension.value [ fhir:value "uri" ]
         ];
         fhir:TypeRefComponent.code [ fhir:value "http://hl7.org/fhirpath/System.String" ]
       ];
       fhir:ElementDefinition.fixed [ fhir:value "http://hl7.org/fhir/StructureDefinition/questionnaire-unitValueSet" ];
       fhir:ElementDefinition.isModifier [ fhir:value "false" ];
       fhir:ElementDefinition.isSummary [ fhir:value "false" ];
       fhir:ElementDefinition.mapping [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "N/A" ]
       ]
     ], [
       fhir:Element.id [ fhir:value "Extension.value[x]" ];
       fhir:ElementDefinition.path [ fhir:value "Extension.value[x]" ];
       fhir:ElementDefinition.short [ fhir:value "Value of extension" ];
       fhir:ElementDefinition.definition [ fhir:value "Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list)." ];
       fhir:ElementDefinition.min [ fhir:value "1" ];
       fhir:ElementDefinition.max [ fhir:value "1" ];
       fhir:ElementDefinition.base [
         fhir:ElementDefinitionBaseComponent.path [ fhir:value "Extension.value[x]" ];
         fhir:ElementDefinitionBaseComponent.min [ fhir:value "0" ];
         fhir:ElementDefinitionBaseComponent.max [ fhir:value "1" ]
       ];
       fhir:ElementDefinition.type [
         fhir:TypeRefComponent.code [ fhir:value "canonical" ];
         fhir:TypeRefComponent.targetProfile [ fhir:value "http://hl7.org/fhir/StructureDefinition/ValueSet" ]
       ];
       fhir:ElementDefinition.constraint [
         fhir:ElementDefinitionConstraintComponent.key [ fhir:value "ele-1" ];
         fhir:ElementDefinitionConstraintComponent.severity [ fhir:value "error" ];
         fhir:ElementDefinitionConstraintComponent.human [ fhir:value "All FHIR elements must have a @value or children" ];
         fhir:ElementDefinitionConstraintComponent.expression [ fhir:value "hasValue() or (children().count() > id.count())" ];
         fhir:ElementDefinitionConstraintComponent.xpath [ fhir:value "@value|f:*|h:div" ];
         fhir:ElementDefinitionConstraintComponent.source [ fhir:value "http://hl7.org/fhir/StructureDefinition/Element" ]
       ];
       fhir:ElementDefinition.isModifier [ fhir:value "false" ];
       fhir:ElementDefinition.isSummary [ fhir:value "false" ];
       fhir:ElementDefinition.mapping [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "N/A" ]
       ]
     ]
  ];
  fhir:StructureDefinition.differential [
     fhir:StructureDefinitionDifferentialComponent.element [
       fhir:Element.id [ fhir:value "Extension" ];
       fhir:ElementDefinition.path [ fhir:value "Extension" ];
       fhir:ElementDefinition.short [ fhir:value "Unit choices" ];
       fhir:ElementDefinition.definition [ fhir:value "A set of units that the user may choose when providing a quantity value." ];
       fhir:ElementDefinition.comment [ fhir:value "Provide either unitOption(s) or unitValueSet.  If either of the extensions are present, the units for a Quantity element are constrained to only the units listed by the extensions - i.e. it is treated as a \"required\", not an \"extensible\" binding.  In the absence of either, any unit is valid.  See additional guidance and examples in the [SDC implementation guide](http://hl7.org/fhir/2022Sep/ig/HL7/sdc/behavior#unitValusSet).  If this extension present and an answer is provided for the question item in the QuestionnaireResponse, then the valueQuantity **SHALL** have a Quantity.code and Quantity.system that match the Coding.code and system of one of the allowed values if the Coding has a code and/or system.  If the Coding only has a display, then the Quantity.unit must match.  (Note that Coding with only a display is strongly discouraged.)  If there is a match on code and system, but no match on display/unit, systems MAY raise a warning.  However, because of translation and bandwidth considerations, some systems **MAY** opt to drop the unit or express it in an alternate language.  Validation of the Quantity unit **MAY** be performed by using the $validateCode operation, populating the elements passed into the operation from the Quantity.code, system and unit elements." ];
       fhir:ElementDefinition.min [ fhir:value "0" ];
       fhir:ElementDefinition.max [ fhir:value "1" ];
       fhir:ElementDefinition.mapping [
         fhir:ElementDefinitionMappingComponent.identity [ fhir:value "rim" ];
         fhir:ElementDefinitionMappingComponent.map [ fhir:value "N/A (MIF-level)" ]
       ]
     ], [
       fhir:Element.id [ fhir:value "Extension.extension" ];
       fhir:ElementDefinition.path [ fhir:value "Extension.extension" ];
       fhir:ElementDefinition.max [ fhir:value "0" ]
     ], [
       fhir:Element.id [ fhir:value "Extension.url" ];
       fhir:ElementDefinition.path [ fhir:value "Extension.url" ];
       fhir:ElementDefinition.fixed [ fhir:value "http://hl7.org/fhir/StructureDefinition/questionnaire-unitValueSet" ]
     ], [
       fhir:Element.id [ fhir:value "Extension.value[x]" ];
       fhir:ElementDefinition.path [ fhir:value "Extension.value[x]" ];
       fhir:ElementDefinition.min [ fhir:value "1" ];
       fhir:ElementDefinition.type [
         fhir:TypeRefComponent.code [ fhir:value "canonical" ];
         fhir:TypeRefComponent.targetProfile [ fhir:value "http://hl7.org/fhir/StructureDefinition/ValueSet" ]
       ]
     ]
  ] .

# -------------------------------------------------------------------------------------


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.