Extensions for Using Data Elements from FHIR STU3 in FHIR R5 - Downloaded Version null See the Directory of published versions
| Official URL: http://hl7.org/fhir/3.0/StructureDefinition/profile-DataElement-for-StructureDefinition | Version: 0.1.0 | |||
| Standards status: Trial-use | Maturity Level: 0 | Computable Name: Profile_R3_DataElement_R5_StructureDefinition | ||
This cross-version profile allows STU3 DataElement content to be represented via FHIR R5 StructureDefinition resources.
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | StructureDefinition(5.0.0) | Structural Definition Constraints: cnl-0, sdf-1, sdf-4, sdf-5, sdf-6, sdf-11, sdf-14, sdf-15, sdf-15a, sdf-9, sdf-16, sdf-17, sdf-18, sdf-19, sdf-21, sdf-22, sdf-23, sdf-27, sdf-29 |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Resource | Contained, inline Resources | |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |
![]() ![]() ![]() |
0..1 | code | STU3: comparable | fully-specified | equivalent | convertable | scaleable | flexible (new) URL: http://hl7.org/fhir/3.0/StructureDefinition/extension-DataElement.stringency Binding: R3DataelementStringencyForR5 (0.1.0) (required): Indicates the degree of precision of the data element definition. Constraints: ext-1 | |
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 |
![]() ![]() |
ΣC | 1..1 | uri | Canonical identifier for this structure definition, represented as a URI (globally unique) Constraints: cnl-1 |
![]() ![]() |
ΣC | 1..1 | string | Name for this structure definition (computer friendly) |
![]() ![]() |
?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. |
![]() ![]() |
ΣC | 1..1 | code | primitive-type | complex-type | resource | logical Binding: StructureDefinitionKind (required): Defines the type of structure that a definition is describing. |
![]() ![]() |
ΣC | 1..1 | boolean | Whether the structure is abstract |
![]() ![]() |
ΣC | 1..1 | uri | Type defined or constrained by this structure Binding: FHIRTypes (extensible): Either a resource or a data type, including logical model types. |
![]() ![]() |
ΣC | 0..1 | canonical(StructureDefinition) | Definition that this type is constrained/specialized from |
![]() ![]() |
ΣC | 0..1 | code | specialization | constraint - How relates to base definition Binding: TypeDerivationRule (required): How a type relates to its baseDefinition. |
![]() ![]() |
C | 0..1 | BackboneElement | Snapshot view of the structure Constraints: sdf-3, sdf-8, sdf-24, sdf-25, sdf-26, sdf-8b |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 |
![]() ![]() ![]() |
C | 1..* | ElementDefinition | Definition of elements in the resource (if no StructureDefinition) Constraints: sdf-10, sdf-28 |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| StructureDefinition.status | Base | required | PublicationStatus | 📍5.0.0 | FHIR Std. |
| StructureDefinition.kind | Base | required | Structure Definition Kind | 📍5.0.0 | FHIR Std. |
| StructureDefinition.type | Base | extensible | All FHIR Types | 📍5.0.0 | FHIR Std. |
| StructureDefinition.derivation | Base | required | Type Derivation Rule | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| cnl-0 | warning | StructureDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation |
name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
|
| cnl-1 | warning | StructureDefinition.url | URL should not contain | or # - these characters make processing canonical references problematic |
exists() implies matches('^[^|# ]+$')
|
| ele-1 | error | StructureDefinition.implicitRules, StructureDefinition.extension, StructureDefinition.extension:stringency, StructureDefinition.modifierExtension, StructureDefinition.url, StructureDefinition.name, StructureDefinition.status, StructureDefinition.kind, StructureDefinition.abstract, StructureDefinition.type, StructureDefinition.baseDefinition, StructureDefinition.derivation, StructureDefinition.snapshot, StructureDefinition.snapshot.modifierExtension, StructureDefinition.snapshot.element | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | StructureDefinition.extension, StructureDefinition.extension:stringency, StructureDefinition.modifierExtension, StructureDefinition.snapshot.modifierExtension | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| sdf-1 | error | StructureDefinition | Element paths must be unique unless the structure is a constraint |
derivation = 'constraint' or snapshot.element.select(path).isDistinct()
|
| sdf-15a | error | StructureDefinition |
If the first element in a differential has no "." in the path and it's not a logical model, it has no type Requirements: No Type on the root element (differential) |
(kind!='logical' and differential.element.first().path.contains('.').not()) implies differential.element.first().type.empty()
|
| sdf-3 | error | StructureDefinition.snapshot | Each element definition in a snapshot must have a formal definition and cardinalities, unless model is a logical model |
%resource.kind = 'logical' or element.all(definition.exists() and min.exists() and max.exists())
|
| sdf-4 | error | StructureDefinition |
If the structure is not abstract, then there SHALL be a baseDefinition Requirements: Ensure that the base types are abstract |
abstract = true or baseDefinition.exists()
|
| sdf-5 | error | StructureDefinition | If the structure defines an extension then the structure must have context information |
type != 'Extension' or derivation = 'specialization' or (context.exists())
|
| sdf-6 | error | StructureDefinition | A structure must have either a differential, or a snapshot (or both) |
snapshot.exists() or differential.exists()
|
| sdf-8 | error | StructureDefinition.snapshot | All snapshot elements must start with the StructureDefinition's specified type for non-logical models, or with the same type name for logical models |
(%resource.kind = 'logical' or element.first().path = %resource.type) and element.tail().all(path.startsWith(%resource.snapshot.element.first().path&'.'))
|
| sdf-9 | error | StructureDefinition |
In any snapshot or differential, no label, code or requirements on an element without a "." in the path (e.g. the first element) Requirements: Because these 3 fields seem to be have overlapping meaning with the ones in the root of StructureDefinition |
children().element.where(path.contains('.').not()).label.empty() and children().element.where(path.contains('.').not()).code.empty() and children().element.where(path.contains('.').not()).requirements.empty()
|
| sdf-10 | error | StructureDefinition.snapshot.element |
provide either a binding reference or a description (or both) Requirements: binding is required |
binding.empty() or binding.valueSet.exists() or binding.description.exists()
|
| sdf-11 | error | StructureDefinition |
If there's a type, its content must match the path name in the first element of a snapshot Requirements: Ensure that the type is not inconsistent with the other information in the structure |
kind != 'logical' implies snapshot.empty() or snapshot.element.first().path = type
|
| sdf-14 | error | StructureDefinition |
All element definitions must have an id Requirements: elements have id |
snapshot.element.all(id.exists()) and differential.element.all(id.exists())
|
| sdf-15 | error | StructureDefinition |
The first element in a snapshot has no type unless model is a logical model. Requirements: No Type on the root element (snapshot) |
kind!='logical' implies snapshot.element.first().type.empty()
|
| sdf-16 | error | StructureDefinition |
All element definitions must have unique ids (snapshot) Requirements: element ids need to be unique |
snapshot.element.all(id.exists()) and snapshot.element.id.trace('ids').isDistinct()
|
| sdf-17 | error | StructureDefinition |
All element definitions must have unique ids (diff) Requirements: element ids need to be unique |
differential.element.all(id.exists()) and differential.element.id.trace('ids').isDistinct()
|
| sdf-18 | error | StructureDefinition |
Context Invariants can only be used for extensions Requirements: contextInvariant |
contextInvariant.exists() implies type = 'Extension'
|
| sdf-19 | error | StructureDefinition |
FHIR Specification models only use FHIR defined types Requirements: custom types only in logical models |
url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (differential | snapshot).element.type.code.all(matches('^[a-zA-Z0-9]+$') or matches('^http:\\/\\/hl7\\.org\\/fhirpath\\/System\\.[A-Z][A-Za-z]+$'))
|
| sdf-21 | error | StructureDefinition |
Default values can only be specified on specializations Requirements: no default values on data types or resources |
differential.element.defaultValue.exists() implies (derivation = 'specialization')
|
| sdf-22 | error | StructureDefinition |
FHIR Specification models never have default values Requirements: no default values on data types or resources |
url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (snapshot.element.defaultValue.empty() and differential.element.defaultValue.empty())
|
| sdf-23 | error | StructureDefinition |
No slice name on root Requirements: no sliceName on root |
(snapshot | differential).element.all(path.contains('.').not() implies sliceName.empty())
|
| sdf-24 | error | StructureDefinition.snapshot | For CodeableReference elements, target profiles must be listed on the CodeableReference, not the CodeableReference.reference |
element.where(type.where(code='Reference').exists() and path.endsWith('.reference') and type.targetProfile.exists() and (path.substring(0,$this.path.length()-10) in %context.element.where(type.where(code='CodeableReference').exists()).path)).exists().not()
|
| sdf-25 | error | StructureDefinition.snapshot | For CodeableReference elements, bindings must be listed on the CodeableReference, not the CodeableReference.concept |
element.where(type.where(code='CodeableConcept').exists() and path.endsWith('.concept') and binding.exists() and (path.substring(0,$this.path.length()-8) in %context.element.where(type.where(code='CodeableReference').exists()).path)).exists().not()
|
| sdf-26 | best practice | StructureDefinition.snapshot | The root element of a profile should not have mustSupport = true |
$this.where(element[0].mustSupport='true').exists().not()
|
| sdf-27 | error | StructureDefinition | If there's a base definition, there must be a derivation |
baseDefinition.exists() implies derivation.exists()
|
| sdf-28 | error | StructureDefinition.snapshot.element | If there are no discriminators, there must be a definition |
slicing.exists().not() or (slicing.discriminator.exists() or slicing.description.exists())
|
| sdf-29 | warning | StructureDefinition | Elements in Resources must have a min cardinality or 0 or 1 and a max cardinality of 1 or * |
((kind in 'resource' | 'complex-type') and (derivation = 'specialization')) implies differential.element.where((min != 0 and min != 1) or (max != '1' and max != '*')).empty()
|
| sdf-8b | error | StructureDefinition.snapshot | All snapshot elements must have a base definition |
element.all(base.exists())
|
This structure is derived from StructureDefinition
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | StructureDefinition(5.0.0) | Structural Definition Constraints: cnl-0, sdf-1, sdf-4, sdf-5, sdf-6, sdf-11, sdf-14, sdf-15, sdf-15a, sdf-9, sdf-16, sdf-17, sdf-18, sdf-19, sdf-21, sdf-22, sdf-23, sdf-27, sdf-29 | ||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..1 | Meta | STU3: meta additional types URL: http://hl7.org/fhir/3.0/StructureDefinition/extension-DataElement.meta Constraints: ext-1 | |||||
![]() ![]() ![]() |
Σ | 0..1 | id | Version specific identifier | ||||
![]() ![]() ![]() |
Σ | 0..1 | instant | When the resource version last changed | ||||
![]() ![]() ![]() |
Σ | 0..1 | uri | Identifies where the resource comes from | ||||
![]() ![]() ![]() |
Σ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to | ||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Security Labels applied to this resource Binding: AllSecurityLabels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Tags applied to this resource Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..1 | (Complex) | STU3: text additional types URL: http://hl7.org/fhir/3.0/StructureDefinition/extension-DataElement.text Constraints: ext-1 | |||||
![]() ![]() ![]() |
1..1 | code | generated | extensions | additional | empty Binding: NarrativeStatus (required): The status of a resource narrative. | |||||
![]() ![]() ![]() |
C | 1..1 | xhtml | Limited xhtml content Constraints: txt-1, txt-2 | ||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() |
0..1 | code | STU3: comparable | fully-specified | equivalent | convertable | scaleable | flexible (new) URL: http://hl7.org/fhir/3.0/StructureDefinition/extension-DataElement.stringency Binding: R3DataelementStringencyForR5 (0.1.0) (required): Indicates the degree of precision of the data element definition. Constraints: ext-1 | |||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 | ||||
![]() ![]() |
ΣC | 1..1 | uri | Canonical identifier for this structure definition, represented as a URI (globally unique) Constraints: cnl-1 | ||||
![]() ![]() |
Σ | 0..* | Identifier | Additional identifier for the structure definition | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..* | Identifier | STU3: Additional identifier for the data element additional types URL: http://hl7.org/fhir/3.0/StructureDefinition/extension-DataElement.identifier Constraints: ext-1 | |||||
![]() ![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Description of identifier Binding: IdentifierTypeCodes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | ||||
![]() ![]() ![]() |
Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient | ||||
![]() ![]() ![]() |
ΣC | 0..1 | string | The value that is unique Example General: 123456 | ||||
![]() ![]() ![]() |
Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
![]() ![]() ![]() |
Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
![]() ![]() |
Σ | 0..1 | string | Business version of the structure definition | ||||
![]() ![]() |
Σ | 0..1 | How to compare versions Binding: VersionAlgorithm (extensible) | |||||
![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() |
Coding | |||||||
![]() ![]() |
ΣC | 1..1 | string | Name for this structure definition (computer friendly) | ||||
![]() ![]() |
Σ | 0..1 | string | Name for this structure definition (human friendly) | ||||
![]() ![]() |
?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. | ||||
![]() ![]() |
Σ | 0..1 | boolean | For testing purposes, not real usage | ||||
![]() ![]() |
Σ | 0..1 | dateTime | Date last changed | ||||
![]() ![]() |
Σ | 0..1 | string | Name of the publisher/steward (organization or individual) | ||||
![]() ![]() |
Σ | 0..* | ContactDetail | Contact details for the publisher | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..* | ContactDetail | STU3: contact additional types URL: http://hl7.org/fhir/3.0/StructureDefinition/extension-DataElement.contact Constraints: ext-1 | |||||
![]() ![]() ![]() |
Σ | 0..1 | string | Name of an individual to contact | ||||
![]() ![]() ![]() |
Σ | 0..* | ContactPoint | Contact details for individual or organization | ||||
![]() ![]() |
0..1 | markdown | Natural language description of the structure definition | |||||
![]() ![]() |
Σ | 0..* | UsageContext | The context that the content is intended to support | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..* | UsageContext | STU3: Context the content is intended to support additional types URL: http://hl7.org/fhir/3.0/StructureDefinition/extension-DataElement.useContext Constraints: ext-1 | |||||
![]() ![]() ![]() |
Σ | 1..1 | Coding | Type of context being specified Binding: UsageContextType (1.0.1) (extensible): A code that specifies a type of context being specified by a usage context. | ||||
![]() ![]() ![]() |
Σ | 1..1 | Value that defines the context Binding: ContextOfUseValueSet (example): A code that defines the specific value for the context being specified. | |||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() |
Reference(PlanDefinition | ResearchStudy | InsurancePlan | HealthcareService | Group | Location | Organization) | |||||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Intended jurisdiction for structure definition (if applicable) Binding: JurisdictionValueSet (extensible): Countries and regions within which this artifact is targeted for use. | ||||
![]() ![]() |
0..1 | markdown | Why this structure definition is defined | |||||
![]() ![]() |
0..1 | markdown | Use and/or publishing restrictions | |||||
![]() ![]() |
0..1 | string | Copyright holder and year(s) | |||||
![]() ![]() |
Σ | 0..* | Coding | Assist with indexing and finding Binding: DefinitionUseCodes (extensible): Codes for the meaning of the defined structure (SNOMED CT and LOINC codes, as an example). | ||||
![]() ![]() |
Σ | 0..1 | code | FHIR Version this StructureDefinition targets Binding: FHIRVersion (required): All published FHIR Versions. | ||||
![]() ![]() |
C | 0..* | BackboneElement | External specification that the content is mapped to Constraints: sdf-2 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||
![]() ![]() ![]() |
1..1 | id | Internal id when this mapping is used | |||||
![]() ![]() ![]() |
C | 0..1 | uri | Identifies what this mapping refers to | ||||
![]() ![]() ![]() |
C | 0..1 | string | Names what this mapping refers to | ||||
![]() ![]() ![]() |
0..1 | string | Versions, Issues, Scope limitations etc | |||||
![]() ![]() |
ΣC | 1..1 | code | primitive-type | complex-type | resource | logical Binding: StructureDefinitionKind (required): Defines the type of structure that a definition is describing. | ||||
![]() ![]() |
ΣC | 1..1 | boolean | Whether the structure is abstract | ||||
![]() ![]() |
ΣC | 0..* | BackboneElement | If an extension, where it can be used in instances | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||
![]() ![]() ![]() |
Σ | 1..1 | code | fhirpath | element | extension Binding: ExtensionContextType (required): How an extension context is interpreted. | ||||
![]() ![]() ![]() |
Σ | 1..1 | string | Where the extension can be used in instances | ||||
![]() ![]() |
ΣC | 0..* | string | FHIRPath invariants - when the extension can be used | ||||
![]() ![]() |
ΣC | 1..1 | uri | Type defined or constrained by this structure Binding: FHIRTypes (extensible): Either a resource or a data type, including logical model types. | ||||
![]() ![]() |
ΣC | 0..1 | canonical(StructureDefinition) | Definition that this type is constrained/specialized from | ||||
![]() ![]() |
ΣC | 0..1 | code | specialization | constraint - How relates to base definition Binding: TypeDerivationRule (required): How a type relates to its baseDefinition. | ||||
![]() ![]() |
C | 0..1 | BackboneElement | Snapshot view of the structure Constraints: sdf-3, sdf-8, sdf-24, sdf-25, sdf-26, sdf-8b | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||
![]() ![]() ![]() |
C | 1..* | ElementDefinition | Definition of elements in the resource (if no StructureDefinition) Constraints: sdf-10, sdf-28 | ||||
![]() ![]() |
C | 0..1 | BackboneElement | Differential view of the structure Constraints: sdf-20, sdf-8a | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||
![]() ![]() ![]() |
C | 1..* | ElementDefinition | Definition of elements in the resource (if no StructureDefinition) | ||||
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() |
1..* | (Complex) | STU3: Definition of element additional types URL: http://hl7.org/fhir/3.0/StructureDefinition/extension-DataElement.element Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||
![]() ![]() ![]() ![]() |
ΣC | 1..1 | string | Path of the element in the hierarchy of elements | ||||
![]() ![]() ![]() ![]() |
Σ | 0..* | code | xmlAttr | xmlText | typeAttr | cdaText | xhtml Binding: PropertyRepresentation (required): How a property is represented when serialized. | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Name for this particular element (in a set of slices) | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | boolean | If this slice definition constrains an inherited slice definition (or not) | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Name for element to display with or prompt for element | ||||
![]() ![]() ![]() ![]() |
Σ | 0..* | Coding | Corresponding codes in terminologies Binding: All LOINC codes (example): Codes that indicate the meaning of a data element. | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | Element | This element is sliced - slices follow | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | Element | Element values that are used to distinguish the slices | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | code | value | exists | type | profile | position Binding: DiscriminatorType (required): How an element value is interpreted when discrimination is evaluated. | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Path to element value | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Text description of how slicing works (or not) | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | boolean | If elements must be in same order as slices | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 1..1 | code | closed | open | openAtEnd Binding: SlicingRules (required): How slices are interpreted when evaluating an instance. | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Concise definition for space-constrained presentation | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | markdown | Full formal definition as narrative text | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | markdown | Comments about the use of this element | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | markdown | Why this resource has been created | ||||
![]() ![]() ![]() ![]() |
Σ | 0..* | string | Other names | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | unsignedInt | Minimum Cardinality | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Maximum Cardinality (a number or *) Constraints: eld-3 | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Element | Base definition information for tools | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Path that identifies the base element | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | unsignedInt | Min cardinality of the base element | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Max cardinality of the base element | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | uri | Reference to definition of content for the element | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..* | Element | Data type and Profile for this element Constraints: eld-4, eld-17 | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 1..1 | uri | Data type or Resource (reference to definition) Binding: ElementDefinitionTypes (extensible): List of all Types for ElementDefinition.type.code. | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | canonical(StructureDefinition | ImplementationGuide) | Profiles (StructureDefinition or IG) - one must apply | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..* | canonical(StructureDefinition | ImplementationGuide) | Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..* | code | contained | referenced | bundled - how aggregated Binding: AggregationMode (required): How resource references can be aggregated. | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | either | independent | specific Binding: ReferenceVersionRules (required): Whether a reference needs to be version specific or version independent, or whether either can be used. | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | Specified value if missing from instance | |||||
![]() ![]() ![]() ![]() ![]() |
base64Binary | |||||||
![]() ![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() ![]() |
canonical(Any) | |||||||
![]() ![]() ![]() ![]() ![]() |
code | |||||||
![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() |
id | |||||||
![]() ![]() ![]() ![]() ![]() |
instant | |||||||
![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() |
integer64 | |||||||
![]() ![]() ![]() ![]() ![]() |
markdown | |||||||
![]() ![]() ![]() ![]() ![]() |
oid | |||||||
![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() ![]() |
url | |||||||
![]() ![]() ![]() ![]() ![]() |
uuid | |||||||
![]() ![]() ![]() ![]() ![]() |
Address | |||||||
![]() ![]() ![]() ![]() ![]() |
Age | |||||||
![]() ![]() ![]() ![]() ![]() |
Annotation | |||||||
![]() ![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() ![]() |
CodeableReference | |||||||
![]() ![]() ![]() ![]() ![]() |
Coding | |||||||
![]() ![]() ![]() ![]() ![]() |
ContactPoint | |||||||
![]() ![]() ![]() ![]() ![]() |
Count | |||||||
![]() ![]() ![]() ![]() ![]() |
Distance | |||||||
![]() ![]() ![]() ![]() ![]() |
Duration | |||||||
![]() ![]() ![]() ![]() ![]() |
HumanName | |||||||
![]() ![]() ![]() ![]() ![]() |
Identifier | |||||||
![]() ![]() ![]() ![]() ![]() |
Money | |||||||
![]() ![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() ![]() |
RatioRange | |||||||
![]() ![]() ![]() ![]() ![]() |
Reference(Any) | |||||||
![]() ![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() ![]() |
Signature | |||||||
![]() ![]() ![]() ![]() ![]() |
Timing | |||||||
![]() ![]() ![]() ![]() ![]() |
ContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() |
DataRequirement | |||||||
![]() ![]() ![]() ![]() ![]() |
Expression | |||||||
![]() ![]() ![]() ![]() ![]() |
ParameterDefinition | |||||||
![]() ![]() ![]() ![]() ![]() |
RelatedArtifact | |||||||
![]() ![]() ![]() ![]() ![]() |
TriggerDefinition | |||||||
![]() ![]() ![]() ![]() ![]() |
UsageContext | |||||||
![]() ![]() ![]() ![]() ![]() |
Availability | |||||||
![]() ![]() ![]() ![]() ![]() |
ExtendedContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() |
Dosage | |||||||
![]() ![]() ![]() ![]() ![]() |
Meta | |||||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | markdown | Implicit meaning when this element is missing | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | What the order of the elements means | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | Value must be exactly this | |||||
![]() ![]() ![]() ![]() ![]() |
base64Binary | |||||||
![]() ![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() ![]() |
canonical(Any) | |||||||
![]() ![]() ![]() ![]() ![]() |
code | |||||||
![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() |
id | |||||||
![]() ![]() ![]() ![]() ![]() |
instant | |||||||
![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() |
integer64 | |||||||
![]() ![]() ![]() ![]() ![]() |
markdown | |||||||
![]() ![]() ![]() ![]() ![]() |
oid | |||||||
![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() ![]() |
url | |||||||
![]() ![]() ![]() ![]() ![]() |
uuid | |||||||
![]() ![]() ![]() ![]() ![]() |
Address | |||||||
![]() ![]() ![]() ![]() ![]() |
Age | |||||||
![]() ![]() ![]() ![]() ![]() |
Annotation | |||||||
![]() ![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() ![]() |
CodeableReference | |||||||
![]() ![]() ![]() ![]() ![]() |
Coding | |||||||
![]() ![]() ![]() ![]() ![]() |
ContactPoint | |||||||
![]() ![]() ![]() ![]() ![]() |
Count | |||||||
![]() ![]() ![]() ![]() ![]() |
Distance | |||||||
![]() ![]() ![]() ![]() ![]() |
Duration | |||||||
![]() ![]() ![]() ![]() ![]() |
HumanName | |||||||
![]() ![]() ![]() ![]() ![]() |
Identifier | |||||||
![]() ![]() ![]() ![]() ![]() |
Money | |||||||
![]() ![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() ![]() |
RatioRange | |||||||
![]() ![]() ![]() ![]() ![]() |
Reference(Any) | |||||||
![]() ![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() ![]() |
Signature | |||||||
![]() ![]() ![]() ![]() ![]() |
Timing | |||||||
![]() ![]() ![]() ![]() ![]() |
ContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() |
DataRequirement | |||||||
![]() ![]() ![]() ![]() ![]() |
Expression | |||||||
![]() ![]() ![]() ![]() ![]() |
ParameterDefinition | |||||||
![]() ![]() ![]() ![]() ![]() |
RelatedArtifact | |||||||
![]() ![]() ![]() ![]() ![]() |
TriggerDefinition | |||||||
![]() ![]() ![]() ![]() ![]() |
UsageContext | |||||||
![]() ![]() ![]() ![]() ![]() |
Availability | |||||||
![]() ![]() ![]() ![]() ![]() |
ExtendedContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() |
Dosage | |||||||
![]() ![]() ![]() ![]() ![]() |
Meta | |||||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | Value must have at least these property values | |||||
![]() ![]() ![]() ![]() ![]() |
base64Binary | |||||||
![]() ![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() ![]() |
canonical(Any) | |||||||
![]() ![]() ![]() ![]() ![]() |
code | |||||||
![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() |
id | |||||||
![]() ![]() ![]() ![]() ![]() |
instant | |||||||
![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() |
integer64 | |||||||
![]() ![]() ![]() ![]() ![]() |
markdown | |||||||
![]() ![]() ![]() ![]() ![]() |
oid | |||||||
![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() ![]() |
url | |||||||
![]() ![]() ![]() ![]() ![]() |
uuid | |||||||
![]() ![]() ![]() ![]() ![]() |
Address | |||||||
![]() ![]() ![]() ![]() ![]() |
Age | |||||||
![]() ![]() ![]() ![]() ![]() |
Annotation | |||||||
![]() ![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() ![]() |
CodeableReference | |||||||
![]() ![]() ![]() ![]() ![]() |
Coding | |||||||
![]() ![]() ![]() ![]() ![]() |
ContactPoint | |||||||
![]() ![]() ![]() ![]() ![]() |
Count | |||||||
![]() ![]() ![]() ![]() ![]() |
Distance | |||||||
![]() ![]() ![]() ![]() ![]() |
Duration | |||||||
![]() ![]() ![]() ![]() ![]() |
HumanName | |||||||
![]() ![]() ![]() ![]() ![]() |
Identifier | |||||||
![]() ![]() ![]() ![]() ![]() |
Money | |||||||
![]() ![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() ![]() |
RatioRange | |||||||
![]() ![]() ![]() ![]() ![]() |
Reference(Any) | |||||||
![]() ![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() ![]() |
Signature | |||||||
![]() ![]() ![]() ![]() ![]() |
Timing | |||||||
![]() ![]() ![]() ![]() ![]() |
ContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() |
DataRequirement | |||||||
![]() ![]() ![]() ![]() ![]() |
Expression | |||||||
![]() ![]() ![]() ![]() ![]() |
ParameterDefinition | |||||||
![]() ![]() ![]() ![]() ![]() |
RelatedArtifact | |||||||
![]() ![]() ![]() ![]() ![]() |
TriggerDefinition | |||||||
![]() ![]() ![]() ![]() ![]() |
UsageContext | |||||||
![]() ![]() ![]() ![]() ![]() |
Availability | |||||||
![]() ![]() ![]() ![]() ![]() |
ExtendedContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() |
Dosage | |||||||
![]() ![]() ![]() ![]() ![]() |
Meta | |||||||
![]() ![]() ![]() ![]() |
ΣC | 0..* | Element | Example value (as defined for type) | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Describes the purpose of this example | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | Value of Example (one of allowed types) | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
base64Binary | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
canonical(Any) | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
code | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
id | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
instant | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
integer64 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
markdown | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
oid | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
url | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
uuid | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Address | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Age | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Annotation | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
CodeableReference | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Coding | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactPoint | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Count | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Distance | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Duration | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
HumanName | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Identifier | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Money | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
RatioRange | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Reference(Any) | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Signature | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Timing | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
DataRequirement | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Expression | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ParameterDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
RelatedArtifact | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
TriggerDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
UsageContext | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Availability | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ExtendedContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Dosage | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Meta | |||||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | Minimum Allowed Value (for some types) | |||||
![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() |
instant | |||||||
![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() |
integer64 | |||||||
![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | Maximum Allowed Value (for some types) | |||||
![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() |
instant | |||||||
![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() |
integer64 | |||||||
![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | integer | Max length for string type data | ||||
![]() ![]() ![]() ![]() |
Σ | 0..* | id | Reference to invariant about presence | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..* | Element | Condition that must evaluate to true Constraints: eld-21, eld-26 | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 1..1 | id | Target of 'condition' reference above | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | markdown | Why this constraint is necessary or appropriate | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 1..1 | code | error | warning Binding: ConstraintSeverity (required): SHALL applications comply with this constraint? | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | boolean | Suppress warning or hint in profile | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Human description of constraint | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | FHIRPath expression of constraint | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | canonical(StructureDefinition) | Reference to original source of constraint | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | boolean | For primitives, that a value must be present - not replaced by an extension | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..* | canonical(StructureDefinition) | Extensions that are allowed to replace a primitive value | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If the element must be supported (discouraged - see obligations) | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | boolean | If this modifies the meaning of other elements | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Reason that this element is marked as a modifier | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | Include when _summary = true? | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | Element | ValueSet details if this is coded Constraints: eld-12, eld-23 | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | code | required | extensible | preferred | example Binding: BindingStrength (required): Indication of the degree of conformance expectations associated with a binding. | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | markdown | Intended use of codes in the bound value set | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | canonical(ValueSet) | Source of value set | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | Element | Additional Bindings - more rules about the binding | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | code | maximum | minimum | required | extensible | candidate | current | preferred | ui | starter | component Binding: AdditionalBindingPurposeVS (required): The use of an additional binding. | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | canonical(ValueSet) | The value set for the additional binding | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | markdown | Documentation of the purpose of use of the binding | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Concise documentation - for summary tables | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | UsageContext | Qualifies the usage - jurisdiction, gender, workflow status etc. | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | Whether binding can applies to all repeats, or just one | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..* | Element | Map element to another set of definitions | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 1..1 | id | Reference to mapping declaration | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Computable language of mapping Binding: MimeTypes (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049) | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Details of the mapping | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | markdown | Comments about the mapping or its use | ||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| StructureDefinition.meta.security | Base | extensible |
All Security Labels
|
📍5.0.0 | tx.fhir.org |
| StructureDefinition.meta.tag | Base | example | Common Tags | 📍5.0.0 | FHIR Std. |
| StructureDefinition.language | Base | required | All Languages | 📍5.0.0 | FHIR Std. |
| StructureDefinition.text.status | Base | required | NarrativeStatus | 📍5.0.0 | FHIR Std. |
| StructureDefinition.identifier.use | Base | required | IdentifierUse | 📍5.0.0 | FHIR Std. |
| StructureDefinition.identifier.type | Base | extensible | Identifier Type Codes | 📍5.0.0 | FHIR Std. |
| StructureDefinition.versionAlgorithm[x] | Base | extensible | Version Algorithm | 📍5.0.0 | FHIR Std. |
| StructureDefinition.status | Base | required | PublicationStatus | 📍5.0.0 | FHIR Std. |
| StructureDefinition.useContext.code | Base | extensible | UsageContextType | 📍1.0.1 | THO v7.1 |
| StructureDefinition.useContext.value[x] | Base | example | Context of Use ValueSet | 📍5.0.0 | FHIR Std. |
| StructureDefinition.jurisdiction | Base | extensible | Jurisdiction ValueSet | 📍5.0.0 | FHIR Std. |
| StructureDefinition.keyword | Base | extensible | Structure Definition Use Codes / Keywords | 📍5.0.0 | FHIR Std. |
| StructureDefinition.fhirVersion | Base | required | FHIRVersion | 📍5.0.0 | FHIR Std. |
| StructureDefinition.kind | Base | required | Structure Definition Kind | 📍5.0.0 | FHIR Std. |
| StructureDefinition.context.type | Base | required | Extension Context Type | 📍5.0.0 | FHIR Std. |
| StructureDefinition.type | Base | extensible | All FHIR Types | 📍5.0.0 | FHIR Std. |
| StructureDefinition.derivation | Base | required | Type Derivation Rule | 📍5.0.0 | FHIR Std. |
| StructureDefinition.differential.element.representation | Base | required | PropertyRepresentation | 📍5.0.0 | FHIR Std. |
| StructureDefinition.differential.element.code | Base | example | All LOINC codes | ∅ | unknown? |
| StructureDefinition.differential.element.slicing.discriminator.type | Base | required | DiscriminatorType | 📍5.0.0 | FHIR Std. |
| StructureDefinition.differential.element.slicing.rules | Base | required | SlicingRules | 📍5.0.0 | FHIR Std. |
| StructureDefinition.differential.element.type.code | Base | extensible | Element Definition Types | 📍5.0.0 | FHIR Std. |
| StructureDefinition.differential.element.type.aggregation | Base | required | AggregationMode | 📍5.0.0 | FHIR Std. |
| StructureDefinition.differential.element.type.versioning | Base | required | ReferenceVersionRules | 📍5.0.0 | FHIR Std. |
| StructureDefinition.differential.element.constraint.severity | Base | required | ConstraintSeverity | 📍5.0.0 | FHIR Std. |
| StructureDefinition.differential.element.binding.strength | Base | required | BindingStrength | 📍5.0.0 | FHIR Std. |
| StructureDefinition.differential.element.binding.additional.purpose | Base | required | Additional Binding Purpose ValueSet | 📍5.0.0 | FHIR Std. |
| StructureDefinition.differential.element.mapping.language | Base | required | Mime Types | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| cnl-0 | warning | StructureDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation |
name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
|
| cnl-1 | warning | StructureDefinition.url | URL should not contain | or # - these characters make processing canonical references problematic |
exists() implies matches('^[^|# ]+$')
|
| ele-1 | error | StructureDefinition.meta, StructureDefinition.meta.extension, StructureDefinition.meta.extension:meta, StructureDefinition.meta.versionId, StructureDefinition.meta.lastUpdated, StructureDefinition.meta.source, StructureDefinition.meta.profile, StructureDefinition.meta.security, StructureDefinition.meta.tag, StructureDefinition.implicitRules, StructureDefinition.language, StructureDefinition.text, StructureDefinition.text.extension, StructureDefinition.text.extension:text, StructureDefinition.text.status, StructureDefinition.text.div, StructureDefinition.extension, StructureDefinition.extension:stringency, StructureDefinition.modifierExtension, StructureDefinition.url, StructureDefinition.identifier, StructureDefinition.identifier.extension, StructureDefinition.identifier.extension:identifier, StructureDefinition.identifier.use, StructureDefinition.identifier.type, StructureDefinition.identifier.system, StructureDefinition.identifier.value, StructureDefinition.identifier.period, StructureDefinition.identifier.assigner, StructureDefinition.version, StructureDefinition.versionAlgorithm[x], StructureDefinition.name, StructureDefinition.title, StructureDefinition.status, StructureDefinition.experimental, StructureDefinition.date, StructureDefinition.publisher, StructureDefinition.contact, StructureDefinition.contact.extension, StructureDefinition.contact.extension:contact, StructureDefinition.contact.name, StructureDefinition.contact.telecom, StructureDefinition.description, StructureDefinition.useContext, StructureDefinition.useContext.extension, StructureDefinition.useContext.extension:useContext, StructureDefinition.useContext.code, StructureDefinition.useContext.value[x], StructureDefinition.jurisdiction, StructureDefinition.purpose, StructureDefinition.copyright, StructureDefinition.copyrightLabel, StructureDefinition.keyword, StructureDefinition.fhirVersion, StructureDefinition.mapping, StructureDefinition.mapping.extension, StructureDefinition.mapping.modifierExtension, StructureDefinition.mapping.identity, StructureDefinition.mapping.uri, StructureDefinition.mapping.name, StructureDefinition.mapping.comment, StructureDefinition.kind, StructureDefinition.abstract, StructureDefinition.context, StructureDefinition.context.extension, StructureDefinition.context.modifierExtension, StructureDefinition.context.type, StructureDefinition.context.expression, StructureDefinition.contextInvariant, StructureDefinition.type, StructureDefinition.baseDefinition, StructureDefinition.derivation, StructureDefinition.snapshot, StructureDefinition.snapshot.extension, StructureDefinition.snapshot.modifierExtension, StructureDefinition.snapshot.element, StructureDefinition.differential, StructureDefinition.differential.extension, StructureDefinition.differential.modifierExtension, StructureDefinition.differential.element, StructureDefinition.differential.element.extension, StructureDefinition.differential.element.extension:element, StructureDefinition.differential.element.modifierExtension, StructureDefinition.differential.element.path, StructureDefinition.differential.element.representation, StructureDefinition.differential.element.sliceName, StructureDefinition.differential.element.sliceIsConstraining, StructureDefinition.differential.element.label, StructureDefinition.differential.element.code, StructureDefinition.differential.element.slicing, StructureDefinition.differential.element.slicing.extension, StructureDefinition.differential.element.slicing.discriminator, StructureDefinition.differential.element.slicing.discriminator.extension, StructureDefinition.differential.element.slicing.discriminator.type, StructureDefinition.differential.element.slicing.discriminator.path, StructureDefinition.differential.element.slicing.description, StructureDefinition.differential.element.slicing.ordered, StructureDefinition.differential.element.slicing.rules, StructureDefinition.differential.element.short, StructureDefinition.differential.element.definition, StructureDefinition.differential.element.comment, StructureDefinition.differential.element.requirements, StructureDefinition.differential.element.alias, StructureDefinition.differential.element.min, StructureDefinition.differential.element.max, StructureDefinition.differential.element.base, StructureDefinition.differential.element.base.extension, StructureDefinition.differential.element.base.path, StructureDefinition.differential.element.base.min, StructureDefinition.differential.element.base.max, StructureDefinition.differential.element.contentReference, StructureDefinition.differential.element.type, StructureDefinition.differential.element.type.extension, StructureDefinition.differential.element.type.code, StructureDefinition.differential.element.type.profile, StructureDefinition.differential.element.type.targetProfile, StructureDefinition.differential.element.type.aggregation, StructureDefinition.differential.element.type.versioning, StructureDefinition.differential.element.defaultValue[x], StructureDefinition.differential.element.meaningWhenMissing, StructureDefinition.differential.element.orderMeaning, StructureDefinition.differential.element.fixed[x], StructureDefinition.differential.element.pattern[x], StructureDefinition.differential.element.example, StructureDefinition.differential.element.example.extension, StructureDefinition.differential.element.example.label, StructureDefinition.differential.element.example.value[x], StructureDefinition.differential.element.minValue[x], StructureDefinition.differential.element.maxValue[x], StructureDefinition.differential.element.maxLength, StructureDefinition.differential.element.condition, StructureDefinition.differential.element.constraint, StructureDefinition.differential.element.constraint.extension, StructureDefinition.differential.element.constraint.key, StructureDefinition.differential.element.constraint.requirements, StructureDefinition.differential.element.constraint.severity, StructureDefinition.differential.element.constraint.suppress, StructureDefinition.differential.element.constraint.human, StructureDefinition.differential.element.constraint.expression, StructureDefinition.differential.element.constraint.source, StructureDefinition.differential.element.mustHaveValue, StructureDefinition.differential.element.valueAlternatives, StructureDefinition.differential.element.mustSupport, StructureDefinition.differential.element.isModifier, StructureDefinition.differential.element.isModifierReason, StructureDefinition.differential.element.isSummary, StructureDefinition.differential.element.binding, StructureDefinition.differential.element.binding.extension, StructureDefinition.differential.element.binding.strength, StructureDefinition.differential.element.binding.description, StructureDefinition.differential.element.binding.valueSet, StructureDefinition.differential.element.binding.additional, StructureDefinition.differential.element.binding.additional.extension, StructureDefinition.differential.element.binding.additional.purpose, StructureDefinition.differential.element.binding.additional.valueSet, StructureDefinition.differential.element.binding.additional.documentation, StructureDefinition.differential.element.binding.additional.shortDoco, StructureDefinition.differential.element.binding.additional.usage, StructureDefinition.differential.element.binding.additional.any, StructureDefinition.differential.element.mapping, StructureDefinition.differential.element.mapping.extension, StructureDefinition.differential.element.mapping.identity, StructureDefinition.differential.element.mapping.language, StructureDefinition.differential.element.mapping.map, StructureDefinition.differential.element.mapping.comment | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| eld-3 | error | StructureDefinition.differential.element.max | Max SHALL be a number or "*" |
empty() or ($this = '*') or (toInteger() >= 0)
|
| eld-4 | error | StructureDefinition.differential.element.type | Aggregation may only be specified if one of the allowed types for the element is a reference |
aggregation.empty() or (code = 'Reference') or (code = 'canonical') or (code = 'CodeableReference')
|
| eld-12 | error | StructureDefinition.differential.element.binding | ValueSet SHALL start with http:// or https:// or urn: or # |
valueSet.exists() implies (valueSet.startsWith('http:') or valueSet.startsWith('https') or valueSet.startsWith('urn:') or valueSet.startsWith('#'))
|
| eld-17 | error | StructureDefinition.differential.element.type | targetProfile is only allowed if the type is Reference or canonical |
(code='Reference' or code = 'canonical' or code = 'CodeableReference') or targetProfile.empty()
|
| eld-21 | warning | StructureDefinition.differential.element.constraint | Constraints should have an expression or else validators will not be able to enforce them |
expression.exists()
|
| eld-23 | error | StructureDefinition.differential.element.binding | binding SHALL have either description or valueSet |
description.exists() or valueSet.exists()
|
| eld-26 | error | StructureDefinition.differential.element.constraint | Errors cannot be suppressed |
(severity = 'error') implies suppress.empty()
|
| ext-1 | error | StructureDefinition.meta.extension, StructureDefinition.meta.extension:meta, StructureDefinition.text.extension, StructureDefinition.text.extension:text, StructureDefinition.extension, StructureDefinition.extension:stringency, StructureDefinition.modifierExtension, StructureDefinition.identifier.extension, StructureDefinition.identifier.extension:identifier, StructureDefinition.contact.extension, StructureDefinition.contact.extension:contact, StructureDefinition.useContext.extension, StructureDefinition.useContext.extension:useContext, StructureDefinition.mapping.extension, StructureDefinition.mapping.modifierExtension, StructureDefinition.context.extension, StructureDefinition.context.modifierExtension, StructureDefinition.snapshot.extension, StructureDefinition.snapshot.modifierExtension, StructureDefinition.differential.extension, StructureDefinition.differential.modifierExtension, StructureDefinition.differential.element.extension, StructureDefinition.differential.element.extension:element, StructureDefinition.differential.element.modifierExtension, StructureDefinition.differential.element.slicing.extension, StructureDefinition.differential.element.slicing.discriminator.extension, StructureDefinition.differential.element.base.extension, StructureDefinition.differential.element.type.extension, StructureDefinition.differential.element.example.extension, StructureDefinition.differential.element.constraint.extension, StructureDefinition.differential.element.binding.extension, StructureDefinition.differential.element.binding.additional.extension, StructureDefinition.differential.element.mapping.extension | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| sdf-1 | error | StructureDefinition | Element paths must be unique unless the structure is a constraint |
derivation = 'constraint' or snapshot.element.select(path).isDistinct()
|
| sdf-15a | error | StructureDefinition |
If the first element in a differential has no "." in the path and it's not a logical model, it has no type Requirements: No Type on the root element (differential) |
(kind!='logical' and differential.element.first().path.contains('.').not()) implies differential.element.first().type.empty()
|
| sdf-2 | error | StructureDefinition.mapping | Must have at least a name or a uri (or both) |
name.exists() or uri.exists()
|
| sdf-3 | error | StructureDefinition.snapshot | Each element definition in a snapshot must have a formal definition and cardinalities, unless model is a logical model |
%resource.kind = 'logical' or element.all(definition.exists() and min.exists() and max.exists())
|
| sdf-4 | error | StructureDefinition |
If the structure is not abstract, then there SHALL be a baseDefinition Requirements: Ensure that the base types are abstract |
abstract = true or baseDefinition.exists()
|
| sdf-5 | error | StructureDefinition | If the structure defines an extension then the structure must have context information |
type != 'Extension' or derivation = 'specialization' or (context.exists())
|
| sdf-6 | error | StructureDefinition | A structure must have either a differential, or a snapshot (or both) |
snapshot.exists() or differential.exists()
|
| sdf-8 | error | StructureDefinition.snapshot | All snapshot elements must start with the StructureDefinition's specified type for non-logical models, or with the same type name for logical models |
(%resource.kind = 'logical' or element.first().path = %resource.type) and element.tail().all(path.startsWith(%resource.snapshot.element.first().path&'.'))
|
| sdf-10 | error | StructureDefinition.snapshot.element |
provide either a binding reference or a description (or both) Requirements: binding is required |
binding.empty() or binding.valueSet.exists() or binding.description.exists()
|
| sdf-11 | error | StructureDefinition |
If there's a type, its content must match the path name in the first element of a snapshot Requirements: Ensure that the type is not inconsistent with the other information in the structure |
kind != 'logical' implies snapshot.empty() or snapshot.element.first().path = type
|
| sdf-14 | error | StructureDefinition |
All element definitions must have an id Requirements: elements have id |
snapshot.element.all(id.exists()) and differential.element.all(id.exists())
|
| sdf-15 | error | StructureDefinition |
The first element in a snapshot has no type unless model is a logical model. Requirements: No Type on the root element (snapshot) |
kind!='logical' implies snapshot.element.first().type.empty()
|
| sdf-16 | error | StructureDefinition |
All element definitions must have unique ids (snapshot) Requirements: element ids need to be unique |
snapshot.element.all(id.exists()) and snapshot.element.id.trace('ids').isDistinct()
|
| sdf-17 | error | StructureDefinition |
All element definitions must have unique ids (diff) Requirements: element ids need to be unique |
differential.element.all(id.exists()) and differential.element.id.trace('ids').isDistinct()
|
| sdf-18 | error | StructureDefinition |
Context Invariants can only be used for extensions Requirements: contextInvariant |
contextInvariant.exists() implies type = 'Extension'
|
| sdf-19 | error | StructureDefinition |
FHIR Specification models only use FHIR defined types Requirements: custom types only in logical models |
url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (differential | snapshot).element.type.code.all(matches('^[a-zA-Z0-9]+$') or matches('^http:\\/\\/hl7\\.org\\/fhirpath\\/System\\.[A-Z][A-Za-z]+$'))
|
| sdf-20 | error | StructureDefinition.differential |
No slicing on the root element Requirements: no slicing on root |
element.where(path.contains('.').not()).slicing.empty()
|
| sdf-21 | error | StructureDefinition |
Default values can only be specified on specializations Requirements: no default values on data types or resources |
differential.element.defaultValue.exists() implies (derivation = 'specialization')
|
| sdf-22 | error | StructureDefinition |
FHIR Specification models never have default values Requirements: no default values on data types or resources |
url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (snapshot.element.defaultValue.empty() and differential.element.defaultValue.empty())
|
| sdf-23 | error | StructureDefinition |
No slice name on root Requirements: no sliceName on root |
(snapshot | differential).element.all(path.contains('.').not() implies sliceName.empty())
|
| sdf-24 | error | StructureDefinition.snapshot | For CodeableReference elements, target profiles must be listed on the CodeableReference, not the CodeableReference.reference |
element.where(type.where(code='Reference').exists() and path.endsWith('.reference') and type.targetProfile.exists() and (path.substring(0,$this.path.length()-10) in %context.element.where(type.where(code='CodeableReference').exists()).path)).exists().not()
|
| sdf-25 | error | StructureDefinition.snapshot | For CodeableReference elements, bindings must be listed on the CodeableReference, not the CodeableReference.concept |
element.where(type.where(code='CodeableConcept').exists() and path.endsWith('.concept') and binding.exists() and (path.substring(0,$this.path.length()-8) in %context.element.where(type.where(code='CodeableReference').exists()).path)).exists().not()
|
| sdf-26 | best practice | StructureDefinition.snapshot | The root element of a profile should not have mustSupport = true |
$this.where(element[0].mustSupport='true').exists().not()
|
| sdf-27 | error | StructureDefinition | If there's a base definition, there must be a derivation |
baseDefinition.exists() implies derivation.exists()
|
| sdf-28 | error | StructureDefinition.snapshot.element | If there are no discriminators, there must be a definition |
slicing.exists().not() or (slicing.discriminator.exists() or slicing.description.exists())
|
| sdf-29 | warning | StructureDefinition | Elements in Resources must have a min cardinality or 0 or 1 and a max cardinality of 1 or * |
((kind in 'resource' | 'complex-type') and (derivation = 'specialization')) implies differential.element.where((min != 0 and min != 1) or (max != '1' and max != '*')).empty()
|
| sdf-8a | error | StructureDefinition.differential | In any differential, all the elements must start with the StructureDefinition's specified type for non-logical models, or with the same type name for logical models |
(%resource.kind = 'logical' or element.first().path.startsWith(%resource.type)) and (element.tail().empty() or element.tail().all(path.startsWith(%resource.differential.element.first().path.replaceMatches('\\..*','')&'.')))
|
| sdf-8b | error | StructureDefinition.snapshot | All snapshot elements must have a base definition |
element.all(base.exists())
|
| sdf-9 | error | StructureDefinition |
In any snapshot or differential, no label, code or requirements on an element without a "." in the path (e.g. the first element) Requirements: Because these 3 fields seem to be have overlapping meaning with the ones in the root of StructureDefinition |
children().element.where(path.contains('.').not()).label.empty() and children().element.where(path.contains('.').not()).code.empty() and children().element.where(path.contains('.').not()).requirements.empty()
|
| txt-1 | error | StructureDefinition.text.div | The narrative SHALL contain only the basic html formatting elements and attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes |
htmlChecks()
|
| txt-2 | error | StructureDefinition.text.div | The narrative SHALL have some non-whitespace content |
htmlChecks()
|
This structure is derived from StructureDefinition
Summary
Extensions
This structure refers to these extensions:
Maturity: 0
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | StructureDefinition(5.0.0) | Structural Definition Constraints: cnl-0, sdf-1, sdf-4, sdf-5, sdf-6, sdf-11, sdf-14, sdf-15, sdf-15a, sdf-9, sdf-16, sdf-17, sdf-18, sdf-19, sdf-21, sdf-22, sdf-23, sdf-27, sdf-29 |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Resource | Contained, inline Resources | |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |
![]() ![]() ![]() |
0..1 | code | STU3: comparable | fully-specified | equivalent | convertable | scaleable | flexible (new) URL: http://hl7.org/fhir/3.0/StructureDefinition/extension-DataElement.stringency Binding: R3DataelementStringencyForR5 (0.1.0) (required): Indicates the degree of precision of the data element definition. Constraints: ext-1 | |
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 |
![]() ![]() |
ΣC | 1..1 | uri | Canonical identifier for this structure definition, represented as a URI (globally unique) Constraints: cnl-1 |
![]() ![]() |
ΣC | 1..1 | string | Name for this structure definition (computer friendly) |
![]() ![]() |
?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. |
![]() ![]() |
ΣC | 1..1 | code | primitive-type | complex-type | resource | logical Binding: StructureDefinitionKind (required): Defines the type of structure that a definition is describing. |
![]() ![]() |
ΣC | 1..1 | boolean | Whether the structure is abstract |
![]() ![]() |
ΣC | 1..1 | uri | Type defined or constrained by this structure Binding: FHIRTypes (extensible): Either a resource or a data type, including logical model types. |
![]() ![]() |
ΣC | 0..1 | canonical(StructureDefinition) | Definition that this type is constrained/specialized from |
![]() ![]() |
ΣC | 0..1 | code | specialization | constraint - How relates to base definition Binding: TypeDerivationRule (required): How a type relates to its baseDefinition. |
![]() ![]() |
C | 0..1 | BackboneElement | Snapshot view of the structure Constraints: sdf-3, sdf-8, sdf-24, sdf-25, sdf-26, sdf-8b |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 |
![]() ![]() ![]() |
C | 1..* | ElementDefinition | Definition of elements in the resource (if no StructureDefinition) Constraints: sdf-10, sdf-28 |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| StructureDefinition.status | Base | required | PublicationStatus | 📍5.0.0 | FHIR Std. |
| StructureDefinition.kind | Base | required | Structure Definition Kind | 📍5.0.0 | FHIR Std. |
| StructureDefinition.type | Base | extensible | All FHIR Types | 📍5.0.0 | FHIR Std. |
| StructureDefinition.derivation | Base | required | Type Derivation Rule | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| cnl-0 | warning | StructureDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation |
name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
|
| cnl-1 | warning | StructureDefinition.url | URL should not contain | or # - these characters make processing canonical references problematic |
exists() implies matches('^[^|# ]+$')
|
| ele-1 | error | StructureDefinition.implicitRules, StructureDefinition.extension, StructureDefinition.extension:stringency, StructureDefinition.modifierExtension, StructureDefinition.url, StructureDefinition.name, StructureDefinition.status, StructureDefinition.kind, StructureDefinition.abstract, StructureDefinition.type, StructureDefinition.baseDefinition, StructureDefinition.derivation, StructureDefinition.snapshot, StructureDefinition.snapshot.modifierExtension, StructureDefinition.snapshot.element | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | StructureDefinition.extension, StructureDefinition.extension:stringency, StructureDefinition.modifierExtension, StructureDefinition.snapshot.modifierExtension | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| sdf-1 | error | StructureDefinition | Element paths must be unique unless the structure is a constraint |
derivation = 'constraint' or snapshot.element.select(path).isDistinct()
|
| sdf-15a | error | StructureDefinition |
If the first element in a differential has no "." in the path and it's not a logical model, it has no type Requirements: No Type on the root element (differential) |
(kind!='logical' and differential.element.first().path.contains('.').not()) implies differential.element.first().type.empty()
|
| sdf-3 | error | StructureDefinition.snapshot | Each element definition in a snapshot must have a formal definition and cardinalities, unless model is a logical model |
%resource.kind = 'logical' or element.all(definition.exists() and min.exists() and max.exists())
|
| sdf-4 | error | StructureDefinition |
If the structure is not abstract, then there SHALL be a baseDefinition Requirements: Ensure that the base types are abstract |
abstract = true or baseDefinition.exists()
|
| sdf-5 | error | StructureDefinition | If the structure defines an extension then the structure must have context information |
type != 'Extension' or derivation = 'specialization' or (context.exists())
|
| sdf-6 | error | StructureDefinition | A structure must have either a differential, or a snapshot (or both) |
snapshot.exists() or differential.exists()
|
| sdf-8 | error | StructureDefinition.snapshot | All snapshot elements must start with the StructureDefinition's specified type for non-logical models, or with the same type name for logical models |
(%resource.kind = 'logical' or element.first().path = %resource.type) and element.tail().all(path.startsWith(%resource.snapshot.element.first().path&'.'))
|
| sdf-9 | error | StructureDefinition |
In any snapshot or differential, no label, code or requirements on an element without a "." in the path (e.g. the first element) Requirements: Because these 3 fields seem to be have overlapping meaning with the ones in the root of StructureDefinition |
children().element.where(path.contains('.').not()).label.empty() and children().element.where(path.contains('.').not()).code.empty() and children().element.where(path.contains('.').not()).requirements.empty()
|
| sdf-10 | error | StructureDefinition.snapshot.element |
provide either a binding reference or a description (or both) Requirements: binding is required |
binding.empty() or binding.valueSet.exists() or binding.description.exists()
|
| sdf-11 | error | StructureDefinition |
If there's a type, its content must match the path name in the first element of a snapshot Requirements: Ensure that the type is not inconsistent with the other information in the structure |
kind != 'logical' implies snapshot.empty() or snapshot.element.first().path = type
|
| sdf-14 | error | StructureDefinition |
All element definitions must have an id Requirements: elements have id |
snapshot.element.all(id.exists()) and differential.element.all(id.exists())
|
| sdf-15 | error | StructureDefinition |
The first element in a snapshot has no type unless model is a logical model. Requirements: No Type on the root element (snapshot) |
kind!='logical' implies snapshot.element.first().type.empty()
|
| sdf-16 | error | StructureDefinition |
All element definitions must have unique ids (snapshot) Requirements: element ids need to be unique |
snapshot.element.all(id.exists()) and snapshot.element.id.trace('ids').isDistinct()
|
| sdf-17 | error | StructureDefinition |
All element definitions must have unique ids (diff) Requirements: element ids need to be unique |
differential.element.all(id.exists()) and differential.element.id.trace('ids').isDistinct()
|
| sdf-18 | error | StructureDefinition |
Context Invariants can only be used for extensions Requirements: contextInvariant |
contextInvariant.exists() implies type = 'Extension'
|
| sdf-19 | error | StructureDefinition |
FHIR Specification models only use FHIR defined types Requirements: custom types only in logical models |
url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (differential | snapshot).element.type.code.all(matches('^[a-zA-Z0-9]+$') or matches('^http:\\/\\/hl7\\.org\\/fhirpath\\/System\\.[A-Z][A-Za-z]+$'))
|
| sdf-21 | error | StructureDefinition |
Default values can only be specified on specializations Requirements: no default values on data types or resources |
differential.element.defaultValue.exists() implies (derivation = 'specialization')
|
| sdf-22 | error | StructureDefinition |
FHIR Specification models never have default values Requirements: no default values on data types or resources |
url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (snapshot.element.defaultValue.empty() and differential.element.defaultValue.empty())
|
| sdf-23 | error | StructureDefinition |
No slice name on root Requirements: no sliceName on root |
(snapshot | differential).element.all(path.contains('.').not() implies sliceName.empty())
|
| sdf-24 | error | StructureDefinition.snapshot | For CodeableReference elements, target profiles must be listed on the CodeableReference, not the CodeableReference.reference |
element.where(type.where(code='Reference').exists() and path.endsWith('.reference') and type.targetProfile.exists() and (path.substring(0,$this.path.length()-10) in %context.element.where(type.where(code='CodeableReference').exists()).path)).exists().not()
|
| sdf-25 | error | StructureDefinition.snapshot | For CodeableReference elements, bindings must be listed on the CodeableReference, not the CodeableReference.concept |
element.where(type.where(code='CodeableConcept').exists() and path.endsWith('.concept') and binding.exists() and (path.substring(0,$this.path.length()-8) in %context.element.where(type.where(code='CodeableReference').exists()).path)).exists().not()
|
| sdf-26 | best practice | StructureDefinition.snapshot | The root element of a profile should not have mustSupport = true |
$this.where(element[0].mustSupport='true').exists().not()
|
| sdf-27 | error | StructureDefinition | If there's a base definition, there must be a derivation |
baseDefinition.exists() implies derivation.exists()
|
| sdf-28 | error | StructureDefinition.snapshot.element | If there are no discriminators, there must be a definition |
slicing.exists().not() or (slicing.discriminator.exists() or slicing.description.exists())
|
| sdf-29 | warning | StructureDefinition | Elements in Resources must have a min cardinality or 0 or 1 and a max cardinality of 1 or * |
((kind in 'resource' | 'complex-type') and (derivation = 'specialization')) implies differential.element.where((min != 0 and min != 1) or (max != '1' and max != '*')).empty()
|
| sdf-8b | error | StructureDefinition.snapshot | All snapshot elements must have a base definition |
element.all(base.exists())
|
Differential View
This structure is derived from StructureDefinition
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | StructureDefinition(5.0.0) | Structural Definition Constraints: cnl-0, sdf-1, sdf-4, sdf-5, sdf-6, sdf-11, sdf-14, sdf-15, sdf-15a, sdf-9, sdf-16, sdf-17, sdf-18, sdf-19, sdf-21, sdf-22, sdf-23, sdf-27, sdf-29 | ||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..1 | Meta | STU3: meta additional types URL: http://hl7.org/fhir/3.0/StructureDefinition/extension-DataElement.meta Constraints: ext-1 | |||||
![]() ![]() ![]() |
Σ | 0..1 | id | Version specific identifier | ||||
![]() ![]() ![]() |
Σ | 0..1 | instant | When the resource version last changed | ||||
![]() ![]() ![]() |
Σ | 0..1 | uri | Identifies where the resource comes from | ||||
![]() ![]() ![]() |
Σ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to | ||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Security Labels applied to this resource Binding: AllSecurityLabels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Tags applied to this resource Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..1 | (Complex) | STU3: text additional types URL: http://hl7.org/fhir/3.0/StructureDefinition/extension-DataElement.text Constraints: ext-1 | |||||
![]() ![]() ![]() |
1..1 | code | generated | extensions | additional | empty Binding: NarrativeStatus (required): The status of a resource narrative. | |||||
![]() ![]() ![]() |
C | 1..1 | xhtml | Limited xhtml content Constraints: txt-1, txt-2 | ||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() |
0..1 | code | STU3: comparable | fully-specified | equivalent | convertable | scaleable | flexible (new) URL: http://hl7.org/fhir/3.0/StructureDefinition/extension-DataElement.stringency Binding: R3DataelementStringencyForR5 (0.1.0) (required): Indicates the degree of precision of the data element definition. Constraints: ext-1 | |||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 | ||||
![]() ![]() |
ΣC | 1..1 | uri | Canonical identifier for this structure definition, represented as a URI (globally unique) Constraints: cnl-1 | ||||
![]() ![]() |
Σ | 0..* | Identifier | Additional identifier for the structure definition | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..* | Identifier | STU3: Additional identifier for the data element additional types URL: http://hl7.org/fhir/3.0/StructureDefinition/extension-DataElement.identifier Constraints: ext-1 | |||||
![]() ![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . | ||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Description of identifier Binding: IdentifierTypeCodes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. | ||||
![]() ![]() ![]() |
Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient | ||||
![]() ![]() ![]() |
ΣC | 0..1 | string | The value that is unique Example General: 123456 | ||||
![]() ![]() ![]() |
Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
![]() ![]() ![]() |
Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
![]() ![]() |
Σ | 0..1 | string | Business version of the structure definition | ||||
![]() ![]() |
Σ | 0..1 | How to compare versions Binding: VersionAlgorithm (extensible) | |||||
![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() |
Coding | |||||||
![]() ![]() |
ΣC | 1..1 | string | Name for this structure definition (computer friendly) | ||||
![]() ![]() |
Σ | 0..1 | string | Name for this structure definition (human friendly) | ||||
![]() ![]() |
?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. | ||||
![]() ![]() |
Σ | 0..1 | boolean | For testing purposes, not real usage | ||||
![]() ![]() |
Σ | 0..1 | dateTime | Date last changed | ||||
![]() ![]() |
Σ | 0..1 | string | Name of the publisher/steward (organization or individual) | ||||
![]() ![]() |
Σ | 0..* | ContactDetail | Contact details for the publisher | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..* | ContactDetail | STU3: contact additional types URL: http://hl7.org/fhir/3.0/StructureDefinition/extension-DataElement.contact Constraints: ext-1 | |||||
![]() ![]() ![]() |
Σ | 0..1 | string | Name of an individual to contact | ||||
![]() ![]() ![]() |
Σ | 0..* | ContactPoint | Contact details for individual or organization | ||||
![]() ![]() |
0..1 | markdown | Natural language description of the structure definition | |||||
![]() ![]() |
Σ | 0..* | UsageContext | The context that the content is intended to support | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
0..* | UsageContext | STU3: Context the content is intended to support additional types URL: http://hl7.org/fhir/3.0/StructureDefinition/extension-DataElement.useContext Constraints: ext-1 | |||||
![]() ![]() ![]() |
Σ | 1..1 | Coding | Type of context being specified Binding: UsageContextType (1.0.1) (extensible): A code that specifies a type of context being specified by a usage context. | ||||
![]() ![]() ![]() |
Σ | 1..1 | Value that defines the context Binding: ContextOfUseValueSet (example): A code that defines the specific value for the context being specified. | |||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() |
Reference(PlanDefinition | ResearchStudy | InsurancePlan | HealthcareService | Group | Location | Organization) | |||||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Intended jurisdiction for structure definition (if applicable) Binding: JurisdictionValueSet (extensible): Countries and regions within which this artifact is targeted for use. | ||||
![]() ![]() |
0..1 | markdown | Why this structure definition is defined | |||||
![]() ![]() |
0..1 | markdown | Use and/or publishing restrictions | |||||
![]() ![]() |
0..1 | string | Copyright holder and year(s) | |||||
![]() ![]() |
Σ | 0..* | Coding | Assist with indexing and finding Binding: DefinitionUseCodes (extensible): Codes for the meaning of the defined structure (SNOMED CT and LOINC codes, as an example). | ||||
![]() ![]() |
Σ | 0..1 | code | FHIR Version this StructureDefinition targets Binding: FHIRVersion (required): All published FHIR Versions. | ||||
![]() ![]() |
C | 0..* | BackboneElement | External specification that the content is mapped to Constraints: sdf-2 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||
![]() ![]() ![]() |
1..1 | id | Internal id when this mapping is used | |||||
![]() ![]() ![]() |
C | 0..1 | uri | Identifies what this mapping refers to | ||||
![]() ![]() ![]() |
C | 0..1 | string | Names what this mapping refers to | ||||
![]() ![]() ![]() |
0..1 | string | Versions, Issues, Scope limitations etc | |||||
![]() ![]() |
ΣC | 1..1 | code | primitive-type | complex-type | resource | logical Binding: StructureDefinitionKind (required): Defines the type of structure that a definition is describing. | ||||
![]() ![]() |
ΣC | 1..1 | boolean | Whether the structure is abstract | ||||
![]() ![]() |
ΣC | 0..* | BackboneElement | If an extension, where it can be used in instances | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||
![]() ![]() ![]() |
Σ | 1..1 | code | fhirpath | element | extension Binding: ExtensionContextType (required): How an extension context is interpreted. | ||||
![]() ![]() ![]() |
Σ | 1..1 | string | Where the extension can be used in instances | ||||
![]() ![]() |
ΣC | 0..* | string | FHIRPath invariants - when the extension can be used | ||||
![]() ![]() |
ΣC | 1..1 | uri | Type defined or constrained by this structure Binding: FHIRTypes (extensible): Either a resource or a data type, including logical model types. | ||||
![]() ![]() |
ΣC | 0..1 | canonical(StructureDefinition) | Definition that this type is constrained/specialized from | ||||
![]() ![]() |
ΣC | 0..1 | code | specialization | constraint - How relates to base definition Binding: TypeDerivationRule (required): How a type relates to its baseDefinition. | ||||
![]() ![]() |
C | 0..1 | BackboneElement | Snapshot view of the structure Constraints: sdf-3, sdf-8, sdf-24, sdf-25, sdf-26, sdf-8b | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||
![]() ![]() ![]() |
C | 1..* | ElementDefinition | Definition of elements in the resource (if no StructureDefinition) Constraints: sdf-10, sdf-28 | ||||
![]() ![]() |
C | 0..1 | BackboneElement | Differential view of the structure Constraints: sdf-20, sdf-8a | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||
![]() ![]() ![]() |
C | 1..* | ElementDefinition | Definition of elements in the resource (if no StructureDefinition) | ||||
![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() |
1..* | (Complex) | STU3: Definition of element additional types URL: http://hl7.org/fhir/3.0/StructureDefinition/extension-DataElement.element Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||
![]() ![]() ![]() ![]() |
ΣC | 1..1 | string | Path of the element in the hierarchy of elements | ||||
![]() ![]() ![]() ![]() |
Σ | 0..* | code | xmlAttr | xmlText | typeAttr | cdaText | xhtml Binding: PropertyRepresentation (required): How a property is represented when serialized. | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Name for this particular element (in a set of slices) | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | boolean | If this slice definition constrains an inherited slice definition (or not) | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Name for element to display with or prompt for element | ||||
![]() ![]() ![]() ![]() |
Σ | 0..* | Coding | Corresponding codes in terminologies Binding: All LOINC codes (example): Codes that indicate the meaning of a data element. | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | Element | This element is sliced - slices follow | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | Element | Element values that are used to distinguish the slices | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | code | value | exists | type | profile | position Binding: DiscriminatorType (required): How an element value is interpreted when discrimination is evaluated. | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Path to element value | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Text description of how slicing works (or not) | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | boolean | If elements must be in same order as slices | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 1..1 | code | closed | open | openAtEnd Binding: SlicingRules (required): How slices are interpreted when evaluating an instance. | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Concise definition for space-constrained presentation | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | markdown | Full formal definition as narrative text | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | markdown | Comments about the use of this element | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | markdown | Why this resource has been created | ||||
![]() ![]() ![]() ![]() |
Σ | 0..* | string | Other names | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | unsignedInt | Minimum Cardinality | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Maximum Cardinality (a number or *) Constraints: eld-3 | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Element | Base definition information for tools | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Path that identifies the base element | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | unsignedInt | Min cardinality of the base element | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Max cardinality of the base element | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | uri | Reference to definition of content for the element | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..* | Element | Data type and Profile for this element Constraints: eld-4, eld-17 | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 1..1 | uri | Data type or Resource (reference to definition) Binding: ElementDefinitionTypes (extensible): List of all Types for ElementDefinition.type.code. | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | canonical(StructureDefinition | ImplementationGuide) | Profiles (StructureDefinition or IG) - one must apply | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..* | canonical(StructureDefinition | ImplementationGuide) | Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..* | code | contained | referenced | bundled - how aggregated Binding: AggregationMode (required): How resource references can be aggregated. | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | either | independent | specific Binding: ReferenceVersionRules (required): Whether a reference needs to be version specific or version independent, or whether either can be used. | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | Specified value if missing from instance | |||||
![]() ![]() ![]() ![]() ![]() |
base64Binary | |||||||
![]() ![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() ![]() |
canonical(Any) | |||||||
![]() ![]() ![]() ![]() ![]() |
code | |||||||
![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() |
id | |||||||
![]() ![]() ![]() ![]() ![]() |
instant | |||||||
![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() |
integer64 | |||||||
![]() ![]() ![]() ![]() ![]() |
markdown | |||||||
![]() ![]() ![]() ![]() ![]() |
oid | |||||||
![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() ![]() |
url | |||||||
![]() ![]() ![]() ![]() ![]() |
uuid | |||||||
![]() ![]() ![]() ![]() ![]() |
Address | |||||||
![]() ![]() ![]() ![]() ![]() |
Age | |||||||
![]() ![]() ![]() ![]() ![]() |
Annotation | |||||||
![]() ![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() ![]() |
CodeableReference | |||||||
![]() ![]() ![]() ![]() ![]() |
Coding | |||||||
![]() ![]() ![]() ![]() ![]() |
ContactPoint | |||||||
![]() ![]() ![]() ![]() ![]() |
Count | |||||||
![]() ![]() ![]() ![]() ![]() |
Distance | |||||||
![]() ![]() ![]() ![]() ![]() |
Duration | |||||||
![]() ![]() ![]() ![]() ![]() |
HumanName | |||||||
![]() ![]() ![]() ![]() ![]() |
Identifier | |||||||
![]() ![]() ![]() ![]() ![]() |
Money | |||||||
![]() ![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() ![]() |
RatioRange | |||||||
![]() ![]() ![]() ![]() ![]() |
Reference(Any) | |||||||
![]() ![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() ![]() |
Signature | |||||||
![]() ![]() ![]() ![]() ![]() |
Timing | |||||||
![]() ![]() ![]() ![]() ![]() |
ContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() |
DataRequirement | |||||||
![]() ![]() ![]() ![]() ![]() |
Expression | |||||||
![]() ![]() ![]() ![]() ![]() |
ParameterDefinition | |||||||
![]() ![]() ![]() ![]() ![]() |
RelatedArtifact | |||||||
![]() ![]() ![]() ![]() ![]() |
TriggerDefinition | |||||||
![]() ![]() ![]() ![]() ![]() |
UsageContext | |||||||
![]() ![]() ![]() ![]() ![]() |
Availability | |||||||
![]() ![]() ![]() ![]() ![]() |
ExtendedContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() |
Dosage | |||||||
![]() ![]() ![]() ![]() ![]() |
Meta | |||||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | markdown | Implicit meaning when this element is missing | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | What the order of the elements means | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | Value must be exactly this | |||||
![]() ![]() ![]() ![]() ![]() |
base64Binary | |||||||
![]() ![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() ![]() |
canonical(Any) | |||||||
![]() ![]() ![]() ![]() ![]() |
code | |||||||
![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() |
id | |||||||
![]() ![]() ![]() ![]() ![]() |
instant | |||||||
![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() |
integer64 | |||||||
![]() ![]() ![]() ![]() ![]() |
markdown | |||||||
![]() ![]() ![]() ![]() ![]() |
oid | |||||||
![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() ![]() |
url | |||||||
![]() ![]() ![]() ![]() ![]() |
uuid | |||||||
![]() ![]() ![]() ![]() ![]() |
Address | |||||||
![]() ![]() ![]() ![]() ![]() |
Age | |||||||
![]() ![]() ![]() ![]() ![]() |
Annotation | |||||||
![]() ![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() ![]() |
CodeableReference | |||||||
![]() ![]() ![]() ![]() ![]() |
Coding | |||||||
![]() ![]() ![]() ![]() ![]() |
ContactPoint | |||||||
![]() ![]() ![]() ![]() ![]() |
Count | |||||||
![]() ![]() ![]() ![]() ![]() |
Distance | |||||||
![]() ![]() ![]() ![]() ![]() |
Duration | |||||||
![]() ![]() ![]() ![]() ![]() |
HumanName | |||||||
![]() ![]() ![]() ![]() ![]() |
Identifier | |||||||
![]() ![]() ![]() ![]() ![]() |
Money | |||||||
![]() ![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() ![]() |
RatioRange | |||||||
![]() ![]() ![]() ![]() ![]() |
Reference(Any) | |||||||
![]() ![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() ![]() |
Signature | |||||||
![]() ![]() ![]() ![]() ![]() |
Timing | |||||||
![]() ![]() ![]() ![]() ![]() |
ContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() |
DataRequirement | |||||||
![]() ![]() ![]() ![]() ![]() |
Expression | |||||||
![]() ![]() ![]() ![]() ![]() |
ParameterDefinition | |||||||
![]() ![]() ![]() ![]() ![]() |
RelatedArtifact | |||||||
![]() ![]() ![]() ![]() ![]() |
TriggerDefinition | |||||||
![]() ![]() ![]() ![]() ![]() |
UsageContext | |||||||
![]() ![]() ![]() ![]() ![]() |
Availability | |||||||
![]() ![]() ![]() ![]() ![]() |
ExtendedContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() |
Dosage | |||||||
![]() ![]() ![]() ![]() ![]() |
Meta | |||||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | Value must have at least these property values | |||||
![]() ![]() ![]() ![]() ![]() |
base64Binary | |||||||
![]() ![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() ![]() |
canonical(Any) | |||||||
![]() ![]() ![]() ![]() ![]() |
code | |||||||
![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() |
id | |||||||
![]() ![]() ![]() ![]() ![]() |
instant | |||||||
![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() |
integer64 | |||||||
![]() ![]() ![]() ![]() ![]() |
markdown | |||||||
![]() ![]() ![]() ![]() ![]() |
oid | |||||||
![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() ![]() |
url | |||||||
![]() ![]() ![]() ![]() ![]() |
uuid | |||||||
![]() ![]() ![]() ![]() ![]() |
Address | |||||||
![]() ![]() ![]() ![]() ![]() |
Age | |||||||
![]() ![]() ![]() ![]() ![]() |
Annotation | |||||||
![]() ![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() ![]() |
CodeableReference | |||||||
![]() ![]() ![]() ![]() ![]() |
Coding | |||||||
![]() ![]() ![]() ![]() ![]() |
ContactPoint | |||||||
![]() ![]() ![]() ![]() ![]() |
Count | |||||||
![]() ![]() ![]() ![]() ![]() |
Distance | |||||||
![]() ![]() ![]() ![]() ![]() |
Duration | |||||||
![]() ![]() ![]() ![]() ![]() |
HumanName | |||||||
![]() ![]() ![]() ![]() ![]() |
Identifier | |||||||
![]() ![]() ![]() ![]() ![]() |
Money | |||||||
![]() ![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() ![]() |
RatioRange | |||||||
![]() ![]() ![]() ![]() ![]() |
Reference(Any) | |||||||
![]() ![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() ![]() |
Signature | |||||||
![]() ![]() ![]() ![]() ![]() |
Timing | |||||||
![]() ![]() ![]() ![]() ![]() |
ContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() |
DataRequirement | |||||||
![]() ![]() ![]() ![]() ![]() |
Expression | |||||||
![]() ![]() ![]() ![]() ![]() |
ParameterDefinition | |||||||
![]() ![]() ![]() ![]() ![]() |
RelatedArtifact | |||||||
![]() ![]() ![]() ![]() ![]() |
TriggerDefinition | |||||||
![]() ![]() ![]() ![]() ![]() |
UsageContext | |||||||
![]() ![]() ![]() ![]() ![]() |
Availability | |||||||
![]() ![]() ![]() ![]() ![]() |
ExtendedContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() |
Dosage | |||||||
![]() ![]() ![]() ![]() ![]() |
Meta | |||||||
![]() ![]() ![]() ![]() |
ΣC | 0..* | Element | Example value (as defined for type) | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Describes the purpose of this example | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | Value of Example (one of allowed types) | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
base64Binary | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
canonical(Any) | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
code | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
id | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
instant | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
integer64 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
markdown | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
oid | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
url | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
uuid | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Address | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Age | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Annotation | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
CodeableReference | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Coding | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactPoint | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Count | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Distance | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Duration | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
HumanName | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Identifier | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Money | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
RatioRange | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Reference(Any) | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Signature | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Timing | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
DataRequirement | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Expression | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ParameterDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
RelatedArtifact | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
TriggerDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
UsageContext | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Availability | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ExtendedContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Dosage | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Meta | |||||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | Minimum Allowed Value (for some types) | |||||
![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() |
instant | |||||||
![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() |
integer64 | |||||||
![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | Maximum Allowed Value (for some types) | |||||
![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() |
instant | |||||||
![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() |
integer64 | |||||||
![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | integer | Max length for string type data | ||||
![]() ![]() ![]() ![]() |
Σ | 0..* | id | Reference to invariant about presence | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..* | Element | Condition that must evaluate to true Constraints: eld-21, eld-26 | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 1..1 | id | Target of 'condition' reference above | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | markdown | Why this constraint is necessary or appropriate | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 1..1 | code | error | warning Binding: ConstraintSeverity (required): SHALL applications comply with this constraint? | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | boolean | Suppress warning or hint in profile | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Human description of constraint | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | FHIRPath expression of constraint | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | canonical(StructureDefinition) | Reference to original source of constraint | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | boolean | For primitives, that a value must be present - not replaced by an extension | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..* | canonical(StructureDefinition) | Extensions that are allowed to replace a primitive value | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If the element must be supported (discouraged - see obligations) | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | boolean | If this modifies the meaning of other elements | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Reason that this element is marked as a modifier | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | Include when _summary = true? | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..1 | Element | ValueSet details if this is coded Constraints: eld-12, eld-23 | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | code | required | extensible | preferred | example Binding: BindingStrength (required): Indication of the degree of conformance expectations associated with a binding. | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | markdown | Intended use of codes in the bound value set | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | canonical(ValueSet) | Source of value set | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | Element | Additional Bindings - more rules about the binding | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | code | maximum | minimum | required | extensible | candidate | current | preferred | ui | starter | component Binding: AdditionalBindingPurposeVS (required): The use of an additional binding. | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | canonical(ValueSet) | The value set for the additional binding | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | markdown | Documentation of the purpose of use of the binding | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Concise documentation - for summary tables | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | UsageContext | Qualifies the usage - jurisdiction, gender, workflow status etc. | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | Whether binding can applies to all repeats, or just one | ||||
![]() ![]() ![]() ![]() |
ΣC | 0..* | Element | Map element to another set of definitions | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 1..1 | id | Reference to mapping declaration | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Computable language of mapping Binding: MimeTypes (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049) | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Details of the mapping | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | markdown | Comments about the mapping or its use | ||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| StructureDefinition.meta.security | Base | extensible |
All Security Labels
|
📍5.0.0 | tx.fhir.org |
| StructureDefinition.meta.tag | Base | example | Common Tags | 📍5.0.0 | FHIR Std. |
| StructureDefinition.language | Base | required | All Languages | 📍5.0.0 | FHIR Std. |
| StructureDefinition.text.status | Base | required | NarrativeStatus | 📍5.0.0 | FHIR Std. |
| StructureDefinition.identifier.use | Base | required | IdentifierUse | 📍5.0.0 | FHIR Std. |
| StructureDefinition.identifier.type | Base | extensible | Identifier Type Codes | 📍5.0.0 | FHIR Std. |
| StructureDefinition.versionAlgorithm[x] | Base | extensible | Version Algorithm | 📍5.0.0 | FHIR Std. |
| StructureDefinition.status | Base | required | PublicationStatus | 📍5.0.0 | FHIR Std. |
| StructureDefinition.useContext.code | Base | extensible | UsageContextType | 📍1.0.1 | THO v7.1 |
| StructureDefinition.useContext.value[x] | Base | example | Context of Use ValueSet | 📍5.0.0 | FHIR Std. |
| StructureDefinition.jurisdiction | Base | extensible | Jurisdiction ValueSet | 📍5.0.0 | FHIR Std. |
| StructureDefinition.keyword | Base | extensible | Structure Definition Use Codes / Keywords | 📍5.0.0 | FHIR Std. |
| StructureDefinition.fhirVersion | Base | required | FHIRVersion | 📍5.0.0 | FHIR Std. |
| StructureDefinition.kind | Base | required | Structure Definition Kind | 📍5.0.0 | FHIR Std. |
| StructureDefinition.context.type | Base | required | Extension Context Type | 📍5.0.0 | FHIR Std. |
| StructureDefinition.type | Base | extensible | All FHIR Types | 📍5.0.0 | FHIR Std. |
| StructureDefinition.derivation | Base | required | Type Derivation Rule | 📍5.0.0 | FHIR Std. |
| StructureDefinition.differential.element.representation | Base | required | PropertyRepresentation | 📍5.0.0 | FHIR Std. |
| StructureDefinition.differential.element.code | Base | example | All LOINC codes | ∅ | unknown? |
| StructureDefinition.differential.element.slicing.discriminator.type | Base | required | DiscriminatorType | 📍5.0.0 | FHIR Std. |
| StructureDefinition.differential.element.slicing.rules | Base | required | SlicingRules | 📍5.0.0 | FHIR Std. |
| StructureDefinition.differential.element.type.code | Base | extensible | Element Definition Types | 📍5.0.0 | FHIR Std. |
| StructureDefinition.differential.element.type.aggregation | Base | required | AggregationMode | 📍5.0.0 | FHIR Std. |
| StructureDefinition.differential.element.type.versioning | Base | required | ReferenceVersionRules | 📍5.0.0 | FHIR Std. |
| StructureDefinition.differential.element.constraint.severity | Base | required | ConstraintSeverity | 📍5.0.0 | FHIR Std. |
| StructureDefinition.differential.element.binding.strength | Base | required | BindingStrength | 📍5.0.0 | FHIR Std. |
| StructureDefinition.differential.element.binding.additional.purpose | Base | required | Additional Binding Purpose ValueSet | 📍5.0.0 | FHIR Std. |
| StructureDefinition.differential.element.mapping.language | Base | required | Mime Types | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| cnl-0 | warning | StructureDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation |
name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
|
| cnl-1 | warning | StructureDefinition.url | URL should not contain | or # - these characters make processing canonical references problematic |
exists() implies matches('^[^|# ]+$')
|
| ele-1 | error | StructureDefinition.meta, StructureDefinition.meta.extension, StructureDefinition.meta.extension:meta, StructureDefinition.meta.versionId, StructureDefinition.meta.lastUpdated, StructureDefinition.meta.source, StructureDefinition.meta.profile, StructureDefinition.meta.security, StructureDefinition.meta.tag, StructureDefinition.implicitRules, StructureDefinition.language, StructureDefinition.text, StructureDefinition.text.extension, StructureDefinition.text.extension:text, StructureDefinition.text.status, StructureDefinition.text.div, StructureDefinition.extension, StructureDefinition.extension:stringency, StructureDefinition.modifierExtension, StructureDefinition.url, StructureDefinition.identifier, StructureDefinition.identifier.extension, StructureDefinition.identifier.extension:identifier, StructureDefinition.identifier.use, StructureDefinition.identifier.type, StructureDefinition.identifier.system, StructureDefinition.identifier.value, StructureDefinition.identifier.period, StructureDefinition.identifier.assigner, StructureDefinition.version, StructureDefinition.versionAlgorithm[x], StructureDefinition.name, StructureDefinition.title, StructureDefinition.status, StructureDefinition.experimental, StructureDefinition.date, StructureDefinition.publisher, StructureDefinition.contact, StructureDefinition.contact.extension, StructureDefinition.contact.extension:contact, StructureDefinition.contact.name, StructureDefinition.contact.telecom, StructureDefinition.description, StructureDefinition.useContext, StructureDefinition.useContext.extension, StructureDefinition.useContext.extension:useContext, StructureDefinition.useContext.code, StructureDefinition.useContext.value[x], StructureDefinition.jurisdiction, StructureDefinition.purpose, StructureDefinition.copyright, StructureDefinition.copyrightLabel, StructureDefinition.keyword, StructureDefinition.fhirVersion, StructureDefinition.mapping, StructureDefinition.mapping.extension, StructureDefinition.mapping.modifierExtension, StructureDefinition.mapping.identity, StructureDefinition.mapping.uri, StructureDefinition.mapping.name, StructureDefinition.mapping.comment, StructureDefinition.kind, StructureDefinition.abstract, StructureDefinition.context, StructureDefinition.context.extension, StructureDefinition.context.modifierExtension, StructureDefinition.context.type, StructureDefinition.context.expression, StructureDefinition.contextInvariant, StructureDefinition.type, StructureDefinition.baseDefinition, StructureDefinition.derivation, StructureDefinition.snapshot, StructureDefinition.snapshot.extension, StructureDefinition.snapshot.modifierExtension, StructureDefinition.snapshot.element, StructureDefinition.differential, StructureDefinition.differential.extension, StructureDefinition.differential.modifierExtension, StructureDefinition.differential.element, StructureDefinition.differential.element.extension, StructureDefinition.differential.element.extension:element, StructureDefinition.differential.element.modifierExtension, StructureDefinition.differential.element.path, StructureDefinition.differential.element.representation, StructureDefinition.differential.element.sliceName, StructureDefinition.differential.element.sliceIsConstraining, StructureDefinition.differential.element.label, StructureDefinition.differential.element.code, StructureDefinition.differential.element.slicing, StructureDefinition.differential.element.slicing.extension, StructureDefinition.differential.element.slicing.discriminator, StructureDefinition.differential.element.slicing.discriminator.extension, StructureDefinition.differential.element.slicing.discriminator.type, StructureDefinition.differential.element.slicing.discriminator.path, StructureDefinition.differential.element.slicing.description, StructureDefinition.differential.element.slicing.ordered, StructureDefinition.differential.element.slicing.rules, StructureDefinition.differential.element.short, StructureDefinition.differential.element.definition, StructureDefinition.differential.element.comment, StructureDefinition.differential.element.requirements, StructureDefinition.differential.element.alias, StructureDefinition.differential.element.min, StructureDefinition.differential.element.max, StructureDefinition.differential.element.base, StructureDefinition.differential.element.base.extension, StructureDefinition.differential.element.base.path, StructureDefinition.differential.element.base.min, StructureDefinition.differential.element.base.max, StructureDefinition.differential.element.contentReference, StructureDefinition.differential.element.type, StructureDefinition.differential.element.type.extension, StructureDefinition.differential.element.type.code, StructureDefinition.differential.element.type.profile, StructureDefinition.differential.element.type.targetProfile, StructureDefinition.differential.element.type.aggregation, StructureDefinition.differential.element.type.versioning, StructureDefinition.differential.element.defaultValue[x], StructureDefinition.differential.element.meaningWhenMissing, StructureDefinition.differential.element.orderMeaning, StructureDefinition.differential.element.fixed[x], StructureDefinition.differential.element.pattern[x], StructureDefinition.differential.element.example, StructureDefinition.differential.element.example.extension, StructureDefinition.differential.element.example.label, StructureDefinition.differential.element.example.value[x], StructureDefinition.differential.element.minValue[x], StructureDefinition.differential.element.maxValue[x], StructureDefinition.differential.element.maxLength, StructureDefinition.differential.element.condition, StructureDefinition.differential.element.constraint, StructureDefinition.differential.element.constraint.extension, StructureDefinition.differential.element.constraint.key, StructureDefinition.differential.element.constraint.requirements, StructureDefinition.differential.element.constraint.severity, StructureDefinition.differential.element.constraint.suppress, StructureDefinition.differential.element.constraint.human, StructureDefinition.differential.element.constraint.expression, StructureDefinition.differential.element.constraint.source, StructureDefinition.differential.element.mustHaveValue, StructureDefinition.differential.element.valueAlternatives, StructureDefinition.differential.element.mustSupport, StructureDefinition.differential.element.isModifier, StructureDefinition.differential.element.isModifierReason, StructureDefinition.differential.element.isSummary, StructureDefinition.differential.element.binding, StructureDefinition.differential.element.binding.extension, StructureDefinition.differential.element.binding.strength, StructureDefinition.differential.element.binding.description, StructureDefinition.differential.element.binding.valueSet, StructureDefinition.differential.element.binding.additional, StructureDefinition.differential.element.binding.additional.extension, StructureDefinition.differential.element.binding.additional.purpose, StructureDefinition.differential.element.binding.additional.valueSet, StructureDefinition.differential.element.binding.additional.documentation, StructureDefinition.differential.element.binding.additional.shortDoco, StructureDefinition.differential.element.binding.additional.usage, StructureDefinition.differential.element.binding.additional.any, StructureDefinition.differential.element.mapping, StructureDefinition.differential.element.mapping.extension, StructureDefinition.differential.element.mapping.identity, StructureDefinition.differential.element.mapping.language, StructureDefinition.differential.element.mapping.map, StructureDefinition.differential.element.mapping.comment | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| eld-3 | error | StructureDefinition.differential.element.max | Max SHALL be a number or "*" |
empty() or ($this = '*') or (toInteger() >= 0)
|
| eld-4 | error | StructureDefinition.differential.element.type | Aggregation may only be specified if one of the allowed types for the element is a reference |
aggregation.empty() or (code = 'Reference') or (code = 'canonical') or (code = 'CodeableReference')
|
| eld-12 | error | StructureDefinition.differential.element.binding | ValueSet SHALL start with http:// or https:// or urn: or # |
valueSet.exists() implies (valueSet.startsWith('http:') or valueSet.startsWith('https') or valueSet.startsWith('urn:') or valueSet.startsWith('#'))
|
| eld-17 | error | StructureDefinition.differential.element.type | targetProfile is only allowed if the type is Reference or canonical |
(code='Reference' or code = 'canonical' or code = 'CodeableReference') or targetProfile.empty()
|
| eld-21 | warning | StructureDefinition.differential.element.constraint | Constraints should have an expression or else validators will not be able to enforce them |
expression.exists()
|
| eld-23 | error | StructureDefinition.differential.element.binding | binding SHALL have either description or valueSet |
description.exists() or valueSet.exists()
|
| eld-26 | error | StructureDefinition.differential.element.constraint | Errors cannot be suppressed |
(severity = 'error') implies suppress.empty()
|
| ext-1 | error | StructureDefinition.meta.extension, StructureDefinition.meta.extension:meta, StructureDefinition.text.extension, StructureDefinition.text.extension:text, StructureDefinition.extension, StructureDefinition.extension:stringency, StructureDefinition.modifierExtension, StructureDefinition.identifier.extension, StructureDefinition.identifier.extension:identifier, StructureDefinition.contact.extension, StructureDefinition.contact.extension:contact, StructureDefinition.useContext.extension, StructureDefinition.useContext.extension:useContext, StructureDefinition.mapping.extension, StructureDefinition.mapping.modifierExtension, StructureDefinition.context.extension, StructureDefinition.context.modifierExtension, StructureDefinition.snapshot.extension, StructureDefinition.snapshot.modifierExtension, StructureDefinition.differential.extension, StructureDefinition.differential.modifierExtension, StructureDefinition.differential.element.extension, StructureDefinition.differential.element.extension:element, StructureDefinition.differential.element.modifierExtension, StructureDefinition.differential.element.slicing.extension, StructureDefinition.differential.element.slicing.discriminator.extension, StructureDefinition.differential.element.base.extension, StructureDefinition.differential.element.type.extension, StructureDefinition.differential.element.example.extension, StructureDefinition.differential.element.constraint.extension, StructureDefinition.differential.element.binding.extension, StructureDefinition.differential.element.binding.additional.extension, StructureDefinition.differential.element.mapping.extension | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| sdf-1 | error | StructureDefinition | Element paths must be unique unless the structure is a constraint |
derivation = 'constraint' or snapshot.element.select(path).isDistinct()
|
| sdf-15a | error | StructureDefinition |
If the first element in a differential has no "." in the path and it's not a logical model, it has no type Requirements: No Type on the root element (differential) |
(kind!='logical' and differential.element.first().path.contains('.').not()) implies differential.element.first().type.empty()
|
| sdf-2 | error | StructureDefinition.mapping | Must have at least a name or a uri (or both) |
name.exists() or uri.exists()
|
| sdf-3 | error | StructureDefinition.snapshot | Each element definition in a snapshot must have a formal definition and cardinalities, unless model is a logical model |
%resource.kind = 'logical' or element.all(definition.exists() and min.exists() and max.exists())
|
| sdf-4 | error | StructureDefinition |
If the structure is not abstract, then there SHALL be a baseDefinition Requirements: Ensure that the base types are abstract |
abstract = true or baseDefinition.exists()
|
| sdf-5 | error | StructureDefinition | If the structure defines an extension then the structure must have context information |
type != 'Extension' or derivation = 'specialization' or (context.exists())
|
| sdf-6 | error | StructureDefinition | A structure must have either a differential, or a snapshot (or both) |
snapshot.exists() or differential.exists()
|
| sdf-8 | error | StructureDefinition.snapshot | All snapshot elements must start with the StructureDefinition's specified type for non-logical models, or with the same type name for logical models |
(%resource.kind = 'logical' or element.first().path = %resource.type) and element.tail().all(path.startsWith(%resource.snapshot.element.first().path&'.'))
|
| sdf-10 | error | StructureDefinition.snapshot.element |
provide either a binding reference or a description (or both) Requirements: binding is required |
binding.empty() or binding.valueSet.exists() or binding.description.exists()
|
| sdf-11 | error | StructureDefinition |
If there's a type, its content must match the path name in the first element of a snapshot Requirements: Ensure that the type is not inconsistent with the other information in the structure |
kind != 'logical' implies snapshot.empty() or snapshot.element.first().path = type
|
| sdf-14 | error | StructureDefinition |
All element definitions must have an id Requirements: elements have id |
snapshot.element.all(id.exists()) and differential.element.all(id.exists())
|
| sdf-15 | error | StructureDefinition |
The first element in a snapshot has no type unless model is a logical model. Requirements: No Type on the root element (snapshot) |
kind!='logical' implies snapshot.element.first().type.empty()
|
| sdf-16 | error | StructureDefinition |
All element definitions must have unique ids (snapshot) Requirements: element ids need to be unique |
snapshot.element.all(id.exists()) and snapshot.element.id.trace('ids').isDistinct()
|
| sdf-17 | error | StructureDefinition |
All element definitions must have unique ids (diff) Requirements: element ids need to be unique |
differential.element.all(id.exists()) and differential.element.id.trace('ids').isDistinct()
|
| sdf-18 | error | StructureDefinition |
Context Invariants can only be used for extensions Requirements: contextInvariant |
contextInvariant.exists() implies type = 'Extension'
|
| sdf-19 | error | StructureDefinition |
FHIR Specification models only use FHIR defined types Requirements: custom types only in logical models |
url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (differential | snapshot).element.type.code.all(matches('^[a-zA-Z0-9]+$') or matches('^http:\\/\\/hl7\\.org\\/fhirpath\\/System\\.[A-Z][A-Za-z]+$'))
|
| sdf-20 | error | StructureDefinition.differential |
No slicing on the root element Requirements: no slicing on root |
element.where(path.contains('.').not()).slicing.empty()
|
| sdf-21 | error | StructureDefinition |
Default values can only be specified on specializations Requirements: no default values on data types or resources |
differential.element.defaultValue.exists() implies (derivation = 'specialization')
|
| sdf-22 | error | StructureDefinition |
FHIR Specification models never have default values Requirements: no default values on data types or resources |
url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (snapshot.element.defaultValue.empty() and differential.element.defaultValue.empty())
|
| sdf-23 | error | StructureDefinition |
No slice name on root Requirements: no sliceName on root |
(snapshot | differential).element.all(path.contains('.').not() implies sliceName.empty())
|
| sdf-24 | error | StructureDefinition.snapshot | For CodeableReference elements, target profiles must be listed on the CodeableReference, not the CodeableReference.reference |
element.where(type.where(code='Reference').exists() and path.endsWith('.reference') and type.targetProfile.exists() and (path.substring(0,$this.path.length()-10) in %context.element.where(type.where(code='CodeableReference').exists()).path)).exists().not()
|
| sdf-25 | error | StructureDefinition.snapshot | For CodeableReference elements, bindings must be listed on the CodeableReference, not the CodeableReference.concept |
element.where(type.where(code='CodeableConcept').exists() and path.endsWith('.concept') and binding.exists() and (path.substring(0,$this.path.length()-8) in %context.element.where(type.where(code='CodeableReference').exists()).path)).exists().not()
|
| sdf-26 | best practice | StructureDefinition.snapshot | The root element of a profile should not have mustSupport = true |
$this.where(element[0].mustSupport='true').exists().not()
|
| sdf-27 | error | StructureDefinition | If there's a base definition, there must be a derivation |
baseDefinition.exists() implies derivation.exists()
|
| sdf-28 | error | StructureDefinition.snapshot.element | If there are no discriminators, there must be a definition |
slicing.exists().not() or (slicing.discriminator.exists() or slicing.description.exists())
|
| sdf-29 | warning | StructureDefinition | Elements in Resources must have a min cardinality or 0 or 1 and a max cardinality of 1 or * |
((kind in 'resource' | 'complex-type') and (derivation = 'specialization')) implies differential.element.where((min != 0 and min != 1) or (max != '1' and max != '*')).empty()
|
| sdf-8a | error | StructureDefinition.differential | In any differential, all the elements must start with the StructureDefinition's specified type for non-logical models, or with the same type name for logical models |
(%resource.kind = 'logical' or element.first().path.startsWith(%resource.type)) and (element.tail().empty() or element.tail().all(path.startsWith(%resource.differential.element.first().path.replaceMatches('\\..*','')&'.')))
|
| sdf-8b | error | StructureDefinition.snapshot | All snapshot elements must have a base definition |
element.all(base.exists())
|
| sdf-9 | error | StructureDefinition |
In any snapshot or differential, no label, code or requirements on an element without a "." in the path (e.g. the first element) Requirements: Because these 3 fields seem to be have overlapping meaning with the ones in the root of StructureDefinition |
children().element.where(path.contains('.').not()).label.empty() and children().element.where(path.contains('.').not()).code.empty() and children().element.where(path.contains('.').not()).requirements.empty()
|
| txt-1 | error | StructureDefinition.text.div | The narrative SHALL contain only the basic html formatting elements and attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes |
htmlChecks()
|
| txt-2 | error | StructureDefinition.text.div | The narrative SHALL have some non-whitespace content |
htmlChecks()
|
This structure is derived from StructureDefinition
Summary
Extensions
This structure refers to these extensions:
Maturity: 0
Other representations of profile: CSV, Excel, Schematron