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
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).
Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.
This structure is derived from ElementDefinition.
This structure is derived from ElementDefinition.
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ElementDefinition | I | 0..* | 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..1 | string | xml:id (or equivalent in JSON) | |
elementdefinition-question | I | 0..* | string | Extension 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 | I | 0..1 | CodeableConcept, 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..1 | string | Path of the element in the heirarchy of elements |
name | ∑ | 0..1 | string | Name for this particular element definition (reference target) |
label | ∑ | 0..1 | string | Name for element to display with or prompt for element |
code | ∑ | 0..* | Coding | Defining code Binding: LOINC Codes (example) |
definition | ∑ | 0..1 | markdown | Full formal definition as narrative text |
comments | ∑ | 0..1 | markdown | Comments about the use of this element |
requirements | ∑ | 0..1 | markdown | Why this resource has been created |
alias | ∑ | 0..* | string | Other names |
min | ∑I | 0..1 | integer | Minimum Cardinality |
max | ∑I | 0..1 | string | Maximum Cardinality (a number or *) eld-3: Max SHALL be a number or "*" |
base | ∑ | 0..1 | Element | Base definition information for tools |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
path | ∑ | 1..1 | string | Path that identifies the base element |
min | ∑ | 1..1 | integer | Min cardinality of the base element |
max | ∑ | 1..1 | string | Max cardinality of the base element |
type | ∑I | 0..* | Element | Data 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..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
code | ∑ | 1..1 | code | Name of Data type or Resource Binding: FHIRDefinedType (extensible) |
targetProfile | ∑ | 0..1 | uri | Profile (StructureDefinition) to apply to reference target (or IG) |
versioning | ∑ | 0..1 | code | either | independent | specific Binding: ReferenceVersionRules (required) |
defaultValue[x] | ∑I | 0..1 | base64Binary, 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, Meta | Specified value if missing from instance |
meaningWhenMissing | ∑I | 0..1 | markdown | Implicit meaning when this element is missing |
example[x] | ∑ | 0..1 | base64Binary, 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, Meta | Example value (as defined for type) |
minValue[x] | ∑ | 0..1 | date, dateTime, instant, time, decimal, integer, positiveInt, unsignedInt, Quantity | Minimum Allowed Value (for some types) |
maxValue[x] | ∑ | 0..1 | date, dateTime, instant, time, decimal, integer, positiveInt, unsignedInt, Quantity | Maximum Allowed Value (for some types) |
maxLength | ∑ | 0..1 | integer | Max length for strings |
condition | ∑ | 0..* | id | Reference to invariant about presence |
constraint | ∑ | 0..* | Element | Condition that must evaluate to true |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
key | ∑I | 1..1 | id | Target of 'condition' reference above |
requirements | ∑ | 0..1 | string | Why this constraint is necessary or appropriate |
severity | ∑ | 1..1 | code | error | warning Binding: ConstraintSeverity (required) |
human | ∑ | 1..1 | string | Human description of constraint |
expression | ∑ | 0..1 | string | FluentPath expression of constraint |
xpath | ∑ | 1..1 | string | XPath expression of constraint |
mustSupport | ∑ | 0..1 | boolean | If the element must supported |
binding | ∑I | 0..1 | Element | ValueSet details if this is coded eld-10: provide either a reference or a description (or both) |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
strength | ∑ | 1..1 | code | required | extensible | preferred | example Binding: BindingStrength (required) |
description | ∑I | 0..1 | string | Human explanation of the value set |
valueSet[x] | ∑I | 0..1 | uri, Reference(ValueSet) | Source of value set eld-12: URI SHALL start with http:// or https:// urn: |
mapping | ∑ | 0..* | Element | Map element to another set of definitions |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
identity | ∑ | 1..1 | id | Reference to mapping declaration |
language | ∑ | 0..1 | code | Computable language of mapping Binding: IETF BCP-13 (required) |
map | ∑ | 1..1 | string | Details of the mapping |
Documentation for this format |
todo
This structure is derived from ElementDefinition.
Differential View
This structure is derived from ElementDefinition.
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ElementDefinition | I | 0..* | 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..1 | string | xml:id (or equivalent in JSON) | |
elementdefinition-question | I | 0..* | string | Extension 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 | I | 0..1 | CodeableConcept, 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..1 | string | Path of the element in the heirarchy of elements |
name | ∑ | 0..1 | string | Name for this particular element definition (reference target) |
label | ∑ | 0..1 | string | Name for element to display with or prompt for element |
code | ∑ | 0..* | Coding | Defining code Binding: LOINC Codes (example) |
definition | ∑ | 0..1 | markdown | Full formal definition as narrative text |
comments | ∑ | 0..1 | markdown | Comments about the use of this element |
requirements | ∑ | 0..1 | markdown | Why this resource has been created |
alias | ∑ | 0..* | string | Other names |
min | ∑I | 0..1 | integer | Minimum Cardinality |
max | ∑I | 0..1 | string | Maximum Cardinality (a number or *) eld-3: Max SHALL be a number or "*" |
base | ∑ | 0..1 | Element | Base definition information for tools |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
path | ∑ | 1..1 | string | Path that identifies the base element |
min | ∑ | 1..1 | integer | Min cardinality of the base element |
max | ∑ | 1..1 | string | Max cardinality of the base element |
type | ∑I | 0..* | Element | Data 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..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
code | ∑ | 1..1 | code | Name of Data type or Resource Binding: FHIRDefinedType (extensible) |
targetProfile | ∑ | 0..1 | uri | Profile (StructureDefinition) to apply to reference target (or IG) |
versioning | ∑ | 0..1 | code | either | independent | specific Binding: ReferenceVersionRules (required) |
defaultValue[x] | ∑I | 0..1 | base64Binary, 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, Meta | Specified value if missing from instance |
meaningWhenMissing | ∑I | 0..1 | markdown | Implicit meaning when this element is missing |
example[x] | ∑ | 0..1 | base64Binary, 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, Meta | Example value (as defined for type) |
minValue[x] | ∑ | 0..1 | date, dateTime, instant, time, decimal, integer, positiveInt, unsignedInt, Quantity | Minimum Allowed Value (for some types) |
maxValue[x] | ∑ | 0..1 | date, dateTime, instant, time, decimal, integer, positiveInt, unsignedInt, Quantity | Maximum Allowed Value (for some types) |
maxLength | ∑ | 0..1 | integer | Max length for strings |
condition | ∑ | 0..* | id | Reference to invariant about presence |
constraint | ∑ | 0..* | Element | Condition that must evaluate to true |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
key | ∑I | 1..1 | id | Target of 'condition' reference above |
requirements | ∑ | 0..1 | string | Why this constraint is necessary or appropriate |
severity | ∑ | 1..1 | code | error | warning Binding: ConstraintSeverity (required) |
human | ∑ | 1..1 | string | Human description of constraint |
expression | ∑ | 0..1 | string | FluentPath expression of constraint |
xpath | ∑ | 1..1 | string | XPath expression of constraint |
mustSupport | ∑ | 0..1 | boolean | If the element must supported |
binding | ∑I | 0..1 | Element | ValueSet details if this is coded eld-10: provide either a reference or a description (or both) |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
strength | ∑ | 1..1 | code | required | extensible | preferred | example Binding: BindingStrength (required) |
description | ∑I | 0..1 | string | Human explanation of the value set |
valueSet[x] | ∑I | 0..1 | uri, Reference(ValueSet) | Source of value set eld-12: URI SHALL start with http:// or https:// urn: |
mapping | ∑ | 0..* | Element | Map element to another set of definitions |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
identity | ∑ | 1..1 | id | Reference to mapping declaration |
language | ∑ | 0..1 | code | Computable language of mapping Binding: IETF BCP-13 (required) |
map | ∑ | 1..1 | string | Details of the mapping |
Documentation for this format |
XML Template
JSON Template
todo
Other representations of profile: Schematron
Path | Name | Conformance | ValueSet |
ElementDefinition.code | LOINC Codes | example | LOINC Codes |
ElementDefinition.slicing.rules | SlicingRules | required | SlicingRules |
ElementDefinition.type.code | FHIRDefinedType | extensible | FHIRDefinedType |
ElementDefinition.type.versioning | ReferenceVersionRules | required | ReferenceVersionRules |
ElementDefinition.constraint.severity | ConstraintSeverity | required | ConstraintSeverity |
ElementDefinition.binding.strength | BindingStrength | required | BindingStrength |
ElementDefinition.mapping.language | ?ext | required | http://www.rfc-editor.org/bcp/bcp13.txt |
Id | Path | Details | Requirements |
ele-1 | ElementDefinition | All FHIR elements must have a @value or children XPath: @value|f:*|h:div | |
eld-2 | ElementDefinition | Min <= 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-5 | ElementDefinition | if 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-7 | ElementDefinition | Pattern may only be specified if there is one type XPath: not(exists(f:*[starts-with(local-name(.), 'pattern')])) or (count(f:type)<=1) | |
eld-6 | ElementDefinition | Fixed 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-11 | ElementDefinition | Binding 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-8 | ElementDefinition | Pattern and value are mutually exclusive XPath: not(exists(f:*[starts-with(local-name(.), 'pattern')])) or not(exists(f:*[starts-with(local-name(.), 'fixed')])) | |
eld-14 | ElementDefinition | Constraints must be unique by key XPath: count(f:constraint) = count(distinct-values(f:constraint/f:key/@value)) | |
eld-13 | ElementDefinition | Types 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-15 | ElementDefinition | default value and meaningWhenMissing are mutually exclusive XPath: not(exists(f:*[starts-with(local-name(.), 'fixed')])) or not(exists(f:meaningWhenMissing)) | |
ele-1 | ElementDefinition.extension | All FHIR elements must have a @value or children XPath: @value|f:*|h:div | |
ext-1 | ElementDefinition.extension | Must have either extensions or value[x], not both XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]) | |
ele-1 | ElementDefinition.extension | All FHIR elements must have a @value or children XPath: @value|f:*|h:div | |
ext-1 | ElementDefinition.extension | Must have either extensions or value[x], not both XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]) | |
ele-1 | ElementDefinition.extension | All FHIR elements must have a @value or children XPath: @value|f:*|h:div | |
ext-1 | ElementDefinition.extension | Must have either extensions or value[x], not both XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]) | |
eld-3 | ElementDefinition.max | Max SHALL be a number or "*" XPath: @value='*' or (normalize-space(@value)!='' and normalize-space(translate(@value, '0123456789',''))='') | |
eld-4 | ElementDefinition.type | Aggregation 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-10 | ElementDefinition.binding | provide either a reference or a description (or both) XPath: (exists(f:valueSetUri) or exists(f:valueSetReference)) or exists(f:description) | |
eld-12 | ElementDefinition.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:') |