SMART Base
0.1.0 - ci-build
SMART Base, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-base/tree/main and changes regularly. See the Directory of published versions
Official URL: http://smart.who.int/base/StructureDefinition/SGLogicalModel | Version: 0.1.0 | |||
Draft as of 2025-01-30 | Computable Name: SGLogicalModel |
Defines the minimum expectations for Logical Models used in SMART Guidelines
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | StructureDefinition | Structural Definition dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated dom-5: If a resource is contained in another resource, it SHALL NOT have a security label dom-6: A resource should have narrative for robust management sdf-0: Name should be usable as an identifier for the module by machine processing applications such as code generation sdf-1: Element paths must be unique unless the structure is a constraint sdf-15a: If the first element in a differential has no "." in the path and it's not a logical model, it has no type sdf-4: If the structure is not abstract, then there SHALL be a baseDefinition sdf-5: If the structure defines an extension then the structure must have context information sdf-6: A structure must have either a differential, or a snapshot (or both) sdf-9: In any snapshot or differential, no label, code or requirements on an element without a "." in the path (e.g. the first element) sdf-11: If there's a type, its content must match the path name in the first element of a snapshot sdf-14: All element definitions must have an id sdf-15: The first element in a snapshot has no type unless model is a logical model. sdf-16: All element definitions must have unique ids (snapshot) sdf-17: All element definitions must have unique ids (diff) sdf-18: Context Invariants can only be used for extensions sdf-19: FHIR Specification models only use FHIR defined types sdf-21: Default values can only be specified on specializations sdf-22: FHIR Specification models never have default values sdf-23: No slice name on root |
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
![]() ![]() ![]() |
Σ | 1..1 | uri | Canonical identifier for this structure definition, represented as a URI (globally unique) ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
ΣC | 1..1 | string | Name for this structure definition (computer friendly) ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
Σ | 1..1 | string | Name for this structure definition (human friendly) ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
Σ | 1..1 | string | Name of the publisher (organization or individual) ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
1..1 | markdown | Natural language description of the structure definition ele-1: All FHIR elements must have a @value or children | |
![]() ![]() ![]() |
Σ | 1..1 | code | primitive-type | complex-type | resource | logical Binding: StructureDefinitionKind (required): Defines the type of structure that a definition is describing. ele-1: All FHIR elements must have a @value or children Required Pattern: logical |
![]() ![]() ![]() |
Σ | 1..1 | boolean | Whether the structure is abstract ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
ΣC | 1..1 | uri | Type defined or constrained by this structure Binding: FHIRDefinedType (extensible): Either a resource or a data type, including logical model types. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
C | 0..1 | BackboneElement | Differential view of the structure ele-1: All FHIR elements must have a @value or children sdf-20: No slicing on the root element sdf-8a: 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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
![]() ![]() ![]() ![]() |
1..* | ElementDefinition | Definition of elements in the resource (if no StructureDefinition) ele-1: All FHIR elements must have a @value or children | |
![]() ![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Path of the element in the hierarchy of elements ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..* | Coding | Corresponding codes in terminologies Slice: Unordered, Open by pattern:system Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 1..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system ele-1: All FHIR elements must have a @value or children Required Pattern: http://who.smart.codes/smart |
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system ele-1: All FHIR elements must have a @value or children Required Pattern: http://who.smart.codes/loinc |
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system ele-1: All FHIR elements must have a @value or children Required Pattern: http://who.smart.codes/snomed |
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system ele-1: All FHIR elements must have a @value or children Required Pattern: http://who.smart.codes/icd-10 |
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system ele-1: All FHIR elements must have a @value or children Required Pattern: http://who.smart.codes/icd-11 |
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system ele-1: All FHIR elements must have a @value or children Required Pattern: http://who.smart.codes/icf |
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system ele-1: All FHIR elements must have a @value or children Required Pattern: http://who.smart.codes/ichi |
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system ele-1: All FHIR elements must have a @value or children Required Pattern: http://who.smart.codes/smart-gps |
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system ele-1: All FHIR elements must have a @value or children Required Pattern: http://who.smart.codes/atc |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Concise definition for space-constrained presentation ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | markdown | Full formal definition as narrative text ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Maximum Cardinality (a number or *) eld-3: Max SHALL be a number or "*" ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() |
ΣC | 1..1 | Element | Data type and Profile for this element eld-4: Aggregation may only be specified if one of the allowed types for the element is a reference eld-17: targetProfile is only allowed if the type is Reference or canonical ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Data type or Resource (reference to definition) Binding: FHIRDefinedType (extensible): Either a resource or a data type, including logical model types. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | Value must be exactly this ele-1: All FHIR elements must have a @value or children | |
![]() ![]() ![]() ![]() ![]() ![]() |
base64Binary | |||
![]() ![]() ![]() ![]() ![]() ![]() |
boolean | |||
![]() ![]() ![]() ![]() ![]() ![]() |
canonical(Any) | |||
![]() ![]() ![]() ![]() ![]() ![]() |
code | |||
![]() ![]() ![]() ![]() ![]() ![]() |
date | |||
![]() ![]() ![]() ![]() ![]() ![]() |
dateTime | |||
![]() ![]() ![]() ![]() ![]() ![]() |
decimal | |||
![]() ![]() ![]() ![]() ![]() ![]() |
id | |||
![]() ![]() ![]() ![]() ![]() ![]() |
instant | |||
![]() ![]() ![]() ![]() ![]() ![]() |
integer | |||
![]() ![]() ![]() ![]() ![]() ![]() |
markdown | |||
![]() ![]() ![]() ![]() ![]() ![]() |
oid | |||
![]() ![]() ![]() ![]() ![]() ![]() |
positiveInt | |||
![]() ![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() ![]() ![]() |
time | |||
![]() ![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||
![]() ![]() ![]() ![]() ![]() ![]() |
uri | |||
![]() ![]() ![]() ![]() ![]() ![]() |
url | |||
![]() ![]() ![]() ![]() ![]() ![]() |
uuid | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Address | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Age | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Annotation | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Attachment | |||
![]() ![]() ![]() ![]() ![]() ![]() |
CodeableConcept | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Coding | |||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactPoint | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Count | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Distance | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Duration | |||
![]() ![]() ![]() ![]() ![]() ![]() |
HumanName | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Identifier | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Money | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Period | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Ratio | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Reference(Any) | |||
![]() ![]() ![]() ![]() ![]() ![]() |
SampledData | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Signature | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Timing | |||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactDetail | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Contributor | |||
![]() ![]() ![]() ![]() ![]() ![]() |
DataRequirement | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Expression | |||
![]() ![]() ![]() ![]() ![]() ![]() |
ParameterDefinition | |||
![]() ![]() ![]() ![]() ![]() ![]() |
RelatedArtifact | |||
![]() ![]() ![]() ![]() ![]() ![]() |
TriggerDefinition | |||
![]() ![]() ![]() ![]() ![]() ![]() |
UsageContext | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Dosage | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Meta | |||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | Value must have at least these property values ele-1: All FHIR elements must have a @value or children | |
![]() ![]() ![]() ![]() ![]() ![]() |
base64Binary | |||
![]() ![]() ![]() ![]() ![]() ![]() |
boolean | |||
![]() ![]() ![]() ![]() ![]() ![]() |
canonical(Any) | |||
![]() ![]() ![]() ![]() ![]() ![]() |
code | |||
![]() ![]() ![]() ![]() ![]() ![]() |
date | |||
![]() ![]() ![]() ![]() ![]() ![]() |
dateTime | |||
![]() ![]() ![]() ![]() ![]() ![]() |
decimal | |||
![]() ![]() ![]() ![]() ![]() ![]() |
id | |||
![]() ![]() ![]() ![]() ![]() ![]() |
instant | |||
![]() ![]() ![]() ![]() ![]() ![]() |
integer | |||
![]() ![]() ![]() ![]() ![]() ![]() |
markdown | |||
![]() ![]() ![]() ![]() ![]() ![]() |
oid | |||
![]() ![]() ![]() ![]() ![]() ![]() |
positiveInt | |||
![]() ![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() ![]() ![]() |
time | |||
![]() ![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||
![]() ![]() ![]() ![]() ![]() ![]() |
uri | |||
![]() ![]() ![]() ![]() ![]() ![]() |
url | |||
![]() ![]() ![]() ![]() ![]() ![]() |
uuid | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Address | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Age | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Annotation | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Attachment | |||
![]() ![]() ![]() ![]() ![]() ![]() |
CodeableConcept | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Coding | |||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactPoint | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Count | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Distance | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Duration | |||
![]() ![]() ![]() ![]() ![]() ![]() |
HumanName | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Identifier | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Money | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Period | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Ratio | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Reference(Any) | |||
![]() ![]() ![]() ![]() ![]() ![]() |
SampledData | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Signature | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Timing | |||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactDetail | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Contributor | |||
![]() ![]() ![]() ![]() ![]() ![]() |
DataRequirement | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Expression | |||
![]() ![]() ![]() ![]() ![]() ![]() |
ParameterDefinition | |||
![]() ![]() ![]() ![]() ![]() ![]() |
RelatedArtifact | |||
![]() ![]() ![]() ![]() ![]() ![]() |
TriggerDefinition | |||
![]() ![]() ![]() ![]() ![]() ![]() |
UsageContext | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Dosage | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Meta | |||
![]() |
Path | Conformance | ValueSet / Code | URI |
StructureDefinition.status | required | PublicationStatushttp://hl7.org/fhir/ValueSet/publication-status|4.0.1 from the FHIR Standard | |
StructureDefinition.kind | required | Pattern: logicalhttp://hl7.org/fhir/ValueSet/structure-definition-kind|4.0.1 from the FHIR Standard | |
StructureDefinition.type | extensible | FHIRDefinedTypehttp://hl7.org/fhir/ValueSet/defined-types from the FHIR Standard | |
StructureDefinition.differential.element.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
StructureDefinition.differential.element.code:smart | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
StructureDefinition.differential.element.code:loinc | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
StructureDefinition.differential.element.code:snomed | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
StructureDefinition.differential.element.code:icd-10 | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
StructureDefinition.differential.element.code:icd-11 | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
StructureDefinition.differential.element.code:icf | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
StructureDefinition.differential.element.code:ichi | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
StructureDefinition.differential.element.code:snomed-gps | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
StructureDefinition.differential.element.code:atc | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
StructureDefinition.differential.element.type.code | extensible | FHIRDefinedTypehttp://hl7.org/fhir/ValueSet/defined-types from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
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 or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).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() | |
dom-5 | error | StructureDefinition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | StructureDefinition | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | 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') | |
eld-17 | error | StructureDefinition.differential.element.type | targetProfile is only allowed if the type is Reference or canonical : (code='Reference' or code = 'canonical') or targetProfile.empty() | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
sdf-0 | warning | StructureDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation : name.matches('[A-Z]([A-Za-z0-9_]){0,254}') | |
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 : abstract = true or baseDefinition.exists() | Ensure that the base types are abstract |
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-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) : 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() | Because these 3 fields seem to be have overlapping meaning with the ones in the root of StructureDefinition |
sdf-11 | error | StructureDefinition | If there's a type, its content must match the path name in the first element of a snapshot : kind != 'logical' implies snapshot.empty() or snapshot.element.first().path = type | Ensure that the type is not inconsistent with the other information in the structure |
sdf-14 | error | StructureDefinition | All element definitions must have an id : snapshot.element.all(id.exists()) and differential.element.all(id.exists()) | elements have id |
sdf-15 | error | StructureDefinition | The first element in a snapshot has no type unless model is a logical model. : kind!='logical' implies snapshot.element.first().type.empty() | No Type on the root element (snapshot) |
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 : (kind!='logical' and differential.element.first().path.contains('.').not()) implies differential.element.first().type.empty() | No Type on the root element (differential) |
sdf-16 | error | StructureDefinition | All element definitions must have unique ids (snapshot) : snapshot.element.all(id.exists()) and snapshot.element.id.trace('ids').isDistinct() | element ids need to be unique |
sdf-17 | error | StructureDefinition | All element definitions must have unique ids (diff) : differential.element.all(id.exists()) and differential.element.id.trace('ids').isDistinct() | element ids need to be unique |
sdf-18 | error | StructureDefinition | Context Invariants can only be used for extensions : contextInvariant.exists() implies type = 'Extension' | contextInvariant |
sdf-19 | error | StructureDefinition | FHIR Specification models only use FHIR defined types : url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (differential.element.type.code.all(matches('^[a-zA-Z0-9]+$') or matches('^http:\\/\\/hl7\\.org\\/fhirpath\\/System\\.[A-Z][A-Za-z]+$')) and snapshot.element.type.code.all(matches('^[a-zA-Z0-9\\.]+$') or matches('^http:\\/\\/hl7\\.org\\/fhirpath\\/System\\.[A-Z][A-Za-z]+$'))) | custom types only in logical models |
sdf-20 | error | StructureDefinition.differential | No slicing on the root element : element.where(path.contains('.').not()).slicing.empty() | no slicing on root |
sdf-21 | error | StructureDefinition | Default values can only be specified on specializations : differential.element.defaultValue.exists() implies (derivation = 'specialization') | no default values on data types or resources |
sdf-22 | error | StructureDefinition | FHIR Specification models never have default values : url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (snapshot.element.defaultValue.empty() and differential.element.defaultValue.empty()) | no default values on data types or resources |
sdf-23 | error | StructureDefinition | No slice name on root : (snapshot | differential).element.all(path.contains('.').not() implies sliceName.empty()) | no sliceName on root |
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('\\..*','')&'.'))) |
This structure is derived from StructureDefinition
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() |
StructureDefinition | |||
![]() ![]() ![]() |
1..1 | string | Name for this structure definition (human friendly) | |
![]() ![]() ![]() |
1..1 | string | Name of the publisher (organization or individual) | |
![]() ![]() ![]() |
1..1 | markdown | Natural language description of the structure definition | |
![]() ![]() ![]() |
1..1 | code | primitive-type | complex-type | resource | logical Required Pattern: logical | |
![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Corresponding codes in terminologies Slice: Unordered, Open by pattern:system | |
![]() ![]() ![]() ![]() ![]() ![]() |
S | 1..1 | Coding | Corresponding codes in terminologies |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/smart | |
![]() ![]() ![]() ![]() ![]() ![]() |
S | 0..1 | Coding | Corresponding codes in terminologies |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/loinc | |
![]() ![]() ![]() ![]() ![]() ![]() |
S | 0..1 | Coding | Corresponding codes in terminologies |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/snomed | |
![]() ![]() ![]() ![]() ![]() ![]() |
S | 0..1 | Coding | Corresponding codes in terminologies |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/icd-10 | |
![]() ![]() ![]() ![]() ![]() ![]() |
S | 0..1 | Coding | Corresponding codes in terminologies |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/icd-11 | |
![]() ![]() ![]() ![]() ![]() ![]() |
S | 0..1 | Coding | Corresponding codes in terminologies |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/icf | |
![]() ![]() ![]() ![]() ![]() ![]() |
S | 0..1 | Coding | Corresponding codes in terminologies |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/ichi | |
![]() ![]() ![]() ![]() ![]() ![]() |
S | 0..1 | Coding | Corresponding codes in terminologies |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/smart-gps | |
![]() ![]() ![]() ![]() ![]() ![]() |
S | 0..1 | Coding | Corresponding codes in terminologies |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/atc | |
![]() ![]() ![]() ![]() ![]() |
1..1 | string | Concise definition for space-constrained presentation | |
![]() ![]() ![]() ![]() ![]() |
1..1 | markdown | Full formal definition as narrative text | |
![]() ![]() ![]() ![]() ![]() |
1..1 | Element | Data type and Profile for this element | |
![]() |
Name | Flags | Card. | Type | Description & Constraints![]() | ||||
---|---|---|---|---|---|---|---|---|
![]() ![]() |
C | 0..* | StructureDefinition | Structural Definition sdf-0: Name should be usable as an identifier for the module by machine processing applications such as code generation sdf-1: Element paths must be unique unless the structure is a constraint sdf-15a: If the first element in a differential has no "." in the path and it's not a logical model, it has no type sdf-4: If the structure is not abstract, then there SHALL be a baseDefinition sdf-5: If the structure defines an extension then the structure must have context information sdf-6: A structure must have either a differential, or a snapshot (or both) sdf-9: In any snapshot or differential, no label, code or requirements on an element without a "." in the path (e.g. the first element) sdf-11: If there's a type, its content must match the path name in the first element of a snapshot sdf-14: All element definitions must have an id sdf-15: The first element in a snapshot has no type unless model is a logical model. sdf-16: All element definitions must have unique ids (snapshot) sdf-17: All element definitions must have unique ids (diff) sdf-18: Context Invariants can only be used for extensions sdf-19: FHIR Specification models only use FHIR defined types sdf-21: Default values can only be specified on specializations sdf-22: FHIR Specification models never have default values sdf-23: No slice name on root | ||||
![]() ![]() ![]() |
Σ | 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: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
![]() ![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() ![]() |
Σ | 1..1 | uri | Canonical identifier for this structure definition, represented as a URI (globally unique) | ||||
![]() ![]() ![]() |
Σ | 0..* | Identifier | Additional identifier for the structure definition | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Business version of the structure definition | ||||
![]() ![]() ![]() |
ΣC | 1..1 | string | Name for this structure definition (computer friendly) | ||||
![]() ![]() ![]() |
Σ | 1..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 | ||||
![]() ![]() ![]() |
Σ | 1..1 | string | Name of the publisher (organization or individual) | ||||
![]() ![]() ![]() |
Σ | 0..* | ContactDetail | Contact details for the publisher | ||||
![]() ![]() ![]() |
1..1 | markdown | Natural language description of the structure definition | |||||
![]() ![]() ![]() |
Σ | 0..* | UsageContext | The context that 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: 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 sdf-2: Must have at least a name or a uri (or both) | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
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. Required Pattern: logical | ||||
![]() ![]() ![]() |
Σ | 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 | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 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: FHIRDefinedType (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 | ||||
![]() ![]() ![]() |
Σ | 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 sdf-3: Each element definition in a snapshot must have a formal definition and cardinalities sdf-8: All snapshot elements must start with the StructureDefinition's specified type for non-logical models, or with the same type name for logical models sdf-8b: All snapshot elements must have a base definition | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
C | 1..* | ElementDefinition | Definition of elements in the resource (if no StructureDefinition) sdf-10: provide either a binding reference or a description (or both) | ||||
![]() ![]() ![]() |
C | 0..1 | BackboneElement | Differential view of the structure sdf-20: No slicing on the root element sdf-8a: 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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
1..* | ElementDefinition | Definition of elements in the resource (if no StructureDefinition) | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 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. | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Name for this particular element (in a set of slices) | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 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 | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..* | Coding | Corresponding codes in terminologies Slice: Unordered, Open by pattern:system Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 1..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/smart | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/loinc | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/snomed | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/icd-10 | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/icd-11 | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/icf | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/ichi | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/smart-gps | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/atc | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | Element | This element is sliced - slices follow eld-1: If there are no discriminators, there must be a definition | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 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 | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | code | value | exists | pattern | type | profile Binding: DiscriminatorType (required): How an element value is interpreted when discrimination is evaluated. | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Path to element value | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Text description of how slicing works (or not) | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If elements must be in same order as slices | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | code | closed | open | openAtEnd Binding: SlicingRules (required): How slices are interpreted when evaluating an instance. | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Concise definition for space-constrained presentation | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..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 *) eld-3: Max SHALL be a number or "*" | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 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 | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 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 | 1..1 | Element | Data type and Profile for this element eld-4: Aggregation may only be specified if one of the allowed types for the element is a reference eld-17: targetProfile is only allowed if the type is Reference or canonical | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Data type or Resource (reference to definition) Binding: FHIRDefinedType (extensible): Either a resource or a data type, including logical model types. | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | canonical(StructureDefinition | ImplementationGuide) | Profiles (StructureDefinition or IG) - one must apply | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 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 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
markdown | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
oid | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
url | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
uuid | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Address | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Age | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Annotation | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Coding | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactPoint | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Count | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Distance | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Duration | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
HumanName | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Identifier | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Money | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Reference(Any) | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Signature | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Timing | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Contributor | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
DataRequirement | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Expression | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ParameterDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
RelatedArtifact | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
TriggerDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
UsageContext | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Dosage | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Meta | |||||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | markdown | Implicit meaning when this element is missing | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 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 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
markdown | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
oid | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
url | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
uuid | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Address | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Age | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Annotation | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Coding | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactPoint | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Count | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Distance | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Duration | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
HumanName | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Identifier | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Money | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Reference(Any) | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Signature | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Timing | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Contributor | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
DataRequirement | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Expression | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ParameterDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
RelatedArtifact | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
TriggerDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
UsageContext | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Dosage | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Meta | |||||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | Value must have at least these property values | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
base64Binary | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
canonical(Any) | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
code | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
id | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
instant | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
markdown | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
oid | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
url | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
uuid | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Address | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Age | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Annotation | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Coding | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactPoint | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Count | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Distance | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Duration | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
HumanName | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Identifier | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Money | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Reference(Any) | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Signature | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Timing | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Contributor | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
DataRequirement | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Expression | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ParameterDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
RelatedArtifact | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
TriggerDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
UsageContext | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Dosage | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Meta | |||||||
![]() ![]() ![]() ![]() ![]() |
Σ | 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 | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 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 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
markdown | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
oid | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
url | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
uuid | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Address | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Age | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Annotation | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Coding | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
ContactPoint | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Count | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Distance | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Duration | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
HumanName | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Identifier | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Money | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Reference(Any) | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Signature | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Timing | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
ContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Contributor | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
DataRequirement | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Expression | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
ParameterDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
RelatedArtifact | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
TriggerDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
UsageContext | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Dosage | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Meta | |||||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | Minimum Allowed Value (for some types) | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
instant | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | Maximum Allowed Value (for some types) | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
instant | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | integer | Max length for strings | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | id | Reference to invariant about presence | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..* | Element | Condition that must evaluate to true eld-21: Constraints should have an expression or else validators will not be able to enforce them | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
ΣC | 1..1 | id | Target of 'condition' reference above | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Why this constraint is necessary or appropriate | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | code | error | warning Binding: ConstraintSeverity (required): SHALL applications comply with this constraint? | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Human description of constraint | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | FHIRPath expression of constraint | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | XPath expression of constraint | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | canonical(StructureDefinition) | Reference to original source of constraint | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If the element must be supported | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this modifies the meaning of other elements | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 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 eld-12: ValueSet SHALL start with http:// or https:// or urn: | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | code | required | extensible | preferred | example Binding: BindingStrength (required): Indication of the degree of conformance expectations associated with a binding. | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Human explanation of the value set | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | canonical(ValueSet) | Source of value set | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 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 | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | id | Reference to mapping declaration | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Computable language of mapping Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed. | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Details of the mapping | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Comments about the mapping or its use | ||||
![]() |
Path | Conformance | ValueSet / Code | URI | |||
StructureDefinition.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languages from the FHIR Standard
| ||||
StructureDefinition.status | required | PublicationStatushttp://hl7.org/fhir/ValueSet/publication-status|4.0.1 from the FHIR Standard | ||||
StructureDefinition.jurisdiction | extensible | Jurisdiction ValueSethttp://hl7.org/fhir/ValueSet/jurisdiction from the FHIR Standard | ||||
StructureDefinition.keyword | extensible | DefinitionUseCodeshttp://hl7.org/fhir/ValueSet/definition-use from the FHIR Standard | ||||
StructureDefinition.fhirVersion | required | FHIRVersionhttp://hl7.org/fhir/ValueSet/FHIR-version|4.0.1 from the FHIR Standard | ||||
StructureDefinition.kind | required | Pattern: logicalhttp://hl7.org/fhir/ValueSet/structure-definition-kind|4.0.1 from the FHIR Standard | ||||
StructureDefinition.context.type | required | ExtensionContextTypehttp://hl7.org/fhir/ValueSet/extension-context-type|4.0.1 from the FHIR Standard | ||||
StructureDefinition.type | extensible | FHIRDefinedTypehttp://hl7.org/fhir/ValueSet/defined-types from the FHIR Standard | ||||
StructureDefinition.derivation | required | TypeDerivationRulehttp://hl7.org/fhir/ValueSet/type-derivation-rule|4.0.1 from the FHIR Standard | ||||
StructureDefinition.differential.element.representation | required | PropertyRepresentationhttp://hl7.org/fhir/ValueSet/property-representation|4.0.1 from the FHIR Standard | ||||
StructureDefinition.differential.element.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
StructureDefinition.differential.element.code:smart | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
StructureDefinition.differential.element.code:loinc | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
StructureDefinition.differential.element.code:snomed | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
StructureDefinition.differential.element.code:icd-10 | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
StructureDefinition.differential.element.code:icd-11 | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
StructureDefinition.differential.element.code:icf | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
StructureDefinition.differential.element.code:ichi | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
StructureDefinition.differential.element.code:snomed-gps | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
StructureDefinition.differential.element.code:atc | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
StructureDefinition.differential.element.slicing.discriminator.type | required | DiscriminatorTypehttp://hl7.org/fhir/ValueSet/discriminator-type|4.0.1 from the FHIR Standard | ||||
StructureDefinition.differential.element.slicing.rules | required | SlicingRuleshttp://hl7.org/fhir/ValueSet/resource-slicing-rules|4.0.1 from the FHIR Standard | ||||
StructureDefinition.differential.element.type.code | extensible | FHIRDefinedTypehttp://hl7.org/fhir/ValueSet/defined-types from the FHIR Standard | ||||
StructureDefinition.differential.element.type.aggregation | required | AggregationModehttp://hl7.org/fhir/ValueSet/resource-aggregation-mode|4.0.1 from the FHIR Standard | ||||
StructureDefinition.differential.element.type.versioning | required | ReferenceVersionRuleshttp://hl7.org/fhir/ValueSet/reference-version-rules|4.0.1 from the FHIR Standard | ||||
StructureDefinition.differential.element.constraint.severity | required | ConstraintSeverityhttp://hl7.org/fhir/ValueSet/constraint-severity|4.0.1 from the FHIR Standard | ||||
StructureDefinition.differential.element.binding.strength | required | BindingStrengthhttp://hl7.org/fhir/ValueSet/binding-strength|4.0.1 from the FHIR Standard | ||||
StructureDefinition.differential.element.mapping.language | required | Mime Types (a valid code from urn:ietf:bcp:13 )http://hl7.org/fhir/ValueSet/mimetypes|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
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 or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).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() | |
dom-5 | error | StructureDefinition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | StructureDefinition | A resource should have narrative for robust management : text.`div`.exists() | |
eld-1 | error | StructureDefinition.differential.element.slicing | If there are no discriminators, there must be a definition : discriminator.exists() or description.exists() | |
ele-1 | error | **ALL** elements | 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') | |
eld-12 | error | StructureDefinition.differential.element.binding | ValueSet SHALL start with http:// or https:// or urn: : valueSet.exists() implies (valueSet.startsWith('http:') or valueSet.startsWith('https') or valueSet.startsWith('urn:')) | |
eld-17 | error | StructureDefinition.differential.element.type | targetProfile is only allowed if the type is Reference or canonical : (code='Reference' or code = 'canonical') 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() | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
sdf-0 | warning | StructureDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation : name.matches('[A-Z]([A-Za-z0-9_]){0,254}') | |
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 : (kind!='logical' and differential.element.first().path.contains('.').not()) implies differential.element.first().type.empty() | No Type on the root element (differential) |
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.exists() and min.exists() and max.exists()) | |
sdf-4 | error | StructureDefinition | If the structure is not abstract, then there SHALL be a baseDefinition : abstract = true or baseDefinition.exists() | Ensure that the base types are abstract |
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) : binding.empty() or binding.valueSet.exists() or binding.description.exists() | binding is required |
sdf-11 | error | StructureDefinition | If there's a type, its content must match the path name in the first element of a snapshot : kind != 'logical' implies snapshot.empty() or snapshot.element.first().path = type | Ensure that the type is not inconsistent with the other information in the structure |
sdf-14 | error | StructureDefinition | All element definitions must have an id : snapshot.element.all(id.exists()) and differential.element.all(id.exists()) | elements have id |
sdf-15 | error | StructureDefinition | The first element in a snapshot has no type unless model is a logical model. : kind!='logical' implies snapshot.element.first().type.empty() | No Type on the root element (snapshot) |
sdf-16 | error | StructureDefinition | All element definitions must have unique ids (snapshot) : snapshot.element.all(id.exists()) and snapshot.element.id.trace('ids').isDistinct() | element ids need to be unique |
sdf-17 | error | StructureDefinition | All element definitions must have unique ids (diff) : differential.element.all(id.exists()) and differential.element.id.trace('ids').isDistinct() | element ids need to be unique |
sdf-18 | error | StructureDefinition | Context Invariants can only be used for extensions : contextInvariant.exists() implies type = 'Extension' | contextInvariant |
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-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) : 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() | Because these 3 fields seem to be have overlapping meaning with the ones in the root of StructureDefinition |
sdf-19 | error | StructureDefinition | FHIR Specification models only use FHIR defined types : url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (differential.element.type.code.all(matches('^[a-zA-Z0-9]+$') or matches('^http:\\/\\/hl7\\.org\\/fhirpath\\/System\\.[A-Z][A-Za-z]+$')) and snapshot.element.type.code.all(matches('^[a-zA-Z0-9\\.]+$') or matches('^http:\\/\\/hl7\\.org\\/fhirpath\\/System\\.[A-Z][A-Za-z]+$'))) | custom types only in logical models |
sdf-20 | error | StructureDefinition.differential | No slicing on the root element : element.where(path.contains('.').not()).slicing.empty() | no slicing on root |
sdf-21 | error | StructureDefinition | Default values can only be specified on specializations : differential.element.defaultValue.exists() implies (derivation = 'specialization') | no default values on data types or resources |
sdf-22 | error | StructureDefinition | FHIR Specification models never have default values : url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (snapshot.element.defaultValue.empty() and differential.element.defaultValue.empty()) | no default values on data types or resources |
sdf-23 | error | StructureDefinition | No slice name on root : (snapshot | differential).element.all(path.contains('.').not() implies sliceName.empty()) | no sliceName on root |
sdf-8b | error | StructureDefinition.snapshot | All snapshot elements must have a base definition : element.all(base.exists()) |
This structure is derived from StructureDefinition
Summary
Mandatory: 3 elements(14 nested mandatory elements)
Must-Support: 9 elements
Slices
This structure defines the following Slices:
Key Elements View
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | StructureDefinition | Structural Definition dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated dom-5: If a resource is contained in another resource, it SHALL NOT have a security label dom-6: A resource should have narrative for robust management sdf-0: Name should be usable as an identifier for the module by machine processing applications such as code generation sdf-1: Element paths must be unique unless the structure is a constraint sdf-15a: If the first element in a differential has no "." in the path and it's not a logical model, it has no type sdf-4: If the structure is not abstract, then there SHALL be a baseDefinition sdf-5: If the structure defines an extension then the structure must have context information sdf-6: A structure must have either a differential, or a snapshot (or both) sdf-9: In any snapshot or differential, no label, code or requirements on an element without a "." in the path (e.g. the first element) sdf-11: If there's a type, its content must match the path name in the first element of a snapshot sdf-14: All element definitions must have an id sdf-15: The first element in a snapshot has no type unless model is a logical model. sdf-16: All element definitions must have unique ids (snapshot) sdf-17: All element definitions must have unique ids (diff) sdf-18: Context Invariants can only be used for extensions sdf-19: FHIR Specification models only use FHIR defined types sdf-21: Default values can only be specified on specializations sdf-22: FHIR Specification models never have default values sdf-23: No slice name on root |
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
![]() ![]() ![]() |
Σ | 1..1 | uri | Canonical identifier for this structure definition, represented as a URI (globally unique) ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
ΣC | 1..1 | string | Name for this structure definition (computer friendly) ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
Σ | 1..1 | string | Name for this structure definition (human friendly) ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
Σ | 1..1 | string | Name of the publisher (organization or individual) ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
1..1 | markdown | Natural language description of the structure definition ele-1: All FHIR elements must have a @value or children | |
![]() ![]() ![]() |
Σ | 1..1 | code | primitive-type | complex-type | resource | logical Binding: StructureDefinitionKind (required): Defines the type of structure that a definition is describing. ele-1: All FHIR elements must have a @value or children Required Pattern: logical |
![]() ![]() ![]() |
Σ | 1..1 | boolean | Whether the structure is abstract ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
ΣC | 1..1 | uri | Type defined or constrained by this structure Binding: FHIRDefinedType (extensible): Either a resource or a data type, including logical model types. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
C | 0..1 | BackboneElement | Differential view of the structure ele-1: All FHIR elements must have a @value or children sdf-20: No slicing on the root element sdf-8a: 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 |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
![]() ![]() ![]() ![]() |
1..* | ElementDefinition | Definition of elements in the resource (if no StructureDefinition) ele-1: All FHIR elements must have a @value or children | |
![]() ![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Path of the element in the hierarchy of elements ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..* | Coding | Corresponding codes in terminologies Slice: Unordered, Open by pattern:system Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 1..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system ele-1: All FHIR elements must have a @value or children Required Pattern: http://who.smart.codes/smart |
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system ele-1: All FHIR elements must have a @value or children Required Pattern: http://who.smart.codes/loinc |
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system ele-1: All FHIR elements must have a @value or children Required Pattern: http://who.smart.codes/snomed |
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system ele-1: All FHIR elements must have a @value or children Required Pattern: http://who.smart.codes/icd-10 |
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system ele-1: All FHIR elements must have a @value or children Required Pattern: http://who.smart.codes/icd-11 |
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system ele-1: All FHIR elements must have a @value or children Required Pattern: http://who.smart.codes/icf |
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system ele-1: All FHIR elements must have a @value or children Required Pattern: http://who.smart.codes/ichi |
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system ele-1: All FHIR elements must have a @value or children Required Pattern: http://who.smart.codes/smart-gps |
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system ele-1: All FHIR elements must have a @value or children Required Pattern: http://who.smart.codes/atc |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Concise definition for space-constrained presentation ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | markdown | Full formal definition as narrative text ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Maximum Cardinality (a number or *) eld-3: Max SHALL be a number or "*" ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() |
ΣC | 1..1 | Element | Data type and Profile for this element eld-4: Aggregation may only be specified if one of the allowed types for the element is a reference eld-17: targetProfile is only allowed if the type is Reference or canonical ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Data type or Resource (reference to definition) Binding: FHIRDefinedType (extensible): Either a resource or a data type, including logical model types. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | Value must be exactly this ele-1: All FHIR elements must have a @value or children | |
![]() ![]() ![]() ![]() ![]() ![]() |
base64Binary | |||
![]() ![]() ![]() ![]() ![]() ![]() |
boolean | |||
![]() ![]() ![]() ![]() ![]() ![]() |
canonical(Any) | |||
![]() ![]() ![]() ![]() ![]() ![]() |
code | |||
![]() ![]() ![]() ![]() ![]() ![]() |
date | |||
![]() ![]() ![]() ![]() ![]() ![]() |
dateTime | |||
![]() ![]() ![]() ![]() ![]() ![]() |
decimal | |||
![]() ![]() ![]() ![]() ![]() ![]() |
id | |||
![]() ![]() ![]() ![]() ![]() ![]() |
instant | |||
![]() ![]() ![]() ![]() ![]() ![]() |
integer | |||
![]() ![]() ![]() ![]() ![]() ![]() |
markdown | |||
![]() ![]() ![]() ![]() ![]() ![]() |
oid | |||
![]() ![]() ![]() ![]() ![]() ![]() |
positiveInt | |||
![]() ![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() ![]() ![]() |
time | |||
![]() ![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||
![]() ![]() ![]() ![]() ![]() ![]() |
uri | |||
![]() ![]() ![]() ![]() ![]() ![]() |
url | |||
![]() ![]() ![]() ![]() ![]() ![]() |
uuid | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Address | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Age | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Annotation | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Attachment | |||
![]() ![]() ![]() ![]() ![]() ![]() |
CodeableConcept | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Coding | |||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactPoint | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Count | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Distance | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Duration | |||
![]() ![]() ![]() ![]() ![]() ![]() |
HumanName | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Identifier | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Money | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Period | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Ratio | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Reference(Any) | |||
![]() ![]() ![]() ![]() ![]() ![]() |
SampledData | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Signature | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Timing | |||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactDetail | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Contributor | |||
![]() ![]() ![]() ![]() ![]() ![]() |
DataRequirement | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Expression | |||
![]() ![]() ![]() ![]() ![]() ![]() |
ParameterDefinition | |||
![]() ![]() ![]() ![]() ![]() ![]() |
RelatedArtifact | |||
![]() ![]() ![]() ![]() ![]() ![]() |
TriggerDefinition | |||
![]() ![]() ![]() ![]() ![]() ![]() |
UsageContext | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Dosage | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Meta | |||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | Value must have at least these property values ele-1: All FHIR elements must have a @value or children | |
![]() ![]() ![]() ![]() ![]() ![]() |
base64Binary | |||
![]() ![]() ![]() ![]() ![]() ![]() |
boolean | |||
![]() ![]() ![]() ![]() ![]() ![]() |
canonical(Any) | |||
![]() ![]() ![]() ![]() ![]() ![]() |
code | |||
![]() ![]() ![]() ![]() ![]() ![]() |
date | |||
![]() ![]() ![]() ![]() ![]() ![]() |
dateTime | |||
![]() ![]() ![]() ![]() ![]() ![]() |
decimal | |||
![]() ![]() ![]() ![]() ![]() ![]() |
id | |||
![]() ![]() ![]() ![]() ![]() ![]() |
instant | |||
![]() ![]() ![]() ![]() ![]() ![]() |
integer | |||
![]() ![]() ![]() ![]() ![]() ![]() |
markdown | |||
![]() ![]() ![]() ![]() ![]() ![]() |
oid | |||
![]() ![]() ![]() ![]() ![]() ![]() |
positiveInt | |||
![]() ![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() ![]() ![]() |
time | |||
![]() ![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||
![]() ![]() ![]() ![]() ![]() ![]() |
uri | |||
![]() ![]() ![]() ![]() ![]() ![]() |
url | |||
![]() ![]() ![]() ![]() ![]() ![]() |
uuid | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Address | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Age | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Annotation | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Attachment | |||
![]() ![]() ![]() ![]() ![]() ![]() |
CodeableConcept | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Coding | |||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactPoint | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Count | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Distance | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Duration | |||
![]() ![]() ![]() ![]() ![]() ![]() |
HumanName | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Identifier | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Money | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Period | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Ratio | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Reference(Any) | |||
![]() ![]() ![]() ![]() ![]() ![]() |
SampledData | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Signature | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Timing | |||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactDetail | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Contributor | |||
![]() ![]() ![]() ![]() ![]() ![]() |
DataRequirement | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Expression | |||
![]() ![]() ![]() ![]() ![]() ![]() |
ParameterDefinition | |||
![]() ![]() ![]() ![]() ![]() ![]() |
RelatedArtifact | |||
![]() ![]() ![]() ![]() ![]() ![]() |
TriggerDefinition | |||
![]() ![]() ![]() ![]() ![]() ![]() |
UsageContext | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Dosage | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Meta | |||
![]() |
Path | Conformance | ValueSet / Code | URI |
StructureDefinition.status | required | PublicationStatushttp://hl7.org/fhir/ValueSet/publication-status|4.0.1 from the FHIR Standard | |
StructureDefinition.kind | required | Pattern: logicalhttp://hl7.org/fhir/ValueSet/structure-definition-kind|4.0.1 from the FHIR Standard | |
StructureDefinition.type | extensible | FHIRDefinedTypehttp://hl7.org/fhir/ValueSet/defined-types from the FHIR Standard | |
StructureDefinition.differential.element.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
StructureDefinition.differential.element.code:smart | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
StructureDefinition.differential.element.code:loinc | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
StructureDefinition.differential.element.code:snomed | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
StructureDefinition.differential.element.code:icd-10 | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
StructureDefinition.differential.element.code:icd-11 | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
StructureDefinition.differential.element.code:icf | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
StructureDefinition.differential.element.code:ichi | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
StructureDefinition.differential.element.code:snomed-gps | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
StructureDefinition.differential.element.code:atc | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | |
StructureDefinition.differential.element.type.code | extensible | FHIRDefinedTypehttp://hl7.org/fhir/ValueSet/defined-types from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
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 or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).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() | |
dom-5 | error | StructureDefinition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | StructureDefinition | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | **ALL** elements | 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') | |
eld-17 | error | StructureDefinition.differential.element.type | targetProfile is only allowed if the type is Reference or canonical : (code='Reference' or code = 'canonical') or targetProfile.empty() | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
sdf-0 | warning | StructureDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation : name.matches('[A-Z]([A-Za-z0-9_]){0,254}') | |
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 : abstract = true or baseDefinition.exists() | Ensure that the base types are abstract |
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-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) : 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() | Because these 3 fields seem to be have overlapping meaning with the ones in the root of StructureDefinition |
sdf-11 | error | StructureDefinition | If there's a type, its content must match the path name in the first element of a snapshot : kind != 'logical' implies snapshot.empty() or snapshot.element.first().path = type | Ensure that the type is not inconsistent with the other information in the structure |
sdf-14 | error | StructureDefinition | All element definitions must have an id : snapshot.element.all(id.exists()) and differential.element.all(id.exists()) | elements have id |
sdf-15 | error | StructureDefinition | The first element in a snapshot has no type unless model is a logical model. : kind!='logical' implies snapshot.element.first().type.empty() | No Type on the root element (snapshot) |
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 : (kind!='logical' and differential.element.first().path.contains('.').not()) implies differential.element.first().type.empty() | No Type on the root element (differential) |
sdf-16 | error | StructureDefinition | All element definitions must have unique ids (snapshot) : snapshot.element.all(id.exists()) and snapshot.element.id.trace('ids').isDistinct() | element ids need to be unique |
sdf-17 | error | StructureDefinition | All element definitions must have unique ids (diff) : differential.element.all(id.exists()) and differential.element.id.trace('ids').isDistinct() | element ids need to be unique |
sdf-18 | error | StructureDefinition | Context Invariants can only be used for extensions : contextInvariant.exists() implies type = 'Extension' | contextInvariant |
sdf-19 | error | StructureDefinition | FHIR Specification models only use FHIR defined types : url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (differential.element.type.code.all(matches('^[a-zA-Z0-9]+$') or matches('^http:\\/\\/hl7\\.org\\/fhirpath\\/System\\.[A-Z][A-Za-z]+$')) and snapshot.element.type.code.all(matches('^[a-zA-Z0-9\\.]+$') or matches('^http:\\/\\/hl7\\.org\\/fhirpath\\/System\\.[A-Z][A-Za-z]+$'))) | custom types only in logical models |
sdf-20 | error | StructureDefinition.differential | No slicing on the root element : element.where(path.contains('.').not()).slicing.empty() | no slicing on root |
sdf-21 | error | StructureDefinition | Default values can only be specified on specializations : differential.element.defaultValue.exists() implies (derivation = 'specialization') | no default values on data types or resources |
sdf-22 | error | StructureDefinition | FHIR Specification models never have default values : url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (snapshot.element.defaultValue.empty() and differential.element.defaultValue.empty()) | no default values on data types or resources |
sdf-23 | error | StructureDefinition | No slice name on root : (snapshot | differential).element.all(path.contains('.').not() implies sliceName.empty()) | no sliceName on root |
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('\\..*','')&'.'))) |
Differential View
This structure is derived from StructureDefinition
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() |
StructureDefinition | |||
![]() ![]() ![]() |
1..1 | string | Name for this structure definition (human friendly) | |
![]() ![]() ![]() |
1..1 | string | Name of the publisher (organization or individual) | |
![]() ![]() ![]() |
1..1 | markdown | Natural language description of the structure definition | |
![]() ![]() ![]() |
1..1 | code | primitive-type | complex-type | resource | logical Required Pattern: logical | |
![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() ![]() |
1..* | Coding | Corresponding codes in terminologies Slice: Unordered, Open by pattern:system | |
![]() ![]() ![]() ![]() ![]() ![]() |
S | 1..1 | Coding | Corresponding codes in terminologies |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/smart | |
![]() ![]() ![]() ![]() ![]() ![]() |
S | 0..1 | Coding | Corresponding codes in terminologies |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/loinc | |
![]() ![]() ![]() ![]() ![]() ![]() |
S | 0..1 | Coding | Corresponding codes in terminologies |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/snomed | |
![]() ![]() ![]() ![]() ![]() ![]() |
S | 0..1 | Coding | Corresponding codes in terminologies |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/icd-10 | |
![]() ![]() ![]() ![]() ![]() ![]() |
S | 0..1 | Coding | Corresponding codes in terminologies |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/icd-11 | |
![]() ![]() ![]() ![]() ![]() ![]() |
S | 0..1 | Coding | Corresponding codes in terminologies |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/icf | |
![]() ![]() ![]() ![]() ![]() ![]() |
S | 0..1 | Coding | Corresponding codes in terminologies |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/ichi | |
![]() ![]() ![]() ![]() ![]() ![]() |
S | 0..1 | Coding | Corresponding codes in terminologies |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/smart-gps | |
![]() ![]() ![]() ![]() ![]() ![]() |
S | 0..1 | Coding | Corresponding codes in terminologies |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/atc | |
![]() ![]() ![]() ![]() ![]() |
1..1 | string | Concise definition for space-constrained presentation | |
![]() ![]() ![]() ![]() ![]() |
1..1 | markdown | Full formal definition as narrative text | |
![]() ![]() ![]() ![]() ![]() |
1..1 | Element | Data type and Profile for this element | |
![]() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints![]() | ||||
---|---|---|---|---|---|---|---|---|
![]() ![]() |
C | 0..* | StructureDefinition | Structural Definition sdf-0: Name should be usable as an identifier for the module by machine processing applications such as code generation sdf-1: Element paths must be unique unless the structure is a constraint sdf-15a: If the first element in a differential has no "." in the path and it's not a logical model, it has no type sdf-4: If the structure is not abstract, then there SHALL be a baseDefinition sdf-5: If the structure defines an extension then the structure must have context information sdf-6: A structure must have either a differential, or a snapshot (or both) sdf-9: In any snapshot or differential, no label, code or requirements on an element without a "." in the path (e.g. the first element) sdf-11: If there's a type, its content must match the path name in the first element of a snapshot sdf-14: All element definitions must have an id sdf-15: The first element in a snapshot has no type unless model is a logical model. sdf-16: All element definitions must have unique ids (snapshot) sdf-17: All element definitions must have unique ids (diff) sdf-18: Context Invariants can only be used for extensions sdf-19: FHIR Specification models only use FHIR defined types sdf-21: Default values can only be specified on specializations sdf-22: FHIR Specification models never have default values sdf-23: No slice name on root | ||||
![]() ![]() ![]() |
Σ | 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: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
![]() ![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() ![]() |
Σ | 1..1 | uri | Canonical identifier for this structure definition, represented as a URI (globally unique) | ||||
![]() ![]() ![]() |
Σ | 0..* | Identifier | Additional identifier for the structure definition | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Business version of the structure definition | ||||
![]() ![]() ![]() |
ΣC | 1..1 | string | Name for this structure definition (computer friendly) | ||||
![]() ![]() ![]() |
Σ | 1..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 | ||||
![]() ![]() ![]() |
Σ | 1..1 | string | Name of the publisher (organization or individual) | ||||
![]() ![]() ![]() |
Σ | 0..* | ContactDetail | Contact details for the publisher | ||||
![]() ![]() ![]() |
1..1 | markdown | Natural language description of the structure definition | |||||
![]() ![]() ![]() |
Σ | 0..* | UsageContext | The context that 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: 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 sdf-2: Must have at least a name or a uri (or both) | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
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. Required Pattern: logical | ||||
![]() ![]() ![]() |
Σ | 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 | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 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: FHIRDefinedType (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 | ||||
![]() ![]() ![]() |
Σ | 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 sdf-3: Each element definition in a snapshot must have a formal definition and cardinalities sdf-8: All snapshot elements must start with the StructureDefinition's specified type for non-logical models, or with the same type name for logical models sdf-8b: All snapshot elements must have a base definition | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
C | 1..* | ElementDefinition | Definition of elements in the resource (if no StructureDefinition) sdf-10: provide either a binding reference or a description (or both) | ||||
![]() ![]() ![]() |
C | 0..1 | BackboneElement | Differential view of the structure sdf-20: No slicing on the root element sdf-8a: 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 | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
1..* | ElementDefinition | Definition of elements in the resource (if no StructureDefinition) | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 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. | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Name for this particular element (in a set of slices) | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 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 | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..* | Coding | Corresponding codes in terminologies Slice: Unordered, Open by pattern:system Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 1..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/smart | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/loinc | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/snomed | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/icd-10 | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/icd-11 | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/icf | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/ichi | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/smart-gps | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Corresponding codes in terminologies Binding: LOINCCodes (example): Codes that indicate the meaning of a data element. | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Identity of the terminology system Required Pattern: http://who.smart.codes/atc | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | Element | This element is sliced - slices follow eld-1: If there are no discriminators, there must be a definition | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 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 | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | code | value | exists | pattern | type | profile Binding: DiscriminatorType (required): How an element value is interpreted when discrimination is evaluated. | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Path to element value | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Text description of how slicing works (or not) | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If elements must be in same order as slices | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | code | closed | open | openAtEnd Binding: SlicingRules (required): How slices are interpreted when evaluating an instance. | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Concise definition for space-constrained presentation | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..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 *) eld-3: Max SHALL be a number or "*" | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 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 | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 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 | 1..1 | Element | Data type and Profile for this element eld-4: Aggregation may only be specified if one of the allowed types for the element is a reference eld-17: targetProfile is only allowed if the type is Reference or canonical | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | Data type or Resource (reference to definition) Binding: FHIRDefinedType (extensible): Either a resource or a data type, including logical model types. | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | canonical(StructureDefinition | ImplementationGuide) | Profiles (StructureDefinition or IG) - one must apply | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 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 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
markdown | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
oid | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
url | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
uuid | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Address | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Age | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Annotation | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Coding | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactPoint | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Count | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Distance | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Duration | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
HumanName | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Identifier | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Money | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Reference(Any) | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Signature | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Timing | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Contributor | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
DataRequirement | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Expression | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ParameterDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
RelatedArtifact | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
TriggerDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
UsageContext | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Dosage | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Meta | |||||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | markdown | Implicit meaning when this element is missing | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 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 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
markdown | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
oid | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
url | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
uuid | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Address | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Age | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Annotation | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Coding | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactPoint | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Count | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Distance | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Duration | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
HumanName | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Identifier | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Money | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Reference(Any) | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Signature | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Timing | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Contributor | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
DataRequirement | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Expression | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ParameterDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
RelatedArtifact | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
TriggerDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
UsageContext | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Dosage | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Meta | |||||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | Value must have at least these property values | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
base64Binary | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
canonical(Any) | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
code | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
id | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
instant | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
markdown | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
oid | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
url | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
uuid | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Address | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Age | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Annotation | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Coding | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactPoint | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Count | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Distance | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Duration | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
HumanName | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Identifier | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Money | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Reference(Any) | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Signature | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Timing | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Contributor | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
DataRequirement | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Expression | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
ParameterDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
RelatedArtifact | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
TriggerDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
UsageContext | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Dosage | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Meta | |||||||
![]() ![]() ![]() ![]() ![]() |
Σ | 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 | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 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 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
markdown | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
oid | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
url | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
uuid | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Address | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Age | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Annotation | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Coding | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
ContactPoint | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Count | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Distance | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Duration | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
HumanName | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Identifier | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Money | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Reference(Any) | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
SampledData | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Signature | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Timing | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
ContactDetail | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Contributor | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
DataRequirement | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Expression | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
ParameterDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
RelatedArtifact | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
TriggerDefinition | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
UsageContext | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Dosage | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Meta | |||||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | Minimum Allowed Value (for some types) | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
instant | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | Maximum Allowed Value (for some types) | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
instant | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
positiveInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
unsignedInt | |||||||
![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | integer | Max length for strings | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | id | Reference to invariant about presence | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..* | Element | Condition that must evaluate to true eld-21: Constraints should have an expression or else validators will not be able to enforce them | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
ΣC | 1..1 | id | Target of 'condition' reference above | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Why this constraint is necessary or appropriate | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | code | error | warning Binding: ConstraintSeverity (required): SHALL applications comply with this constraint? | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Human description of constraint | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | FHIRPath expression of constraint | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | XPath expression of constraint | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | canonical(StructureDefinition) | Reference to original source of constraint | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If the element must be supported | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this modifies the meaning of other elements | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 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 eld-12: ValueSet SHALL start with http:// or https:// or urn: | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | code | required | extensible | preferred | example Binding: BindingStrength (required): Indication of the degree of conformance expectations associated with a binding. | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Human explanation of the value set | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | canonical(ValueSet) | Source of value set | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 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 | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | id | Reference to mapping declaration | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Computable language of mapping Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed. | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Details of the mapping | ||||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Comments about the mapping or its use | ||||
![]() |
Path | Conformance | ValueSet / Code | URI | |||
StructureDefinition.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languages from the FHIR Standard
| ||||
StructureDefinition.status | required | PublicationStatushttp://hl7.org/fhir/ValueSet/publication-status|4.0.1 from the FHIR Standard | ||||
StructureDefinition.jurisdiction | extensible | Jurisdiction ValueSethttp://hl7.org/fhir/ValueSet/jurisdiction from the FHIR Standard | ||||
StructureDefinition.keyword | extensible | DefinitionUseCodeshttp://hl7.org/fhir/ValueSet/definition-use from the FHIR Standard | ||||
StructureDefinition.fhirVersion | required | FHIRVersionhttp://hl7.org/fhir/ValueSet/FHIR-version|4.0.1 from the FHIR Standard | ||||
StructureDefinition.kind | required | Pattern: logicalhttp://hl7.org/fhir/ValueSet/structure-definition-kind|4.0.1 from the FHIR Standard | ||||
StructureDefinition.context.type | required | ExtensionContextTypehttp://hl7.org/fhir/ValueSet/extension-context-type|4.0.1 from the FHIR Standard | ||||
StructureDefinition.type | extensible | FHIRDefinedTypehttp://hl7.org/fhir/ValueSet/defined-types from the FHIR Standard | ||||
StructureDefinition.derivation | required | TypeDerivationRulehttp://hl7.org/fhir/ValueSet/type-derivation-rule|4.0.1 from the FHIR Standard | ||||
StructureDefinition.differential.element.representation | required | PropertyRepresentationhttp://hl7.org/fhir/ValueSet/property-representation|4.0.1 from the FHIR Standard | ||||
StructureDefinition.differential.element.code | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
StructureDefinition.differential.element.code:smart | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
StructureDefinition.differential.element.code:loinc | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
StructureDefinition.differential.element.code:snomed | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
StructureDefinition.differential.element.code:icd-10 | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
StructureDefinition.differential.element.code:icd-11 | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
StructureDefinition.differential.element.code:icf | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
StructureDefinition.differential.element.code:ichi | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
StructureDefinition.differential.element.code:snomed-gps | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
StructureDefinition.differential.element.code:atc | example | LOINCCodes (a valid code from LOINC)http://hl7.org/fhir/ValueSet/observation-codes from the FHIR Standard | ||||
StructureDefinition.differential.element.slicing.discriminator.type | required | DiscriminatorTypehttp://hl7.org/fhir/ValueSet/discriminator-type|4.0.1 from the FHIR Standard | ||||
StructureDefinition.differential.element.slicing.rules | required | SlicingRuleshttp://hl7.org/fhir/ValueSet/resource-slicing-rules|4.0.1 from the FHIR Standard | ||||
StructureDefinition.differential.element.type.code | extensible | FHIRDefinedTypehttp://hl7.org/fhir/ValueSet/defined-types from the FHIR Standard | ||||
StructureDefinition.differential.element.type.aggregation | required | AggregationModehttp://hl7.org/fhir/ValueSet/resource-aggregation-mode|4.0.1 from the FHIR Standard | ||||
StructureDefinition.differential.element.type.versioning | required | ReferenceVersionRuleshttp://hl7.org/fhir/ValueSet/reference-version-rules|4.0.1 from the FHIR Standard | ||||
StructureDefinition.differential.element.constraint.severity | required | ConstraintSeverityhttp://hl7.org/fhir/ValueSet/constraint-severity|4.0.1 from the FHIR Standard | ||||
StructureDefinition.differential.element.binding.strength | required | BindingStrengthhttp://hl7.org/fhir/ValueSet/binding-strength|4.0.1 from the FHIR Standard | ||||
StructureDefinition.differential.element.mapping.language | required | Mime Types (a valid code from urn:ietf:bcp:13 )http://hl7.org/fhir/ValueSet/mimetypes|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
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 or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).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() | |
dom-5 | error | StructureDefinition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | StructureDefinition | A resource should have narrative for robust management : text.`div`.exists() | |
eld-1 | error | StructureDefinition.differential.element.slicing | If there are no discriminators, there must be a definition : discriminator.exists() or description.exists() | |
ele-1 | error | **ALL** elements | 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') | |
eld-12 | error | StructureDefinition.differential.element.binding | ValueSet SHALL start with http:// or https:// or urn: : valueSet.exists() implies (valueSet.startsWith('http:') or valueSet.startsWith('https') or valueSet.startsWith('urn:')) | |
eld-17 | error | StructureDefinition.differential.element.type | targetProfile is only allowed if the type is Reference or canonical : (code='Reference' or code = 'canonical') 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() | |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
sdf-0 | warning | StructureDefinition | Name should be usable as an identifier for the module by machine processing applications such as code generation : name.matches('[A-Z]([A-Za-z0-9_]){0,254}') | |
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 : (kind!='logical' and differential.element.first().path.contains('.').not()) implies differential.element.first().type.empty() | No Type on the root element (differential) |
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.exists() and min.exists() and max.exists()) | |
sdf-4 | error | StructureDefinition | If the structure is not abstract, then there SHALL be a baseDefinition : abstract = true or baseDefinition.exists() | Ensure that the base types are abstract |
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) : binding.empty() or binding.valueSet.exists() or binding.description.exists() | binding is required |
sdf-11 | error | StructureDefinition | If there's a type, its content must match the path name in the first element of a snapshot : kind != 'logical' implies snapshot.empty() or snapshot.element.first().path = type | Ensure that the type is not inconsistent with the other information in the structure |
sdf-14 | error | StructureDefinition | All element definitions must have an id : snapshot.element.all(id.exists()) and differential.element.all(id.exists()) | elements have id |
sdf-15 | error | StructureDefinition | The first element in a snapshot has no type unless model is a logical model. : kind!='logical' implies snapshot.element.first().type.empty() | No Type on the root element (snapshot) |
sdf-16 | error | StructureDefinition | All element definitions must have unique ids (snapshot) : snapshot.element.all(id.exists()) and snapshot.element.id.trace('ids').isDistinct() | element ids need to be unique |
sdf-17 | error | StructureDefinition | All element definitions must have unique ids (diff) : differential.element.all(id.exists()) and differential.element.id.trace('ids').isDistinct() | element ids need to be unique |
sdf-18 | error | StructureDefinition | Context Invariants can only be used for extensions : contextInvariant.exists() implies type = 'Extension' | contextInvariant |
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-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) : 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() | Because these 3 fields seem to be have overlapping meaning with the ones in the root of StructureDefinition |
sdf-19 | error | StructureDefinition | FHIR Specification models only use FHIR defined types : url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (differential.element.type.code.all(matches('^[a-zA-Z0-9]+$') or matches('^http:\\/\\/hl7\\.org\\/fhirpath\\/System\\.[A-Z][A-Za-z]+$')) and snapshot.element.type.code.all(matches('^[a-zA-Z0-9\\.]+$') or matches('^http:\\/\\/hl7\\.org\\/fhirpath\\/System\\.[A-Z][A-Za-z]+$'))) | custom types only in logical models |
sdf-20 | error | StructureDefinition.differential | No slicing on the root element : element.where(path.contains('.').not()).slicing.empty() | no slicing on root |
sdf-21 | error | StructureDefinition | Default values can only be specified on specializations : differential.element.defaultValue.exists() implies (derivation = 'specialization') | no default values on data types or resources |
sdf-22 | error | StructureDefinition | FHIR Specification models never have default values : url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (snapshot.element.defaultValue.empty() and differential.element.defaultValue.empty()) | no default values on data types or resources |
sdf-23 | error | StructureDefinition | No slice name on root : (snapshot | differential).element.all(path.contains('.').not() implies sliceName.empty()) | no sliceName on root |
sdf-8b | error | StructureDefinition.snapshot | All snapshot elements must have a base definition : element.all(base.exists()) |
This structure is derived from StructureDefinition
Summary
Mandatory: 3 elements(14 nested mandatory elements)
Must-Support: 9 elements
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron