Extensions for Using Data Elements from FHIR R5 in FHIR STU3 - Downloaded Version null See the Directory of published versions
| Official URL: http://hl7.org/fhir/5.0/StructureDefinition/profile-StructureDefinition | Version: 0.1.0 | |||
| Standards status: Trial-use | Maturity Level: 0 | Computable Name: Profile_R5_StructureDefinition_R3 | ||
This cross-version profile allows R5 StructureDefinition content to be represented via FHIR STU3 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 | Structural Definition Constraints: sdf-9, sdf-19, sdf-16, sdf-18, sdf-17, sdf-11, sdf-14, sdf-1, sdf-7, sdf-6, sdf-5, sdf-4 |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
0..1 | ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm]] | R5: How to compare versions (new) URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm | |
![]() ![]() ![]() |
0..1 | ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel]] | R5: Copyright holder and year(s) (new) URL: http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel | |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
Σ | 1..1 | uri | Logical URI to reference this structure definition (globally unique) |
![]() ![]() |
Σ | 1..1 | string | Name for this structure definition (computer friendly) |
![]() ![]() |
?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of a Value Set or Concept Map. |
![]() ![]() |
?!Σ | 0..1 | boolean | For testing purposes, not real usage |
![]() ![]() |
Σ | 1..1 | code | primitive-type | complex-type | resource | logical Binding: StructureDefinitionKind (required): Defines the type of structure that a definition is describing. |
![]() ![]() |
Σ | 1..1 | boolean | Whether the structure is abstract |
![]() ![]() |
ΣC | 1..1 | code | Type defined or constrained by this structure Binding: FHIRDefinedType (extensible): Either a resource or a data type, including logical model types |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| StructureDefinition.status | Base | required | PublicationStatus | 📍3.0.2 | FHIR Std. |
| StructureDefinition.kind | Base | required | StructureDefinitionKind | 📍3.0.2 | FHIR Std. |
| StructureDefinition.type | Base | extensible | FHIRDefinedType | 📍3.0.2 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-1 | error | StructureDefinition | If the resource is contained in another resource, it SHALL NOT contain any narrative |
contained.text.empty()
|
| dom-2 | error | StructureDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | StructureDefinition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource |
contained.where(('#'+id in %resource.descendants().reference).not()).empty()
|
| dom-4 | error | StructureDefinition | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| sdf-1 | error | StructureDefinition | Element paths must be unique unless the structure is a constraint |
derivation = 'constraint' or snapshot.element.select(path).isDistinct()
|
| 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() and contextType.exists())
|
| sdf-6 | error | StructureDefinition | A structure must have either a differential, or a snapshot (or both) |
snapshot.exists() or differential.exists()
|
| sdf-7 | error | StructureDefinition | If the structure describes a base Resource or Type, the URL has to start with "http://hl7.org/fhir/StructureDefinition/" and the tail must match the id |
(derivation = 'constraint') or (kind = 'logical') or (url = 'http://hl7.org/fhir/StructureDefinition/'+id)
|
| sdf-9 | error | StructureDefinition |
In any snapshot or differential, no label, code or requirements on the 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-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 |
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-16 | error | StructureDefinition |
All element definitions must have unique ids (snapshot) Requirements: element ids need to be unique |
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.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 |
Custom types can only be used in logical models Requirements: custom types only in logical models |
kind = 'logical' or (differential.element.type.code.all(hasValue() implies matches('^[a-zA-Z0-9]+$')) and snapshot.element.type.code.all(hasValue() implies matches('^[a-zA-Z0-9]+$')))
|
This structure is derived from StructureDefinition
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | StructureDefinition | Structural Definition | |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
0..1 | ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm]] | R5: How to compare versions (new) URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm | |
![]() ![]() ![]() |
0..1 | ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel]] | R5: Copyright holder and year(s) (new) URL: http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel | |
![]() ![]() |
||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
0..* | (Complex) | R5: Contact details for the publisher additional types URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-StructureDefinition.contact | |
![]() ![]() |
||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
0..1 | code | R5: fhirVersion additional types URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-StructureDefinition.fhirVersion Binding: R5FHIRVersionForR3 (0.1.0) (required): All published FHIR Versions. | |
![]() ![]() |
||||
![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
1..1 | code | R5: fhirpath | element | extension (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-StructureDefinition.context.type Binding: R5ExtensionContextTypeForR3 (0.1.0) (required): How an extension context is interpreted. | |
Documentation for this format | ||||
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | StructureDefinition | Structural Definition Constraints: sdf-9, sdf-19, sdf-16, sdf-18, sdf-17, sdf-11, sdf-14, sdf-1, sdf-7, sdf-6, sdf-5, sdf-4 | ||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: Common Languages (extensible): 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..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
0..1 | ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm]] | R5: How to compare versions (new) URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm | |||||
![]() ![]() ![]() |
0..1 | ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel]] | R5: Copyright holder and year(s) (new) URL: http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 1..1 | uri | Logical URI to reference this structure definition (globally unique) | ||||
![]() ![]() |
Σ | 0..* | Identifier | Additional identifier for the structure definition | ||||
![]() ![]() |
Σ | 0..1 | string | Business version of the structure definition | ||||
![]() ![]() |
Σ | 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 a Value Set or Concept Map. | ||||
![]() ![]() |
?!Σ | 0..1 | boolean | For testing purposes, not real usage | ||||
![]() ![]() |
Σ | 0..1 | dateTime | Date this was last changed | ||||
![]() ![]() |
Σ | 0..1 | string | Name of the publisher (organization or individual) | ||||
![]() ![]() |
Σ | 0..* | ContactDetail | Contact details for the publisher | ||||
![]() ![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
0..* | (Complex) | R5: Contact details for the publisher additional types URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-StructureDefinition.contact | |||||
![]() ![]() ![]() |
Σ | 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 | Context the content is intended to support | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Intended jurisdiction for structure definition (if applicable) Binding: Jurisdiction ValueSet (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..* | Coding | Assist with indexing and finding Binding: Structure Definition Codes (example): Codes for the meaning of the defined structure (SNOMED CT and LOINC codes, as an example). | ||||
![]() ![]() |
Σ | 0..1 | id | FHIR Version this StructureDefinition targets | ||||
![]() ![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
0..1 | code | R5: fhirVersion additional types URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-StructureDefinition.fhirVersion Binding: R5FHIRVersionForR3 (0.1.0) (required): All published FHIR Versions. | |||||
![]() ![]() ![]() |
0..1 | string | Primitive value for id | |||||
![]() ![]() |
C | 0..* | BackboneElement | External specification that the content is mapped to Constraints: sdf-2 | ||||
![]() ![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |||||
![]() ![]() ![]() |
0..* | Extension | Additional Content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() ![]() |
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. | |||||
![]() ![]() |
Σ | 1..1 | code | primitive-type | complex-type | resource | logical Binding: StructureDefinitionKind (required): Defines the type of structure that a definition is describing. | ||||
![]() ![]() |
Σ | 1..1 | boolean | Whether the structure is abstract | ||||
![]() ![]() |
ΣC | 0..1 | code | resource | datatype | extension Binding: ExtensionContext (required): How an extension context is interpreted. | ||||
![]() ![]() |
ΣC | 0..* | string | Where the extension can be used in instances | ||||
![]() ![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |||||
![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
1..1 | code | R5: fhirpath | element | extension (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-StructureDefinition.context.type Binding: R5ExtensionContextTypeForR3 (0.1.0) (required): How an extension context is interpreted. | |||||
![]() ![]() ![]() |
0..1 | string | Primitive value for string Max Length:1048576 | |||||
![]() ![]() |
ΣC | 0..* | string | FHIRPath invariants - when the extension can be used | ||||
![]() ![]() |
ΣC | 1..1 | code | Type defined or constrained by this structure Binding: FHIRDefinedType (extensible): Either a resource or a data type, including logical model types | ||||
![]() ![]() |
ΣC | 0..1 | uri | Definition that this type is constrained/specialized from | ||||
![]() ![]() |
Σ | 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-15, sdf-8, sdf-3 | ||||
![]() ![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |||||
![]() ![]() ![]() |
0..* | Extension | Additional Content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() ![]() |
C | 1..* | ElementDefinition | Definition of elements in the resource (if no StructureDefinition) | ||||
![]() ![]() |
C | 0..1 | BackboneElement | Differential view of the structure Constraints: sdf-15a, sdf-20, sdf-8a | ||||
![]() ![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |||||
![]() ![]() ![]() |
0..* | Extension | Additional Content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() ![]() |
1..* | ElementDefinition | Definition of elements in the resource (if no StructureDefinition) | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| StructureDefinition.language | Base | extensible |
Common Languages
|
📍3.0.2 | tx.fhir.org |
| StructureDefinition.status | Base | required | PublicationStatus | 📍3.0.2 | FHIR Std. |
| StructureDefinition.jurisdiction | Base | extensible | Jurisdiction ValueSet | 📍3.0.2 | FHIR Std. |
| StructureDefinition.keyword | Base | example | Structure Definition Codes | 📍3.0.2 | FHIR Std. |
| StructureDefinition.kind | Base | required | StructureDefinitionKind | 📍3.0.2 | FHIR Std. |
| StructureDefinition.contextType | Base | required | ExtensionContext | 📍3.0.2 | FHIR Std. |
| StructureDefinition.type | Base | extensible | FHIRDefinedType | 📍3.0.2 | FHIR Std. |
| StructureDefinition.derivation | Base | required | TypeDerivationRule | 📍3.0.2 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-1 | error | StructureDefinition | If the resource is contained in another resource, it SHALL NOT contain any narrative |
contained.text.empty()
|
| dom-2 | error | StructureDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | StructureDefinition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource |
contained.where(('#'+id in %resource.descendants().reference).not()).empty()
|
| dom-4 | error | StructureDefinition | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() | (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | 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.differential |
If the first element in a differential has no "." in the path, it has no type Requirements: No Type on the root element (differential) |
element.first().path.contains('.').not() implies 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 |
element.all(definition and min and max)
|
| 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() and contextType.exists())
|
| sdf-6 | error | StructureDefinition | A structure must have either a differential, or a snapshot (or both) |
snapshot.exists() or differential.exists()
|
| sdf-7 | error | StructureDefinition | If the structure describes a base Resource or Type, the URL has to start with "http://hl7.org/fhir/StructureDefinition/" and the tail must match the id |
(derivation = 'constraint') or (kind = 'logical') or (url = 'http://hl7.org/fhir/StructureDefinition/'+id)
|
| sdf-8 | error | StructureDefinition.snapshot | In any snapshot, all the elements must be in the specified type |
(%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 the 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-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 |
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.snapshot |
The first element in a snapshot has no type 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.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.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 |
Custom types can only be used in logical models Requirements: custom types only in logical models |
kind = 'logical' or (differential.element.type.code.all(hasValue() implies matches('^[a-zA-Z0-9]+$')) and snapshot.element.type.code.all(hasValue() implies matches('^[a-zA-Z0-9]+$')))
|
| sdf-20 | error | StructureDefinition.differential |
No slicing on the root element Requirements: no slicing on root |
element.where(path.contains('.').not()).slicing.empty()
|
| sdf-8a | error | StructureDefinition.differential | In any differential, all the elements must be in the specified type |
element.first().path.startsWith(%resource.type) and element.tail().all(path.startsWith(%resource.type&'.'))
|
This structure is derived from StructureDefinition
Summary
Mandatory: 0 element(2 nested mandatory elements)
Extensions
This structure refers to these extensions:
Maturity: 0
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | StructureDefinition | Structural Definition Constraints: sdf-9, sdf-19, sdf-16, sdf-18, sdf-17, sdf-11, sdf-14, sdf-1, sdf-7, sdf-6, sdf-5, sdf-4 |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
0..1 | ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm]] | R5: How to compare versions (new) URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm | |
![]() ![]() ![]() |
0..1 | ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel]] | R5: Copyright holder and year(s) (new) URL: http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel | |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
Σ | 1..1 | uri | Logical URI to reference this structure definition (globally unique) |
![]() ![]() |
Σ | 1..1 | string | Name for this structure definition (computer friendly) |
![]() ![]() |
?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of a Value Set or Concept Map. |
![]() ![]() |
?!Σ | 0..1 | boolean | For testing purposes, not real usage |
![]() ![]() |
Σ | 1..1 | code | primitive-type | complex-type | resource | logical Binding: StructureDefinitionKind (required): Defines the type of structure that a definition is describing. |
![]() ![]() |
Σ | 1..1 | boolean | Whether the structure is abstract |
![]() ![]() |
ΣC | 1..1 | code | Type defined or constrained by this structure Binding: FHIRDefinedType (extensible): Either a resource or a data type, including logical model types |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| StructureDefinition.status | Base | required | PublicationStatus | 📍3.0.2 | FHIR Std. |
| StructureDefinition.kind | Base | required | StructureDefinitionKind | 📍3.0.2 | FHIR Std. |
| StructureDefinition.type | Base | extensible | FHIRDefinedType | 📍3.0.2 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-1 | error | StructureDefinition | If the resource is contained in another resource, it SHALL NOT contain any narrative |
contained.text.empty()
|
| dom-2 | error | StructureDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | StructureDefinition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource |
contained.where(('#'+id in %resource.descendants().reference).not()).empty()
|
| dom-4 | error | StructureDefinition | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| sdf-1 | error | StructureDefinition | Element paths must be unique unless the structure is a constraint |
derivation = 'constraint' or snapshot.element.select(path).isDistinct()
|
| 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() and contextType.exists())
|
| sdf-6 | error | StructureDefinition | A structure must have either a differential, or a snapshot (or both) |
snapshot.exists() or differential.exists()
|
| sdf-7 | error | StructureDefinition | If the structure describes a base Resource or Type, the URL has to start with "http://hl7.org/fhir/StructureDefinition/" and the tail must match the id |
(derivation = 'constraint') or (kind = 'logical') or (url = 'http://hl7.org/fhir/StructureDefinition/'+id)
|
| sdf-9 | error | StructureDefinition |
In any snapshot or differential, no label, code or requirements on the 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-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 |
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-16 | error | StructureDefinition |
All element definitions must have unique ids (snapshot) Requirements: element ids need to be unique |
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.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 |
Custom types can only be used in logical models Requirements: custom types only in logical models |
kind = 'logical' or (differential.element.type.code.all(hasValue() implies matches('^[a-zA-Z0-9]+$')) and snapshot.element.type.code.all(hasValue() implies matches('^[a-zA-Z0-9]+$')))
|
Differential View
This structure is derived from StructureDefinition
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | StructureDefinition | Structural Definition | |
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() |
0..1 | ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm]] | R5: How to compare versions (new) URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm | |
![]() ![]() ![]() |
0..1 | ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel]] | R5: Copyright holder and year(s) (new) URL: http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel | |
![]() ![]() |
||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
0..* | (Complex) | R5: Contact details for the publisher additional types URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-StructureDefinition.contact | |
![]() ![]() |
||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
0..1 | code | R5: fhirVersion additional types URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-StructureDefinition.fhirVersion Binding: R5FHIRVersionForR3 (0.1.0) (required): All published FHIR Versions. | |
![]() ![]() |
||||
![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
1..1 | code | R5: fhirpath | element | extension (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-StructureDefinition.context.type Binding: R5ExtensionContextTypeForR3 (0.1.0) (required): How an extension context is interpreted. | |
Documentation for this format | ||||
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | StructureDefinition | Structural Definition Constraints: sdf-9, sdf-19, sdf-16, sdf-18, sdf-17, sdf-11, sdf-14, sdf-1, sdf-7, sdf-6, sdf-5, sdf-4 | ||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: Common Languages (extensible): 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..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
0..1 | ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm]] | R5: How to compare versions (new) URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm | |||||
![]() ![]() ![]() |
0..1 | ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel]] | R5: Copyright holder and year(s) (new) URL: http://hl7.org/fhir/StructureDefinition/artifact-copyrightLabel | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 1..1 | uri | Logical URI to reference this structure definition (globally unique) | ||||
![]() ![]() |
Σ | 0..* | Identifier | Additional identifier for the structure definition | ||||
![]() ![]() |
Σ | 0..1 | string | Business version of the structure definition | ||||
![]() ![]() |
Σ | 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 a Value Set or Concept Map. | ||||
![]() ![]() |
?!Σ | 0..1 | boolean | For testing purposes, not real usage | ||||
![]() ![]() |
Σ | 0..1 | dateTime | Date this was last changed | ||||
![]() ![]() |
Σ | 0..1 | string | Name of the publisher (organization or individual) | ||||
![]() ![]() |
Σ | 0..* | ContactDetail | Contact details for the publisher | ||||
![]() ![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
0..* | (Complex) | R5: Contact details for the publisher additional types URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-StructureDefinition.contact | |||||
![]() ![]() ![]() |
Σ | 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 | Context the content is intended to support | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Intended jurisdiction for structure definition (if applicable) Binding: Jurisdiction ValueSet (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..* | Coding | Assist with indexing and finding Binding: Structure Definition Codes (example): Codes for the meaning of the defined structure (SNOMED CT and LOINC codes, as an example). | ||||
![]() ![]() |
Σ | 0..1 | id | FHIR Version this StructureDefinition targets | ||||
![]() ![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |||||
![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
0..1 | code | R5: fhirVersion additional types URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-StructureDefinition.fhirVersion Binding: R5FHIRVersionForR3 (0.1.0) (required): All published FHIR Versions. | |||||
![]() ![]() ![]() |
0..1 | string | Primitive value for id | |||||
![]() ![]() |
C | 0..* | BackboneElement | External specification that the content is mapped to Constraints: sdf-2 | ||||
![]() ![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |||||
![]() ![]() ![]() |
0..* | Extension | Additional Content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() ![]() |
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. | |||||
![]() ![]() |
Σ | 1..1 | code | primitive-type | complex-type | resource | logical Binding: StructureDefinitionKind (required): Defines the type of structure that a definition is describing. | ||||
![]() ![]() |
Σ | 1..1 | boolean | Whether the structure is abstract | ||||
![]() ![]() |
ΣC | 0..1 | code | resource | datatype | extension Binding: ExtensionContext (required): How an extension context is interpreted. | ||||
![]() ![]() |
ΣC | 0..* | string | Where the extension can be used in instances | ||||
![]() ![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |||||
![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
1..1 | code | R5: fhirpath | element | extension (new) URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-StructureDefinition.context.type Binding: R5ExtensionContextTypeForR3 (0.1.0) (required): How an extension context is interpreted. | |||||
![]() ![]() ![]() |
0..1 | string | Primitive value for string Max Length:1048576 | |||||
![]() ![]() |
ΣC | 0..* | string | FHIRPath invariants - when the extension can be used | ||||
![]() ![]() |
ΣC | 1..1 | code | Type defined or constrained by this structure Binding: FHIRDefinedType (extensible): Either a resource or a data type, including logical model types | ||||
![]() ![]() |
ΣC | 0..1 | uri | Definition that this type is constrained/specialized from | ||||
![]() ![]() |
Σ | 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-15, sdf-8, sdf-3 | ||||
![]() ![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |||||
![]() ![]() ![]() |
0..* | Extension | Additional Content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() ![]() |
C | 1..* | ElementDefinition | Definition of elements in the resource (if no StructureDefinition) | ||||
![]() ![]() |
C | 0..1 | BackboneElement | Differential view of the structure Constraints: sdf-15a, sdf-20, sdf-8a | ||||
![]() ![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |||||
![]() ![]() ![]() |
0..* | Extension | Additional Content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() ![]() |
1..* | ElementDefinition | Definition of elements in the resource (if no StructureDefinition) | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| StructureDefinition.language | Base | extensible |
Common Languages
|
📍3.0.2 | tx.fhir.org |
| StructureDefinition.status | Base | required | PublicationStatus | 📍3.0.2 | FHIR Std. |
| StructureDefinition.jurisdiction | Base | extensible | Jurisdiction ValueSet | 📍3.0.2 | FHIR Std. |
| StructureDefinition.keyword | Base | example | Structure Definition Codes | 📍3.0.2 | FHIR Std. |
| StructureDefinition.kind | Base | required | StructureDefinitionKind | 📍3.0.2 | FHIR Std. |
| StructureDefinition.contextType | Base | required | ExtensionContext | 📍3.0.2 | FHIR Std. |
| StructureDefinition.type | Base | extensible | FHIRDefinedType | 📍3.0.2 | FHIR Std. |
| StructureDefinition.derivation | Base | required | TypeDerivationRule | 📍3.0.2 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-1 | error | StructureDefinition | If the resource is contained in another resource, it SHALL NOT contain any narrative |
contained.text.empty()
|
| dom-2 | error | StructureDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | StructureDefinition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource |
contained.where(('#'+id in %resource.descendants().reference).not()).empty()
|
| dom-4 | error | StructureDefinition | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() | (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | 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.differential |
If the first element in a differential has no "." in the path, it has no type Requirements: No Type on the root element (differential) |
element.first().path.contains('.').not() implies 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 |
element.all(definition and min and max)
|
| 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() and contextType.exists())
|
| sdf-6 | error | StructureDefinition | A structure must have either a differential, or a snapshot (or both) |
snapshot.exists() or differential.exists()
|
| sdf-7 | error | StructureDefinition | If the structure describes a base Resource or Type, the URL has to start with "http://hl7.org/fhir/StructureDefinition/" and the tail must match the id |
(derivation = 'constraint') or (kind = 'logical') or (url = 'http://hl7.org/fhir/StructureDefinition/'+id)
|
| sdf-8 | error | StructureDefinition.snapshot | In any snapshot, all the elements must be in the specified type |
(%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 the 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-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 |
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.snapshot |
The first element in a snapshot has no type 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.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.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 |
Custom types can only be used in logical models Requirements: custom types only in logical models |
kind = 'logical' or (differential.element.type.code.all(hasValue() implies matches('^[a-zA-Z0-9]+$')) and snapshot.element.type.code.all(hasValue() implies matches('^[a-zA-Z0-9]+$')))
|
| sdf-20 | error | StructureDefinition.differential |
No slicing on the root element Requirements: no slicing on root |
element.where(path.contains('.').not()).slicing.empty()
|
| sdf-8a | error | StructureDefinition.differential | In any differential, all the elements must be in the specified type |
element.first().path.startsWith(%resource.type) and element.tail().all(path.startsWith(%resource.type&'.'))
|
This structure is derived from StructureDefinition
Summary
Mandatory: 0 element(2 nested mandatory elements)
Extensions
This structure refers to these extensions:
Maturity: 0
Other representations of profile: CSV, Excel, Schematron