This page is part of the Structured Data Capture FHIR IG (v1.6: STU 2 Ballot 1) based on FHIR v1.6.0. . For a full list of available versions, see the Directory of published versions
This is a pre-release of a future version of SDC (expected to be STU 2). The current version is STU 2.
For a full list of available versions, see the Directory of published versions .
The official URL for this profile is:
http://hl7.org/fhir/us/sdc/StructureDefinition/sdc-element
Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.
This structure is derived from DataElement
Summary
Mandatory: 7 elements (+4 nested mandatory elements)
Must-Support: 53 elements
Fixed Value: 1 element
Prohibited: 11 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
This structure is derived from DataElement
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
DataElement | I | 0..* | Resource data element dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource | |
id | ∑ | 0..1 | id | Logical id of this artifact |
meta | ∑ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!∑ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: Common Languages (extensible) | |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
url | S | 1..1 | uri | Globally unique logical id for data element |
identifier | S | 1..* | Identifier | Logical id to reference this data element |
version | S | 0..1 | string | Logical id for this version of the data element |
status | ?!S | 1..1 | code | draft | active | retired Binding: ConformanceResourceStatus (required) |
experimental | S | 0..1 | boolean | If for testing purposes, not real usage |
publisher | S | 0..1 | string | Name of the publisher (Organization or individual) |
date | S | 0..1 | dateTime | Date for this version of the data element |
name | S | 1..1 | string | Descriptive label for this element definition |
contact | S | 0..* | BackboneElement | Contact details of the publisher |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!∑ | 0..* | Extension | Extensions that cannot be ignored |
name | ∑ | 0..1 | string | Name of an individual to contact |
telecom | S | 0..* | ContactPoint | Contact details for individual or publisher |
useContext | S | 0..* | CodeableConcept | Content intends to support these contexts Binding: Context of Use ValueSet (extensible) |
copyright | S | 0..1 | string | Use and/or publishing restrictions |
stringency | S | 1..1 | code | comparable | fully-specified | equivalent | convertable | scaleable | flexible Binding: DataElementStringency (required) |
mapping | S | 0..* | BackboneElement | External specification mapped to |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!∑ | 0..* | Extension | Extensions that cannot be ignored |
identity | S | 1..1 | id | Internal id when this mapping is used |
uri | S | 0..1 | uri | Identifies what this mapping refers to |
name | S | 0..1 | string | Names what this mapping refers to |
comment | S | 0..1 | string | Versions, Issues, Scope limitations etc. |
element | SI | 1..* | ElementDefinition | Definition of element dae-1: No base allowed dae-2: No slicing allowed |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
elementdefinition-question | SI | 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 | SI | 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 |
minLength | SI | 0..1 | integer | Extension URL: http://hl7.org/fhir/StructureDefinition/minLength ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
regex | SI | 0..1 | string | Extension URL: http://hl7.org/fhir/StructureDefinition/regex ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
entryFormat | SI | 0..1 | string | Extension URL: http://hl7.org/fhir/StructureDefinition/entryFormat ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
maxDecimalPlaces | SI | 0..1 | integer | Extension URL: http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
path | S | 1..1 | string | Path of the element in the heirarchy of elements |
representation | 0..* | code | xmlAttr | xmlText | typeAttr | cdaText | xhtml Binding: PropertyRepresentation (required) | |
name | S | 0..1 | string | Name for this particular element definition (reference target) |
label | S | 0..1 | string | Name for element to display with or prompt for element |
code | S | 0..* | Coding | Defining code Binding: LOINC Codes (example) |
slicing | I | 0..1 | Element | This element is sliced - slices follow eld-1: If there are no discriminators, there must be a definition |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
discriminator | ∑ | 0..* | string | Element values that are used to distinguish the slices |
description | ∑I | 0..1 | string | Text description of how slicing works (or not) |
ordered | ∑ | 0..1 | boolean | If elements must be in same order as slices |
rules | ∑ | 1..1 | code | closed | open | openAtEnd Binding: SlicingRules (required) |
short | 0..1 | string | Concise definition for xml presentation | |
definition | S | 1..1 | markdown | Full formal definition as narrative text |
comments | S | 0..1 | markdown | Comments about the use of this element |
requirements | S | 0..1 | markdown | Why this resource has been created |
alias | S | 0..* | string | Other names |
type | SI | 0..1 | 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 | S | 1..1 | code | Name of Data type or Resource Binding: FHIRDefinedType (extensible) |
profile | 0..1 | uri | Profile (StructureDefinition) to apply (or IG) | |
aggregation | I | 0..* | code | contained | referenced | bundled - how aggregated Binding: AggregationMode (required) |
fixed[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 | Value must be exactly this |
pattern[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 | Value must have at least these property values |
example[x] | S | 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] | S | 0..1 | integer, decimal, instant, date, time, dateTime, Quantity | Minimum Allowed Value (for some types) |
maxValue[x] | S | 0..1 | integer, decimal, instant, date, time, dateTime, Quantity | Maximum Allowed Value (for some types) |
maxLength | S | 0..1 | integer | Max length for strings |
isModifier | 0..1 | boolean | If this modifies the meaning of other elements | |
isSummary | 0..1 | boolean | Include when _summary = true? | |
binding | SI | 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 | S | 1..1 | code | required | extensible | preferred | example Binding: BindingStrength (required) |
description | SI | 0..1 | string | Human explanation of the value set |
valueSetReference | SI | 1..1 | Reference(Profile sdc-valueset) | Source of value set eld-12: URI SHALL start with http:// or https:// urn: |
mapping | S | 0..* | Element | Map element to another set of definitions |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
elementdefinition-equivalence | SI | 1..1 | code | Extension URL: http://hl7.org/fhir/StructureDefinition/elementdefinition-equivalence Binding: ConceptMapEquivalence (required) ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
url | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/elementdefinition-equivalence" | |
valueCode | S | 1..1 | code | Value of extension Binding: ConceptMapEquivalence (required) Fixed Value: equivalent |
identity | S | 1..1 | id | Reference to mapping declaration |
language | S | 0..1 | code | Computable language of mapping Binding: DEX mapping language mime types (required) |
map | S | 1..1 | string | Details of the mapping |
Documentation for this format |
yet to be done: Xml template
yet to be done: Json template
yet to be done: Turtle template
This structure is derived from DataElement
Summary
Mandatory: 7 elements (+4 nested mandatory elements)
Must-Support: 53 elements
Fixed Value: 1 element
Prohibited: 11 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Differential View
This structure is derived from DataElement
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
DataElement | I | 0..* | Resource data element dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource | |
id | ∑ | 0..1 | id | Logical id of this artifact |
meta | ∑ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!∑ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: Common Languages (extensible) | |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
url | S | 1..1 | uri | Globally unique logical id for data element |
identifier | S | 1..* | Identifier | Logical id to reference this data element |
version | S | 0..1 | string | Logical id for this version of the data element |
status | ?!S | 1..1 | code | draft | active | retired Binding: ConformanceResourceStatus (required) |
experimental | S | 0..1 | boolean | If for testing purposes, not real usage |
publisher | S | 0..1 | string | Name of the publisher (Organization or individual) |
date | S | 0..1 | dateTime | Date for this version of the data element |
name | S | 1..1 | string | Descriptive label for this element definition |
contact | S | 0..* | BackboneElement | Contact details of the publisher |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!∑ | 0..* | Extension | Extensions that cannot be ignored |
name | ∑ | 0..1 | string | Name of an individual to contact |
telecom | S | 0..* | ContactPoint | Contact details for individual or publisher |
useContext | S | 0..* | CodeableConcept | Content intends to support these contexts Binding: Context of Use ValueSet (extensible) |
copyright | S | 0..1 | string | Use and/or publishing restrictions |
stringency | S | 1..1 | code | comparable | fully-specified | equivalent | convertable | scaleable | flexible Binding: DataElementStringency (required) |
mapping | S | 0..* | BackboneElement | External specification mapped to |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!∑ | 0..* | Extension | Extensions that cannot be ignored |
identity | S | 1..1 | id | Internal id when this mapping is used |
uri | S | 0..1 | uri | Identifies what this mapping refers to |
name | S | 0..1 | string | Names what this mapping refers to |
comment | S | 0..1 | string | Versions, Issues, Scope limitations etc. |
element | SI | 1..* | ElementDefinition | Definition of element dae-1: No base allowed dae-2: No slicing allowed |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
elementdefinition-question | SI | 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 | SI | 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 |
minLength | SI | 0..1 | integer | Extension URL: http://hl7.org/fhir/StructureDefinition/minLength ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
regex | SI | 0..1 | string | Extension URL: http://hl7.org/fhir/StructureDefinition/regex ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
entryFormat | SI | 0..1 | string | Extension URL: http://hl7.org/fhir/StructureDefinition/entryFormat ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
maxDecimalPlaces | SI | 0..1 | integer | Extension URL: http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
path | S | 1..1 | string | Path of the element in the heirarchy of elements |
representation | 0..* | code | xmlAttr | xmlText | typeAttr | cdaText | xhtml Binding: PropertyRepresentation (required) | |
name | S | 0..1 | string | Name for this particular element definition (reference target) |
label | S | 0..1 | string | Name for element to display with or prompt for element |
code | S | 0..* | Coding | Defining code Binding: LOINC Codes (example) |
slicing | I | 0..1 | Element | This element is sliced - slices follow eld-1: If there are no discriminators, there must be a definition |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
discriminator | ∑ | 0..* | string | Element values that are used to distinguish the slices |
description | ∑I | 0..1 | string | Text description of how slicing works (or not) |
ordered | ∑ | 0..1 | boolean | If elements must be in same order as slices |
rules | ∑ | 1..1 | code | closed | open | openAtEnd Binding: SlicingRules (required) |
short | 0..1 | string | Concise definition for xml presentation | |
definition | S | 1..1 | markdown | Full formal definition as narrative text |
comments | S | 0..1 | markdown | Comments about the use of this element |
requirements | S | 0..1 | markdown | Why this resource has been created |
alias | S | 0..* | string | Other names |
type | SI | 0..1 | 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 | S | 1..1 | code | Name of Data type or Resource Binding: FHIRDefinedType (extensible) |
profile | 0..1 | uri | Profile (StructureDefinition) to apply (or IG) | |
aggregation | I | 0..* | code | contained | referenced | bundled - how aggregated Binding: AggregationMode (required) |
fixed[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 | Value must be exactly this |
pattern[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 | Value must have at least these property values |
example[x] | S | 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] | S | 0..1 | integer, decimal, instant, date, time, dateTime, Quantity | Minimum Allowed Value (for some types) |
maxValue[x] | S | 0..1 | integer, decimal, instant, date, time, dateTime, Quantity | Maximum Allowed Value (for some types) |
maxLength | S | 0..1 | integer | Max length for strings |
isModifier | 0..1 | boolean | If this modifies the meaning of other elements | |
isSummary | 0..1 | boolean | Include when _summary = true? | |
binding | SI | 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 | S | 1..1 | code | required | extensible | preferred | example Binding: BindingStrength (required) |
description | SI | 0..1 | string | Human explanation of the value set |
valueSetReference | SI | 1..1 | Reference(Profile sdc-valueset) | Source of value set eld-12: URI SHALL start with http:// or https:// urn: |
mapping | S | 0..* | Element | Map element to another set of definitions |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
elementdefinition-equivalence | SI | 1..1 | code | Extension URL: http://hl7.org/fhir/StructureDefinition/elementdefinition-equivalence Binding: ConceptMapEquivalence (required) ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
url | 1..1 | uri | "http://hl7.org/fhir/StructureDefinition/elementdefinition-equivalence" | |
valueCode | S | 1..1 | code | Value of extension Binding: ConceptMapEquivalence (required) Fixed Value: equivalent |
identity | S | 1..1 | id | Reference to mapping declaration |
language | S | 0..1 | code | Computable language of mapping Binding: DEX mapping language mime types (required) |
map | S | 1..1 | string | Details of the mapping |
Documentation for this format |
XML Template
yet to be done: Xml template
JSON Template
yet to be done: Json template
TTL Template
yet to be done: Turtle template
Other representations of profile: Schematron
Path | Name | Conformance | ValueSet |
DataElement.language | Common Languages | extensible | Common Languages |
DataElement.status | ConformanceResourceStatus | required | ConformanceResourceStatus |
DataElement.useContext | Context of Use ValueSet | extensible | Context of Use ValueSet |
DataElement.stringency | DataElementStringency | required | DataElementStringency |
DataElement.element.representation | PropertyRepresentation | required | PropertyRepresentation |
DataElement.element.code | LOINC Codes | example | LOINC Codes |
DataElement.element.slicing.rules | SlicingRules | required | SlicingRules |
DataElement.element.type.code | FHIRDefinedType | extensible | FHIRDefinedType |
DataElement.element.type.aggregation | AggregationMode | required | AggregationMode |
DataElement.element.constraint.severity | ConstraintSeverity | required | ConstraintSeverity |
DataElement.element.binding.strength | BindingStrength | required | BindingStrength |
DataElement.element.mapping.extension.valueCode | ConceptMapEquivalence | required | ConceptMapEquivalence |
DataElement.element.mapping.language | DEX mapping language mime types | required | DEX mapping language mime types |
Id | Path | Details | Requirements |
dom-2 | DataElement | If the resource is contained in another resource, it SHALL NOT contain nested Resources XPath: not(parent::f:contained and f:contained) | |
dom-1 | DataElement | If the resource is contained in another resource, it SHALL NOT contain any narrative XPath: not(parent::f:contained and f:text) | |
dom-4 | DataElement | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated XPath: not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated)) | |
dom-3 | DataElement | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource XPath: not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))])) | |
dae-1 | DataElement.element | No base allowed XPath: not(exists(f:base)) | |
dae-2 | DataElement.element | No slicing allowed XPath: not(exists(f:slicing)) | |
ele-1 | DataElement.element.extension | All FHIR elements must have a @value or children XPath: @value|f:*|h:div | |
ext-1 | DataElement.element.extension | Must have either extensions or value[x], not both XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]) | |
ele-1 | DataElement.element.extension | All FHIR elements must have a @value or children XPath: @value|f:*|h:div | |
ext-1 | DataElement.element.extension | Must have either extensions or value[x], not both XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]) | |
ele-1 | DataElement.element.extension | All FHIR elements must have a @value or children XPath: @value|f:*|h:div | |
ext-1 | DataElement.element.extension | Must have either extensions or value[x], not both XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]) | |
ele-1 | DataElement.element.extension | All FHIR elements must have a @value or children XPath: @value|f:*|h:div | |
ext-1 | DataElement.element.extension | Must have either extensions or value[x], not both XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]) | |
ele-1 | DataElement.element.extension | All FHIR elements must have a @value or children XPath: @value|f:*|h:div | |
ext-1 | DataElement.element.extension | Must have either extensions or value[x], not both XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]) | |
ele-1 | DataElement.element.extension | All FHIR elements must have a @value or children XPath: @value|f:*|h:div | |
ext-1 | DataElement.element.extension | Must have either extensions or value[x], not both XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]) | |
ele-1 | DataElement.element.extension | All FHIR elements must have a @value or children XPath: @value|f:*|h:div | |
ext-1 | DataElement.element.extension | Must have either extensions or value[x], not both XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]) | |
eld-1 | DataElement.element.slicing | If there are no discriminators, there must be a definition XPath: (f:discriminator) or (f:description) | |
eld-4 | DataElement.element.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 | DataElement.element.binding | provide either a reference or a description (or both) XPath: (exists(f:valueSetUri) or exists(f:valueSetReference)) or exists(f:description) | |
eld-12 | DataElement.element.binding.valueSetReference | 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:') | |
ele-1 | DataElement.element.mapping.extension | All FHIR elements must have a @value or children XPath: @value|f:*|h:div | |
ext-1 | DataElement.element.mapping.extension | Must have either extensions or value[x], not both XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]) |