STU 3 Candidate

This page is part of the FHIR Specification (v1.4.0: STU 3 Ballot 3). 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..*ElementDefinitionDefinition of an element in a resource or extension
eld-13: Types must be unique by the combination of code and profile
eld-14: Constraints must be unique by key
eld-11: Binding can only be present for coded elements, string, and uri
eld-8: Pattern and value are mutually exclusive
eld-15: default value and meaningWhenMissing are mutually exclusive
eld-2: Min <= Max
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-5: if the element definition has a contentReference, it cannot have type, defaultValue, fixed, pattern, example, minValue, maxValue, maxLength, or binding
... elementdefinition-question 0..*stringExtension
URL: http://hl7.org/fhir/StructureDefinition/elementdefinition-question
... elementdefinition-allowedUnits 0..1CodeableConcept, Reference(ValueSet)Extension
URL: http://hl7.org/fhir/StructureDefinition/elementdefinition-allowedUnits
... path 1..1stringThe path of the element (see the Detailed Descriptions)
... 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
.... 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
... contentReference I0..1uriReference to definition of content for the 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
.... extension 0..*ExtensionAdditional Content defined by implementations
.... code 1..1codeName of Data type or Resource
Binding: FHIRDefinedType (required)
.... versioning 0..1codeeither | independent | specific
Binding: ReferenceVersionRules (required)
... defaultValue[x] I0..1boolean, integer, decimal, base64Binary, instant, string, uri, date, dateTime, time, code, oid, id, unsignedInt, positiveInt, markdown, Annotation, Attachment, Identifier, CodeableConcept, Coding, Quantity, Range, Period, Ratio, SampledData, Signature, HumanName, Address, ContactPoint, Timing, Reference(Reference), MetaSpecified value if missing from instance
... meaningWhenMissing I0..1markdownImplicit meaning when this element is missing
... example[x] 0..1boolean, integer, decimal, base64Binary, instant, string, uri, date, dateTime, time, code, oid, id, unsignedInt, positiveInt, markdown, Annotation, Attachment, Identifier, CodeableConcept, Coding, Quantity, Range, Period, Ratio, SampledData, Signature, HumanName, Address, ContactPoint, Timing, Reference(Reference), MetaExample value (as defined for type)
... minValue[x] 0..1boolean, integer, decimal, base64Binary, instant, string, uri, date, dateTime, time, code, oid, id, unsignedInt, positiveInt, markdown, Annotation, Attachment, Identifier, CodeableConcept, Coding, Quantity, Range, Period, Ratio, SampledData, Signature, HumanName, Address, ContactPoint, Timing, Reference(Reference), MetaMinimum Allowed Value (for some types)
... maxValue[x] 0..1boolean, integer, decimal, base64Binary, instant, string, uri, date, dateTime, time, code, oid, id, unsignedInt, positiveInt, markdown, Annotation, Attachment, Identifier, CodeableConcept, Coding, Quantity, Range, Period, Ratio, SampledData, Signature, HumanName, Address, ContactPoint, Timing, Reference(Reference), MetaMaximum 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
.... 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)
.... 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
.... 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..*ElementDefinitionDefinition of an element in a resource or extension
eld-13: Types must be unique by the combination of code and profile
eld-14: Constraints must be unique by key
eld-11: Binding can only be present for coded elements, string, and uri
eld-8: Pattern and value are mutually exclusive
eld-15: default value and meaningWhenMissing are mutually exclusive
eld-2: Min <= Max
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-5: if the element definition has a contentReference, it cannot have type, defaultValue, fixed, pattern, example, minValue, maxValue, maxLength, or binding
... elementdefinition-question 0..*stringExtension
URL: http://hl7.org/fhir/StructureDefinition/elementdefinition-question
... elementdefinition-allowedUnits 0..1CodeableConcept, Reference(ValueSet)Extension
URL: http://hl7.org/fhir/StructureDefinition/elementdefinition-allowedUnits
... path 1..1stringThe path of the element (see the Detailed Descriptions)
... 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
.... 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
... contentReference I0..1uriReference to definition of content for the 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
.... extension 0..*ExtensionAdditional Content defined by implementations
.... code 1..1codeName of Data type or Resource
Binding: FHIRDefinedType (required)
.... versioning 0..1codeeither | independent | specific
Binding: ReferenceVersionRules (required)
... defaultValue[x] I0..1boolean, integer, decimal, base64Binary, instant, string, uri, date, dateTime, time, code, oid, id, unsignedInt, positiveInt, markdown, Annotation, Attachment, Identifier, CodeableConcept, Coding, Quantity, Range, Period, Ratio, SampledData, Signature, HumanName, Address, ContactPoint, Timing, Reference(Reference), MetaSpecified value if missing from instance
... meaningWhenMissing I0..1markdownImplicit meaning when this element is missing
... example[x] 0..1boolean, integer, decimal, base64Binary, instant, string, uri, date, dateTime, time, code, oid, id, unsignedInt, positiveInt, markdown, Annotation, Attachment, Identifier, CodeableConcept, Coding, Quantity, Range, Period, Ratio, SampledData, Signature, HumanName, Address, ContactPoint, Timing, Reference(Reference), MetaExample value (as defined for type)
... minValue[x] 0..1boolean, integer, decimal, base64Binary, instant, string, uri, date, dateTime, time, code, oid, id, unsignedInt, positiveInt, markdown, Annotation, Attachment, Identifier, CodeableConcept, Coding, Quantity, Range, Period, Ratio, SampledData, Signature, HumanName, Address, ContactPoint, Timing, Reference(Reference), MetaMinimum Allowed Value (for some types)
... maxValue[x] 0..1boolean, integer, decimal, base64Binary, instant, string, uri, date, dateTime, time, code, oid, id, unsignedInt, positiveInt, markdown, Annotation, Attachment, Identifier, CodeableConcept, Coding, Quantity, Range, Period, Ratio, SampledData, Signature, HumanName, Address, ContactPoint, Timing, Reference(Reference), MetaMaximum 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
.... 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)
.... 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
.... 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.codeFHIRDefinedTyperequiredFHIRDefinedType
ElementDefinition.type.versioningReferenceVersionRulesrequiredReferenceVersionRules
ElementDefinition.constraint.severityConstraintSeverityrequiredConstraintSeverity
ElementDefinition.binding.strengthBindingStrengthrequiredBindingStrength
ElementDefinition.mapping.language?extrequiredhttp://www.rfc-editor.org/bcp/bcp13.txt

Constraints

IdPathDetailsRequirements
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-14ElementDefinitionConstraints must be unique by key
XPath: count(f:constraint) = count(distinct-values(f:constraint/f:key/@value))
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(.), 'value')]))
eld-15ElementDefinitiondefault value and meaningWhenMissing are mutually exclusive
XPath: not(exists(f:*[starts-with(local-name(.), 'fixed')])) or not(exists(f:meaningWhenMissing))
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-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-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-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:')
.