STU 3 Ballot

This page is part of the FHIR Specification (v1.6.0: STU 3 Ballot 4). 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: R5 R4B R4 R3 R2

StructureDefinition: elementdefinition-de

The official URL for this profile is:

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

Identifies how the ElementDefinition data type is used when it appears within a data element

This profile was published on Sat, Feb 28, 2015 00:00+1100 as a draft by Health Level Seven International (Orders and Observations).

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.

This structure is derived from ElementDefinition.

NameFlagsCard.TypeDescription & Constraintsdoco
.. ElementDefinition I0..*Definition of an element in a resource or extension
ele-1: All FHIR elements must have a @value or children
eld-2: Min <= Max
eld-5: if the element definition has a contentReference, it cannot have type, defaultValue, fixed, pattern, example, minValue, maxValue, maxLength, or binding
eld-7: Pattern may only be specified if there is one type
eld-6: Fixed value may only be specified if there is one type
eld-11: Binding can only be present for coded elements, string, and uri
eld-8: Pattern and value are mutually exclusive
eld-14: Constraints must be unique by key
eld-13: Types must be unique by the combination of code and profile
eld-15: default value and meaningWhenMissing are mutually exclusive
... id 0..1stringxml:id (or equivalent in JSON)
... elementdefinition-question I0..*stringExtension
URL: http://hl7.org/fhir/StructureDefinition/elementdefinition-question
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... elementdefinition-allowedUnits I0..1CodeableConcept, Reference(ValueSet)Extension
URL: http://hl7.org/fhir/StructureDefinition/elementdefinition-allowedUnits
Binding: UCUM Codes (required)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... path 1..1stringPath of the element in the heirarchy of elements
... name 0..1stringName for this particular element definition (reference target)
... label 0..1stringName for element to display with or prompt for element
... code 0..*CodingDefining code
Binding: LOINC Codes (example)
... definition 0..1markdownFull formal definition as narrative text
... comments 0..1markdownComments about the use of this element
... requirements 0..1markdownWhy this resource has been created
... alias 0..*stringOther names
... min I0..1integerMinimum Cardinality
... max I0..1stringMaximum Cardinality (a number or *)
eld-3: Max SHALL be a number or "*"
... base 0..1ElementBase definition information for tools
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... path 1..1stringPath that identifies the base element
.... min 1..1integerMin cardinality of the base element
.... max 1..1stringMax cardinality of the base element
... type I0..*ElementData type and Profile for this element
eld-4: Aggregation may only be specified if one of the allowed types for the element is a resource
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... code 1..1codeName of Data type or Resource
Binding: FHIRDefinedType (extensible)
.... targetProfile 0..1uriProfile (StructureDefinition) to apply to reference target (or IG)
.... versioning 0..1codeeither | independent | specific
Binding: ReferenceVersionRules (required)
... defaultValue[x] I0..1base64Binary, boolean, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, MetaSpecified value if missing from instance
... meaningWhenMissing I0..1markdownImplicit meaning when this element is missing
... example[x] 0..1base64Binary, boolean, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, MetaExample value (as defined for type)
... minValue[x] 0..1date, dateTime, instant, time, decimal, integer, positiveInt, unsignedInt, QuantityMinimum Allowed Value (for some types)
... maxValue[x] 0..1date, dateTime, instant, time, decimal, integer, positiveInt, unsignedInt, QuantityMaximum Allowed Value (for some types)
... maxLength 0..1integerMax length for strings
... condition 0..*idReference to invariant about presence
... constraint 0..*ElementCondition that must evaluate to true
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... key I1..1idTarget of 'condition' reference above
.... requirements 0..1stringWhy this constraint is necessary or appropriate
.... severity 1..1codeerror | warning
Binding: ConstraintSeverity (required)
.... human 1..1stringHuman description of constraint
.... expression 0..1stringFluentPath expression of constraint
.... xpath 1..1stringXPath expression of constraint
... mustSupport 0..1booleanIf the element must supported
... binding I0..1ElementValueSet details if this is coded
eld-10: provide either a reference or a description (or both)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... strength 1..1coderequired | extensible | preferred | example
Binding: BindingStrength (required)
.... description I0..1stringHuman explanation of the value set
.... valueSet[x] I0..1uri, Reference(ValueSet)Source of value set
eld-12: URI SHALL start with http:// or https:// urn:
... mapping 0..*ElementMap element to another set of definitions
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... identity 1..1idReference to mapping declaration
.... language 0..1codeComputable language of mapping
Binding: IETF BCP-13 (required)
.... map 1..1stringDetails of the mapping

doco Documentation for this format

todo

This structure is derived from ElementDefinition.

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ElementDefinition I0..*Definition of an element in a resource or extension
ele-1: All FHIR elements must have a @value or children
eld-2: Min <= Max
eld-5: if the element definition has a contentReference, it cannot have type, defaultValue, fixed, pattern, example, minValue, maxValue, maxLength, or binding
eld-7: Pattern may only be specified if there is one type
eld-6: Fixed value may only be specified if there is one type
eld-11: Binding can only be present for coded elements, string, and uri
eld-8: Pattern and value are mutually exclusive
eld-14: Constraints must be unique by key
eld-13: Types must be unique by the combination of code and profile
eld-15: default value and meaningWhenMissing are mutually exclusive
... id 0..1stringxml:id (or equivalent in JSON)
... elementdefinition-question I0..*stringExtension
URL: http://hl7.org/fhir/StructureDefinition/elementdefinition-question
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... elementdefinition-allowedUnits I0..1CodeableConcept, Reference(ValueSet)Extension
URL: http://hl7.org/fhir/StructureDefinition/elementdefinition-allowedUnits
Binding: UCUM Codes (required)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... path 1..1stringPath of the element in the heirarchy of elements
... name 0..1stringName for this particular element definition (reference target)
... label 0..1stringName for element to display with or prompt for element
... code 0..*CodingDefining code
Binding: LOINC Codes (example)
... definition 0..1markdownFull formal definition as narrative text
... comments 0..1markdownComments about the use of this element
... requirements 0..1markdownWhy this resource has been created
... alias 0..*stringOther names
... min I0..1integerMinimum Cardinality
... max I0..1stringMaximum Cardinality (a number or *)
eld-3: Max SHALL be a number or "*"
... base 0..1ElementBase definition information for tools
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... path 1..1stringPath that identifies the base element
.... min 1..1integerMin cardinality of the base element
.... max 1..1stringMax cardinality of the base element
... type I0..*ElementData type and Profile for this element
eld-4: Aggregation may only be specified if one of the allowed types for the element is a resource
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... code 1..1codeName of Data type or Resource
Binding: FHIRDefinedType (extensible)
.... targetProfile 0..1uriProfile (StructureDefinition) to apply to reference target (or IG)
.... versioning 0..1codeeither | independent | specific
Binding: ReferenceVersionRules (required)
... defaultValue[x] I0..1base64Binary, boolean, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, MetaSpecified value if missing from instance
... meaningWhenMissing I0..1markdownImplicit meaning when this element is missing
... example[x] 0..1base64Binary, boolean, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, MetaExample value (as defined for type)
... minValue[x] 0..1date, dateTime, instant, time, decimal, integer, positiveInt, unsignedInt, QuantityMinimum Allowed Value (for some types)
... maxValue[x] 0..1date, dateTime, instant, time, decimal, integer, positiveInt, unsignedInt, QuantityMaximum Allowed Value (for some types)
... maxLength 0..1integerMax length for strings
... condition 0..*idReference to invariant about presence
... constraint 0..*ElementCondition that must evaluate to true
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... key I1..1idTarget of 'condition' reference above
.... requirements 0..1stringWhy this constraint is necessary or appropriate
.... severity 1..1codeerror | warning
Binding: ConstraintSeverity (required)
.... human 1..1stringHuman description of constraint
.... expression 0..1stringFluentPath expression of constraint
.... xpath 1..1stringXPath expression of constraint
... mustSupport 0..1booleanIf the element must supported
... binding I0..1ElementValueSet details if this is coded
eld-10: provide either a reference or a description (or both)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... strength 1..1coderequired | extensible | preferred | example
Binding: BindingStrength (required)
.... description I0..1stringHuman explanation of the value set
.... valueSet[x] I0..1uri, Reference(ValueSet)Source of value set
eld-12: URI SHALL start with http:// or https:// urn:
... mapping 0..*ElementMap element to another set of definitions
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... identity 1..1idReference to mapping declaration
.... language 0..1codeComputable language of mapping
Binding: IETF BCP-13 (required)
.... map 1..1stringDetails of the mapping

doco Documentation for this format

XML Template

JSON Template

todo

 

Other representations of profile: Schematron

Terminology Bindings

PathNameConformanceValueSet
ElementDefinition.codeLOINC CodesexampleLOINC Codes
ElementDefinition.slicing.rulesSlicingRulesrequiredSlicingRules
ElementDefinition.type.codeFHIRDefinedTypeextensibleFHIRDefinedType
ElementDefinition.type.versioningReferenceVersionRulesrequiredReferenceVersionRules
ElementDefinition.constraint.severityConstraintSeverityrequiredConstraintSeverity
ElementDefinition.binding.strengthBindingStrengthrequiredBindingStrength
ElementDefinition.mapping.language?extrequiredhttp://www.rfc-editor.org/bcp/bcp13.txt

Constraints

IdPathDetailsRequirements
ele-1ElementDefinitionAll FHIR elements must have a @value or children
XPath: @value|f:*|h:div
eld-2ElementDefinitionMin <= Max
XPath: not(exists(f:min)) or not(exists(f:max)) or (not(f:max/@value) and not(f:min/@value)) or (f:max/@value = '*') or (number(f:max/@value) >= f:min/@value)
eld-5ElementDefinitionif the element definition has a contentReference, it cannot have type, defaultValue, fixed, pattern, example, minValue, maxValue, maxLength, or binding
XPath: not(exists(f:contentReference) and (exists(f:type) or exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:*[starts-with(local-name(.), 'defaultValue')]) or exists(f:*[starts-with(local-name(.), 'fixed')]) or exists(f:*[starts-with(local-name(.), 'pattern')]) or exists(f:*[starts-with(local-name(.), 'example')]) or exists(f:*[starts-with(local-name(.), 'f:minValue')]) or exists(f:*[starts-with(local-name(.), 'f:maxValue')]) or exists(f:maxLength) or exists(f:binding)))
eld-7ElementDefinitionPattern may only be specified if there is one type
XPath: not(exists(f:*[starts-with(local-name(.), 'pattern')])) or (count(f:type)<=1)
eld-6ElementDefinitionFixed value may only be specified if there is one type
XPath: not(exists(f:*[starts-with(local-name(.), 'fixed')])) or (count(f:type)<=1)
eld-11ElementDefinitionBinding can only be present for coded elements, string, and uri
XPath: not(exists(f:binding)) or (count(f:type/f:code) = 0) or f:type/f:code/@value=('code','Coding','CodeableConcept','Quantity','Extension', 'string', 'uri')
eld-8ElementDefinitionPattern and value are mutually exclusive
XPath: not(exists(f:*[starts-with(local-name(.), 'pattern')])) or not(exists(f:*[starts-with(local-name(.), 'fixed')]))
eld-14ElementDefinitionConstraints must be unique by key
XPath: count(f:constraint) = count(distinct-values(f:constraint/f:key/@value))
eld-13ElementDefinitionTypes must be unique by the combination of code and profile
XPath: not(exists(for $type in f:type return $type/preceding-sibling::f:type[f:code/@value=$type/f:code/@value and f:profile/@value = $type/f:profile/@value]))
eld-15ElementDefinitiondefault value and meaningWhenMissing are mutually exclusive
XPath: not(exists(f:*[starts-with(local-name(.), 'fixed')])) or not(exists(f:meaningWhenMissing))
ele-1ElementDefinition.extensionAll FHIR elements must have a @value or children
XPath: @value|f:*|h:div
ext-1ElementDefinition.extensionMust have either extensions or value[x], not both
XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
ele-1ElementDefinition.extensionAll FHIR elements must have a @value or children
XPath: @value|f:*|h:div
ext-1ElementDefinition.extensionMust have either extensions or value[x], not both
XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
ele-1ElementDefinition.extensionAll FHIR elements must have a @value or children
XPath: @value|f:*|h:div
ext-1ElementDefinition.extensionMust have either extensions or value[x], not both
XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
eld-3ElementDefinition.maxMax SHALL be a number or "*"
XPath: @value='*' or (normalize-space(@value)!='' and normalize-space(translate(@value, '0123456789',''))='')
eld-4ElementDefinition.typeAggregation may only be specified if one of the allowed types for the element is a resource
XPath: not(exists(f:aggregation)) or exists(f:code[@value = 'Reference'])
eld-10ElementDefinition.bindingprovide either a reference or a description (or both)
XPath: (exists(f:valueSetUri) or exists(f:valueSetReference)) or exists(f:description)
eld-12ElementDefinition.binding.valueSet[x]URI SHALL start with http:// or https:// urn:
XPath: starts-with(string(@value), 'http:') or starts-with(string(@value), 'https:') or starts-with(string(@value), 'urn:')
.