This page is part of the FHIR Specification (v0.5.0: DSTU 2 Ballot 2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions
The official URL for this profile is:
http://hl7.org/fhir/StructureDefinition/elementdefinition-de-dataelement
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, Inc. - FHIR Core WG.
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 | 1..1 | ElementDefinition | ||
path | ||||
representation | 0..0 | |||
name | ||||
label | ||||
code | ||||
slicing | 0..0 | |||
short | 0..0 | |||
definition | ||||
comments | ||||
requirements | ||||
alias | ||||
min | ||||
max | ||||
type | ||||
code | ||||
profile | 0..0 | |||
aggregation | 0..0 | |||
nameReference | 0..0 | |||
defaultValue[x] | ||||
meaningWhenMissing | ||||
fixed[x] | 0..0 | |||
pattern[x] | 0..0 | |||
example[x] | ||||
maxLength | ||||
condition | ||||
constraint | ||||
key | ||||
name | ||||
severity | ||||
human | ||||
xpath | ||||
mustSupport | ||||
isModifier | 0..0 | |||
isSummary | 0..0 | |||
binding | ||||
name | ||||
strength | ||||
description | ||||
valueSet[x] | ||||
mapping | ||||
identity | ||||
language | ||||
map | ||||
elementdefinition-question | 0..* | string | Prompt for element phrased as question | |
elementdefinition-allowedUnits | 0..1 | CodeableConcept, ValueSet | Units to use for measured value |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ElementDefinition | I | 1..1 | ElementDefinition | Definition of an elements 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: Constraint names must be unique. eld-16: 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: Either a namereference or a fixed value (but not both) is permitted |
elementdefinition-question | 0..* | string | Extension | |
elementdefinition-allowedUnits | 0..1 | CodeableConcept, ValueSet | Extension | |
path | 1..1 | string | The path of the element (see the Detailed Descriptions) | |
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 | |
definition | 0..1 | string | Full formal definition as narrative text | |
comments | 0..1 | string | Comments about the use of this element | |
requirements | 0..1 | string | Why is this needed? | |
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 "*" |
type | I | 0..* | 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 | |
extension | 0..* | Extension | Additional Content defined by implementations | |
code | 1..1 | code | Name of Data type or Resource Binding: DataType (required) | |
defaultValue[x] | I | 0..1 | * | Specified value it missing from instance |
meaningWhenMissing | I | 0..1 | string | Implicit meaning when this element is missing |
example[x] | 0..1 | * | Example value: [as defined for type] | |
maxLength | 0..1 | integer | Max length for strings | |
condition | 0..* | id | Reference to invariant about presence | |
constraint | 0..* | Condition that must evaluate to true | ||
extension | 0..* | Extension | Additional Content defined by implementations | |
key | I | 1..1 | id | Target of 'condition' reference above |
name | I | 0..1 | string | Short human label |
severity | 1..1 | code | error | warning Binding: ConstraintSeverity (required) | |
human | 1..1 | string | Human description of constraint | |
xpath | 1..1 | string | XPath expression of constraint | |
mustSupport | 0..1 | boolean | If the element must supported | |
binding | I | 0..1 | ValueSet details if this is coded eld-9: Example value sets are always extensible eld-10: provide either a reference or a description (or both) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
name | 1..1 | string | Descriptive Name | |
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, ValueSet | Source of value set eld-12: uri SHALL start with http:// or https:// |
mapping | 0..* | Map element to another set of definitions | ||
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: MimeType (required) | |
map | 1..1 | string | Details of the mapping |
todo
This structure is derived from ElementDefinition.
Differential View
This structure is derived from ElementDefinition.
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ElementDefinition | 1..1 | ElementDefinition | ||
path | ||||
representation | 0..0 | |||
name | ||||
label | ||||
code | ||||
slicing | 0..0 | |||
short | 0..0 | |||
definition | ||||
comments | ||||
requirements | ||||
alias | ||||
min | ||||
max | ||||
type | ||||
code | ||||
profile | 0..0 | |||
aggregation | 0..0 | |||
nameReference | 0..0 | |||
defaultValue[x] | ||||
meaningWhenMissing | ||||
fixed[x] | 0..0 | |||
pattern[x] | 0..0 | |||
example[x] | ||||
maxLength | ||||
condition | ||||
constraint | ||||
key | ||||
name | ||||
severity | ||||
human | ||||
xpath | ||||
mustSupport | ||||
isModifier | 0..0 | |||
isSummary | 0..0 | |||
binding | ||||
name | ||||
strength | ||||
description | ||||
valueSet[x] | ||||
mapping | ||||
identity | ||||
language | ||||
map | ||||
elementdefinition-question | 0..* | string | Prompt for element phrased as question | |
elementdefinition-allowedUnits | 0..1 | CodeableConcept, ValueSet | Units to use for measured value |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ElementDefinition | I | 1..1 | ElementDefinition | Definition of an elements 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: Constraint names must be unique. eld-16: 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: Either a namereference or a fixed value (but not both) is permitted |
elementdefinition-question | 0..* | string | Extension | |
elementdefinition-allowedUnits | 0..1 | CodeableConcept, ValueSet | Extension | |
path | 1..1 | string | The path of the element (see the Detailed Descriptions) | |
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 | |
definition | 0..1 | string | Full formal definition as narrative text | |
comments | 0..1 | string | Comments about the use of this element | |
requirements | 0..1 | string | Why is this needed? | |
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 "*" |
type | I | 0..* | 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 | |
extension | 0..* | Extension | Additional Content defined by implementations | |
code | 1..1 | code | Name of Data type or Resource Binding: DataType (required) | |
defaultValue[x] | I | 0..1 | * | Specified value it missing from instance |
meaningWhenMissing | I | 0..1 | string | Implicit meaning when this element is missing |
example[x] | 0..1 | * | Example value: [as defined for type] | |
maxLength | 0..1 | integer | Max length for strings | |
condition | 0..* | id | Reference to invariant about presence | |
constraint | 0..* | Condition that must evaluate to true | ||
extension | 0..* | Extension | Additional Content defined by implementations | |
key | I | 1..1 | id | Target of 'condition' reference above |
name | I | 0..1 | string | Short human label |
severity | 1..1 | code | error | warning Binding: ConstraintSeverity (required) | |
human | 1..1 | string | Human description of constraint | |
xpath | 1..1 | string | XPath expression of constraint | |
mustSupport | 0..1 | boolean | If the element must supported | |
binding | I | 0..1 | ValueSet details if this is coded eld-9: Example value sets are always extensible eld-10: provide either a reference or a description (or both) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
name | 1..1 | string | Descriptive Name | |
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, ValueSet | Source of value set eld-12: uri SHALL start with http:// or https:// |
mapping | 0..* | Map element to another set of definitions | ||
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: MimeType (required) | |
map | 1..1 | string | Details of the mapping |
XML Template
JSON Template
todo
Other representations of profile: (todo)
Path | Name | Conformance | ValueSet |
ElementDefinition.type.code | DataType | required | DataType |
ElementDefinition.constraint.severity | ConstraintSeverity | required | ConstraintSeverity |
ElementDefinition.binding.strength | BindingStrength | required | BindingStrength |
ElementDefinition.mapping.language | MimeType | required | http://www.rfc-editor.org/bcp/bcp13.txt |
Id | Path | Name | Details |
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-14 | ElementDefinition | Constraints must be unique by key XPath: count(f:constraint) = count(distinct-values(f:constraint/f:key/@value)) | |
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(.), 'value')])) | |
eld-15 | ElementDefinition | Constraint names must be unique. XPath: count(f:constraint[f:name]) = count(distinct-values(f:constraint/f:name/@value)) | |
eld-16 | ElementDefinition | default value and meaningWhenMissing are mutually exclusive XPath: not(exists(f:*[starts-with(local-name(.), 'fixed')])) or not(exists(f:meaningWhenMissing)) | |
eld-2 | ElementDefinition | Min <= Max XPath: (not(f:max/@value) and not(f:min/@value)) or (f:max/@value = '*') or (f:max/@value >= f:min/@value) | |
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-5 | ElementDefinition | Either a namereference or a fixed value (but not both) is permitted XPath: not(exists(f:nameReference) and 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-9 | ElementDefinition.binding | Example value sets are always extensible XPath: not(f:conformance/@value='example' and f:isExtensible/@value='false') | |
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:// XPath: starts-with(@value, 'http:') or starts-with(@value, 'https:') |