SMART Base
0.3.0 - ci-build

SMART Base, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.3.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/ and changes regularly. See the Directory of published versions

Resource Profile: SMART Guidelines Logical Model

Official URL: http://smart.who.int/base/StructureDefinition/SGLogicalModel Version: 0.3.0
Draft as of 2026-10-20 Computable Name: SGLogicalModel

Defines the minimum expectations for Logical Models used in SMART Guidelines

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: doco
StructureDefinition C 0..* StructureDefinition Structural Definition
Constraints: sdf-0, sdf-1, sdf-15a, sdf-4, sdf-5, sdf-6, sdf-9, sdf-11, sdf-14, sdf-15, sdf-16, sdf-17, sdf-18, sdf-19, sdf-21, sdf-22, sdf-23
StructureDefinition.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
StructureDefinition.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
StructureDefinition.url This element is included in summaries. 1..1 uri Canonical identifier for this structure definition, represented as a URI (globally unique)
StructureDefinition.name This element is included in summaries. C 1..1 string Name for this structure definition (computer friendly)
StructureDefinition.title This element is included in summaries. 1..1 string Name for this structure definition (human friendly)
StructureDefinition.status This element is a modifier element. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
StructureDefinition.publisher This element is included in summaries. 1..1 string Name of the publisher (organization or individual)
StructureDefinition.description 1..1 markdown Natural language description of the structure definition
StructureDefinition.kind This element is included in summaries. 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 (extensions allowed)
StructureDefinition.abstract This element is included in summaries. 1..1 boolean Whether the structure is abstract
StructureDefinition.type This element is included in summaries. 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.
StructureDefinition.differential C 0..1 BackboneElement Differential view of the structure
Constraints: sdf-20, sdf-8a
StructureDefinition.differential.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
StructureDefinition.differential.element 1..* ElementDefinition Definition of elements in the resource (if no StructureDefinition)
StructureDefinition.differential.element.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
StructureDefinition.differential.element.path This element is included in summaries. 1..1 string Path of the element in the hierarchy of elements
StructureDefinition.differential.element.Slices for code This element is included in summaries. 1..* Coding Corresponding codes in terminologies
Slice: Unordered, Open by pattern:system
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
StructureDefinition.differential.element.Slices for code.code:smart This element must be supported. This element is included in summaries. 1..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:smart.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/smart (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:loinc This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:loinc.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/loinc (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:snomed This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:snomed.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/snomed (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:icd-10 This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:icd-10.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/icd-10 (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:icd-11 This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:icd-11.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/icd-11 (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:icf This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:icf.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/icf (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:ichi This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:ichi.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/ichi (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:snomed-gps This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:snomed-gps.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/smart-gps (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:atc This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:atc.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/atc (extensions allowed)
StructureDefinition.differential.element.short This element is included in summaries. 1..1 string Concise definition for space-constrained presentation
StructureDefinition.differential.element.definition This element is included in summaries. 1..1 markdown Full formal definition as narrative text
StructureDefinition.differential.element.max This element is included in summaries. C 0..1 string Maximum Cardinality (a number or *)
Constraints: eld-3
StructureDefinition.differential.element.type This element is included in summaries. C 1..1 Element Data type and Profile for this element
Constraints: eld-4, eld-17
StructureDefinition.differential.element.type.code This element is included in summaries. 1..1 uri Data type or Resource (reference to definition)
Binding: FHIRDefinedType (extensible): Either a resource or a data type, including logical model types.
StructureDefinition.differential.element.fixed[x] This element is included in summaries. C 0..1 Value must be exactly this
StructureDefinition.differential.element.fixed[x].fixedBase64Binary base64Binary
StructureDefinition.differential.element.fixed[x].fixedBoolean boolean
StructureDefinition.differential.element.fixed[x].fixedCanonical canonical(Any)
StructureDefinition.differential.element.fixed[x].fixedCode code
StructureDefinition.differential.element.fixed[x].fixedDate date
StructureDefinition.differential.element.fixed[x].fixedDateTime dateTime
StructureDefinition.differential.element.fixed[x].fixedDecimal decimal
StructureDefinition.differential.element.fixed[x].fixedId id
StructureDefinition.differential.element.fixed[x].fixedInstant instant
StructureDefinition.differential.element.fixed[x].fixedInteger integer
StructureDefinition.differential.element.fixed[x].fixedMarkdown markdown
StructureDefinition.differential.element.fixed[x].fixedOid oid
StructureDefinition.differential.element.fixed[x].fixedPositiveInt positiveInt
StructureDefinition.differential.element.fixed[x].fixedString string
StructureDefinition.differential.element.fixed[x].fixedTime time
StructureDefinition.differential.element.fixed[x].fixedUnsignedInt unsignedInt
StructureDefinition.differential.element.fixed[x].fixedUri uri
StructureDefinition.differential.element.fixed[x].fixedUrl url
StructureDefinition.differential.element.fixed[x].fixedUuid uuid
StructureDefinition.differential.element.fixed[x].fixedAddress Address
StructureDefinition.differential.element.fixed[x].fixedAge Age
StructureDefinition.differential.element.fixed[x].fixedAnnotation Annotation
StructureDefinition.differential.element.fixed[x].fixedAttachment Attachment
StructureDefinition.differential.element.fixed[x].fixedCodeableConcept CodeableConcept
StructureDefinition.differential.element.fixed[x].fixedCoding Coding
StructureDefinition.differential.element.fixed[x].fixedContactPoint ContactPoint
StructureDefinition.differential.element.fixed[x].fixedCount Count
StructureDefinition.differential.element.fixed[x].fixedDistance Distance
StructureDefinition.differential.element.fixed[x].fixedDuration Duration
StructureDefinition.differential.element.fixed[x].fixedHumanName HumanName
StructureDefinition.differential.element.fixed[x].fixedIdentifier Identifier
StructureDefinition.differential.element.fixed[x].fixedMoney Money
StructureDefinition.differential.element.fixed[x].fixedPeriod Period
StructureDefinition.differential.element.fixed[x].fixedQuantity Quantity
StructureDefinition.differential.element.fixed[x].fixedRange Range
StructureDefinition.differential.element.fixed[x].fixedRatio Ratio
StructureDefinition.differential.element.fixed[x].fixedReference Reference(Any)
StructureDefinition.differential.element.fixed[x].fixedSampledData SampledData
StructureDefinition.differential.element.fixed[x].fixedSignature Signature
StructureDefinition.differential.element.fixed[x].fixedTiming Timing
StructureDefinition.differential.element.fixed[x].fixedContactDetail ContactDetail
StructureDefinition.differential.element.fixed[x].fixedContributor Contributor
StructureDefinition.differential.element.fixed[x].fixedDataRequirement DataRequirement
StructureDefinition.differential.element.fixed[x].fixedExpression Expression
StructureDefinition.differential.element.fixed[x].fixedParameterDefinition ParameterDefinition
StructureDefinition.differential.element.fixed[x].fixedRelatedArtifact RelatedArtifact
StructureDefinition.differential.element.fixed[x].fixedTriggerDefinition TriggerDefinition
StructureDefinition.differential.element.fixed[x].fixedUsageContext UsageContext
StructureDefinition.differential.element.fixed[x].fixedDosage Dosage
StructureDefinition.differential.element.fixed[x].fixedMeta Meta
StructureDefinition.differential.element.pattern[x] This element is included in summaries. C 0..1 Value must have at least these property values
StructureDefinition.differential.element.pattern[x].patternBase64Binary base64Binary
StructureDefinition.differential.element.pattern[x].patternBoolean boolean
StructureDefinition.differential.element.pattern[x].patternCanonical canonical(Any)
StructureDefinition.differential.element.pattern[x].patternCode code
StructureDefinition.differential.element.pattern[x].patternDate date
StructureDefinition.differential.element.pattern[x].patternDateTime dateTime
StructureDefinition.differential.element.pattern[x].patternDecimal decimal
StructureDefinition.differential.element.pattern[x].patternId id
StructureDefinition.differential.element.pattern[x].patternInstant instant
StructureDefinition.differential.element.pattern[x].patternInteger integer
StructureDefinition.differential.element.pattern[x].patternMarkdown markdown
StructureDefinition.differential.element.pattern[x].patternOid oid
StructureDefinition.differential.element.pattern[x].patternPositiveInt positiveInt
StructureDefinition.differential.element.pattern[x].patternString string
StructureDefinition.differential.element.pattern[x].patternTime time
StructureDefinition.differential.element.pattern[x].patternUnsignedInt unsignedInt
StructureDefinition.differential.element.pattern[x].patternUri uri
StructureDefinition.differential.element.pattern[x].patternUrl url
StructureDefinition.differential.element.pattern[x].patternUuid uuid
StructureDefinition.differential.element.pattern[x].patternAddress Address
StructureDefinition.differential.element.pattern[x].patternAge Age
StructureDefinition.differential.element.pattern[x].patternAnnotation Annotation
StructureDefinition.differential.element.pattern[x].patternAttachment Attachment
StructureDefinition.differential.element.pattern[x].patternCodeableConcept CodeableConcept
StructureDefinition.differential.element.pattern[x].patternCoding Coding
StructureDefinition.differential.element.pattern[x].patternContactPoint ContactPoint
StructureDefinition.differential.element.pattern[x].patternCount Count
StructureDefinition.differential.element.pattern[x].patternDistance Distance
StructureDefinition.differential.element.pattern[x].patternDuration Duration
StructureDefinition.differential.element.pattern[x].patternHumanName HumanName
StructureDefinition.differential.element.pattern[x].patternIdentifier Identifier
StructureDefinition.differential.element.pattern[x].patternMoney Money
StructureDefinition.differential.element.pattern[x].patternPeriod Period
StructureDefinition.differential.element.pattern[x].patternQuantity Quantity
StructureDefinition.differential.element.pattern[x].patternRange Range
StructureDefinition.differential.element.pattern[x].patternRatio Ratio
StructureDefinition.differential.element.pattern[x].patternReference Reference(Any)
StructureDefinition.differential.element.pattern[x].patternSampledData SampledData
StructureDefinition.differential.element.pattern[x].patternSignature Signature
StructureDefinition.differential.element.pattern[x].patternTiming Timing
StructureDefinition.differential.element.pattern[x].patternContactDetail ContactDetail
StructureDefinition.differential.element.pattern[x].patternContributor Contributor
StructureDefinition.differential.element.pattern[x].patternDataRequirement DataRequirement
StructureDefinition.differential.element.pattern[x].patternExpression Expression
StructureDefinition.differential.element.pattern[x].patternParameterDefinition ParameterDefinition
StructureDefinition.differential.element.pattern[x].patternRelatedArtifact RelatedArtifact
StructureDefinition.differential.element.pattern[x].patternTriggerDefinition TriggerDefinition
StructureDefinition.differential.element.pattern[x].patternUsageContext UsageContext
StructureDefinition.differential.element.pattern[x].patternDosage Dosage
StructureDefinition.differential.element.pattern[x].patternMeta Meta

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
StructureDefinition.​status Base required PublicationStatus 📍4.0.1 FHIR Std.
StructureDefinition.​kind Base required StructureDefinitionKind 📍4.0.1 FHIR Std.
StructureDefinition.​type Base extensible FHIRDefinedType 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:smart Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:loinc Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:snomed Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:icd-10 Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:icd-11 Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:icf Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:ichi Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:snomed-gps Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:atc Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​type.code Base extensible FHIRDefinedType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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
Requirements:

Ensure that the base types are abstract

abstract = true or baseDefinition.exists()
sdf-5 error StructureDefinition If the structure defines an extension then the structure must have context information type != 'Extension' or derivation = 'specialization' or (context.exists())
sdf-6 error StructureDefinition A structure must have either a differential, or a snapshot (or both) snapshot.exists() or differential.exists()
sdf-9 error StructureDefinition In any snapshot or differential, no label, code or requirements on an element without a "." in the path (e.g. the first element)
Requirements:

Because these 3 fields seem to be have overlapping meaning with the ones in the root of StructureDefinition

children().element.where(path.contains('.').not()).label.empty() and children().element.where(path.contains('.').not()).code.empty() and children().element.where(path.contains('.').not()).requirements.empty()
sdf-11 error StructureDefinition If there's a type, its content must match the path name in the first element of a snapshot
Requirements:

Ensure that the type is not inconsistent with the other information in the structure

kind != 'logical' implies snapshot.empty() or snapshot.element.first().path = type
sdf-14 error StructureDefinition All element definitions must have an id
Requirements:

elements have id

snapshot.element.all(id.exists()) and differential.element.all(id.exists())
sdf-15 error StructureDefinition The first element in a snapshot has no type unless model is a logical model.
Requirements:

No Type on the root element (snapshot)

kind!='logical' implies snapshot.element.first().type.empty()
sdf-15a error StructureDefinition If the first element in a differential has no "." in the path and it's not a logical model, it has no type
Requirements:

No Type on the root element (differential)

(kind!='logical' and differential.element.first().path.contains('.').not()) implies differential.element.first().type.empty()
sdf-16 error StructureDefinition All element definitions must have unique ids (snapshot)
Requirements:

element ids need to be unique

snapshot.element.all(id.exists()) and snapshot.element.id.trace('ids').isDistinct()
sdf-17 error StructureDefinition All element definitions must have unique ids (diff)
Requirements:

element ids need to be unique

differential.element.all(id.exists()) and differential.element.id.trace('ids').isDistinct()
sdf-18 error StructureDefinition Context Invariants can only be used for extensions
Requirements:

contextInvariant

contextInvariant.exists() implies type = 'Extension'
sdf-19 error StructureDefinition FHIR Specification models only use FHIR defined types
Requirements:

custom types only in logical models

url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (differential.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]+$')))
sdf-20 error StructureDefinition.differential No slicing on the root element
Requirements:

no slicing on root

element.where(path.contains('.').not()).slicing.empty()
sdf-21 error StructureDefinition Default values can only be specified on specializations
Requirements:

no default values on data types or resources

differential.element.defaultValue.exists() implies (derivation = 'specialization')
sdf-22 error StructureDefinition FHIR Specification models never have default values
Requirements:

no default values on data types or resources

url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (snapshot.element.defaultValue.empty() and differential.element.defaultValue.empty())
sdf-23 error StructureDefinition No slice name on root
Requirements:

no sliceName on root

(snapshot | differential).element.all(path.contains('.').not() implies sliceName.empty())
sdf-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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
StructureDefinition 0..* StructureDefinition Structural Definition
StructureDefinition.title 1..1 string Name for this structure definition (human friendly)
StructureDefinition.publisher 1..1 string Name of the publisher (organization or individual)
StructureDefinition.description 1..1 markdown Natural language description of the structure definition
StructureDefinition.differential
StructureDefinition.differential.element
StructureDefinition.differential.element.Slices for code 1..* Coding Corresponding codes in terminologies
Slice: Unordered, Open by pattern:system
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
StructureDefinition.differential.element.Slices for code.code:smart This element must be supported. 1..1 Coding Corresponding codes in terminologies
StructureDefinition.differential.element.Slices for code.code:smart.system 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/smart (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:loinc This element must be supported. 0..1 Coding Corresponding codes in terminologies
StructureDefinition.differential.element.Slices for code.code:loinc.system 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/loinc (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:snomed This element must be supported. 0..1 Coding Corresponding codes in terminologies
StructureDefinition.differential.element.Slices for code.code:snomed.system 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/snomed (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:icd-10 This element must be supported. 0..1 Coding Corresponding codes in terminologies
StructureDefinition.differential.element.Slices for code.code:icd-10.system 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/icd-10 (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:icd-11 This element must be supported. 0..1 Coding Corresponding codes in terminologies
StructureDefinition.differential.element.Slices for code.code:icd-11.system 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/icd-11 (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:icf This element must be supported. 0..1 Coding Corresponding codes in terminologies
StructureDefinition.differential.element.Slices for code.code:icf.system 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/icf (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:ichi This element must be supported. 0..1 Coding Corresponding codes in terminologies
StructureDefinition.differential.element.Slices for code.code:ichi.system 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/ichi (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:snomed-gps This element must be supported. 0..1 Coding Corresponding codes in terminologies
StructureDefinition.differential.element.Slices for code.code:snomed-gps.system 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/smart-gps (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:atc This element must be supported. 0..1 Coding Corresponding codes in terminologies
StructureDefinition.differential.element.Slices for code.code:atc.system 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/atc (extensions allowed)
StructureDefinition.differential.element.short 1..1 string Concise definition for space-constrained presentation
StructureDefinition.differential.element.definition 1..1 markdown Full formal definition as narrative text
StructureDefinition.differential.element.type 1..1 Element Data type and Profile for this element

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: doco
StructureDefinition C 0..* StructureDefinition Structural Definition
Constraints: sdf-0, sdf-1, sdf-15a, sdf-4, sdf-5, sdf-6, sdf-9, sdf-11, sdf-14, sdf-15, sdf-16, sdf-17, sdf-18, sdf-19, sdf-21, sdf-22, sdf-23
StructureDefinition.id This element is included in summaries. 0..1 id Logical id of this artifact
StructureDefinition.meta This element is included in summaries. 0..1 Meta Metadata about the resource
StructureDefinition.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
StructureDefinition.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
StructureDefinition.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
StructureDefinition.contained 0..* Resource Contained, inline Resources
StructureDefinition.extension 0..* Extension Additional content defined by implementations
StructureDefinition.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
StructureDefinition.url This element is included in summaries. 1..1 uri Canonical identifier for this structure definition, represented as a URI (globally unique)
StructureDefinition.identifier This element is included in summaries. 0..* Identifier Additional identifier for the structure definition
StructureDefinition.version This element is included in summaries. 0..1 string Business version of the structure definition
StructureDefinition.name This element is included in summaries. C 1..1 string Name for this structure definition (computer friendly)
StructureDefinition.title This element is included in summaries. 1..1 string Name for this structure definition (human friendly)
StructureDefinition.status This element is a modifier element. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
StructureDefinition.experimental This element is included in summaries. 0..1 boolean For testing purposes, not real usage
StructureDefinition.date This element is included in summaries. 0..1 dateTime Date last changed
StructureDefinition.publisher This element is included in summaries. 1..1 string Name of the publisher (organization or individual)
StructureDefinition.contact This element is included in summaries. 0..* ContactDetail Contact details for the publisher
StructureDefinition.description 1..1 markdown Natural language description of the structure definition
StructureDefinition.useContext This element is included in summaries. 0..* UsageContext The context that the content is intended to support
StructureDefinition.jurisdiction This element is included in summaries. 0..* CodeableConcept Intended jurisdiction for structure definition (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
StructureDefinition.purpose 0..1 markdown Why this structure definition is defined
StructureDefinition.copyright 0..1 markdown Use and/or publishing restrictions
StructureDefinition.keyword This element is included in summaries. 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).
StructureDefinition.fhirVersion This element is included in summaries. 0..1 code FHIR Version this StructureDefinition targets
Binding: FHIRVersion (required): All published FHIR Versions.
StructureDefinition.mapping C 0..* BackboneElement External specification that the content is mapped to
Constraints: sdf-2
StructureDefinition.mapping.id 0..1 string Unique id for inter-element referencing
StructureDefinition.mapping.extension 0..* Extension Additional content defined by implementations
StructureDefinition.mapping.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
StructureDefinition.mapping.identity 1..1 id Internal id when this mapping is used
StructureDefinition.mapping.uri C 0..1 uri Identifies what this mapping refers to
StructureDefinition.mapping.name C 0..1 string Names what this mapping refers to
StructureDefinition.mapping.comment 0..1 string Versions, Issues, Scope limitations etc.
StructureDefinition.kind This element is included in summaries. 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 (extensions allowed)
StructureDefinition.abstract This element is included in summaries. 1..1 boolean Whether the structure is abstract
StructureDefinition.context This element is included in summaries. C 0..* BackboneElement If an extension, where it can be used in instances
StructureDefinition.context.id 0..1 string Unique id for inter-element referencing
StructureDefinition.context.extension 0..* Extension Additional content defined by implementations
StructureDefinition.context.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
StructureDefinition.context.type This element is included in summaries. 1..1 code fhirpath | element | extension
Binding: ExtensionContextType (required): How an extension context is interpreted.
StructureDefinition.context.expression This element is included in summaries. 1..1 string Where the extension can be used in instances
StructureDefinition.contextInvariant This element is included in summaries. C 0..* string FHIRPath invariants - when the extension can be used
StructureDefinition.type This element is included in summaries. 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.
StructureDefinition.baseDefinition This element is included in summaries. C 0..1 canonical(StructureDefinition) Definition that this type is constrained/specialized from
StructureDefinition.derivation This element is included in summaries. 0..1 code specialization | constraint - How relates to base definition
Binding: TypeDerivationRule (required): How a type relates to its baseDefinition.
StructureDefinition.snapshot C 0..1 BackboneElement Snapshot view of the structure
Constraints: sdf-3, sdf-8, sdf-8b
StructureDefinition.snapshot.id 0..1 string Unique id for inter-element referencing
StructureDefinition.snapshot.extension 0..* Extension Additional content defined by implementations
StructureDefinition.snapshot.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
StructureDefinition.snapshot.element C 1..* ElementDefinition Definition of elements in the resource (if no StructureDefinition)
Constraints: sdf-10
StructureDefinition.differential C 0..1 BackboneElement Differential view of the structure
Constraints: sdf-20, sdf-8a
StructureDefinition.differential.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.extension 0..* Extension Additional content defined by implementations
StructureDefinition.differential.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
StructureDefinition.differential.element 1..* ElementDefinition Definition of elements in the resource (if no StructureDefinition)
StructureDefinition.differential.element.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
StructureDefinition.differential.element.path This element is included in summaries. 1..1 string Path of the element in the hierarchy of elements
StructureDefinition.differential.element.representation This element is included in summaries. 0..* code xmlAttr | xmlText | typeAttr | cdaText | xhtml
Binding: PropertyRepresentation (required): How a property is represented when serialized.
StructureDefinition.differential.element.sliceName This element is included in summaries. 0..1 string Name for this particular element (in a set of slices)
StructureDefinition.differential.element.sliceIsConstraining This element is included in summaries. 0..1 boolean If this slice definition constrains an inherited slice definition (or not)
StructureDefinition.differential.element.label This element is included in summaries. 0..1 string Name for element to display with or prompt for element
StructureDefinition.differential.element.Slices for code This element is included in summaries. 1..* Coding Corresponding codes in terminologies
Slice: Unordered, Open by pattern:system
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
StructureDefinition.differential.element.Slices for code.code:smart This element must be supported. This element is included in summaries. 1..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:smart.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.Slices for code.code:smart.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.Slices for code.code:smart.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/smart (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:smart.version This element is included in summaries. 0..1 string Version of the system - if relevant
StructureDefinition.differential.element.Slices for code.code:smart.code This element is included in summaries. 0..1 code Symbol in syntax defined by the system
StructureDefinition.differential.element.Slices for code.code:smart.display This element is included in summaries. 0..1 string Representation defined by the system
StructureDefinition.differential.element.Slices for code.code:smart.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
StructureDefinition.differential.element.Slices for code.code:loinc This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:loinc.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.Slices for code.code:loinc.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.Slices for code.code:loinc.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/loinc (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:loinc.version This element is included in summaries. 0..1 string Version of the system - if relevant
StructureDefinition.differential.element.Slices for code.code:loinc.code This element is included in summaries. 0..1 code Symbol in syntax defined by the system
StructureDefinition.differential.element.Slices for code.code:loinc.display This element is included in summaries. 0..1 string Representation defined by the system
StructureDefinition.differential.element.Slices for code.code:loinc.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
StructureDefinition.differential.element.Slices for code.code:snomed This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:snomed.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.Slices for code.code:snomed.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.Slices for code.code:snomed.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/snomed (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:snomed.version This element is included in summaries. 0..1 string Version of the system - if relevant
StructureDefinition.differential.element.Slices for code.code:snomed.code This element is included in summaries. 0..1 code Symbol in syntax defined by the system
StructureDefinition.differential.element.Slices for code.code:snomed.display This element is included in summaries. 0..1 string Representation defined by the system
StructureDefinition.differential.element.Slices for code.code:snomed.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
StructureDefinition.differential.element.Slices for code.code:icd-10 This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:icd-10.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.Slices for code.code:icd-10.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.Slices for code.code:icd-10.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/icd-10 (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:icd-10.version This element is included in summaries. 0..1 string Version of the system - if relevant
StructureDefinition.differential.element.Slices for code.code:icd-10.code This element is included in summaries. 0..1 code Symbol in syntax defined by the system
StructureDefinition.differential.element.Slices for code.code:icd-10.display This element is included in summaries. 0..1 string Representation defined by the system
StructureDefinition.differential.element.Slices for code.code:icd-10.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
StructureDefinition.differential.element.Slices for code.code:icd-11 This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:icd-11.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.Slices for code.code:icd-11.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.Slices for code.code:icd-11.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/icd-11 (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:icd-11.version This element is included in summaries. 0..1 string Version of the system - if relevant
StructureDefinition.differential.element.Slices for code.code:icd-11.code This element is included in summaries. 0..1 code Symbol in syntax defined by the system
StructureDefinition.differential.element.Slices for code.code:icd-11.display This element is included in summaries. 0..1 string Representation defined by the system
StructureDefinition.differential.element.Slices for code.code:icd-11.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
StructureDefinition.differential.element.Slices for code.code:icf This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:icf.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.Slices for code.code:icf.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.Slices for code.code:icf.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/icf (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:icf.version This element is included in summaries. 0..1 string Version of the system - if relevant
StructureDefinition.differential.element.Slices for code.code:icf.code This element is included in summaries. 0..1 code Symbol in syntax defined by the system
StructureDefinition.differential.element.Slices for code.code:icf.display This element is included in summaries. 0..1 string Representation defined by the system
StructureDefinition.differential.element.Slices for code.code:icf.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
StructureDefinition.differential.element.Slices for code.code:ichi This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:ichi.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.Slices for code.code:ichi.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.Slices for code.code:ichi.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/ichi (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:ichi.version This element is included in summaries. 0..1 string Version of the system - if relevant
StructureDefinition.differential.element.Slices for code.code:ichi.code This element is included in summaries. 0..1 code Symbol in syntax defined by the system
StructureDefinition.differential.element.Slices for code.code:ichi.display This element is included in summaries. 0..1 string Representation defined by the system
StructureDefinition.differential.element.Slices for code.code:ichi.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
StructureDefinition.differential.element.Slices for code.code:snomed-gps This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:snomed-gps.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.Slices for code.code:snomed-gps.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.Slices for code.code:snomed-gps.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/smart-gps (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:snomed-gps.version This element is included in summaries. 0..1 string Version of the system - if relevant
StructureDefinition.differential.element.Slices for code.code:snomed-gps.code This element is included in summaries. 0..1 code Symbol in syntax defined by the system
StructureDefinition.differential.element.Slices for code.code:snomed-gps.display This element is included in summaries. 0..1 string Representation defined by the system
StructureDefinition.differential.element.Slices for code.code:snomed-gps.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
StructureDefinition.differential.element.Slices for code.code:atc This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:atc.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.Slices for code.code:atc.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.Slices for code.code:atc.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/atc (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:atc.version This element is included in summaries. 0..1 string Version of the system - if relevant
StructureDefinition.differential.element.Slices for code.code:atc.code This element is included in summaries. 0..1 code Symbol in syntax defined by the system
StructureDefinition.differential.element.Slices for code.code:atc.display This element is included in summaries. 0..1 string Representation defined by the system
StructureDefinition.differential.element.Slices for code.code:atc.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
StructureDefinition.differential.element.slicing This element is included in summaries. C 0..1 Element This element is sliced - slices follow
Constraints: eld-1
StructureDefinition.differential.element.slicing.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.slicing.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.slicing.discriminator This element is included in summaries. 0..* Element Element values that are used to distinguish the slices
StructureDefinition.differential.element.slicing.discriminator.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.slicing.discriminator.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.slicing.discriminator.type This element is included in summaries. 1..1 code value | exists | pattern | type | profile
Binding: DiscriminatorType (required): How an element value is interpreted when discrimination is evaluated.
StructureDefinition.differential.element.slicing.discriminator.path This element is included in summaries. 1..1 string Path to element value
StructureDefinition.differential.element.slicing.description This element is included in summaries. C 0..1 string Text description of how slicing works (or not)
StructureDefinition.differential.element.slicing.ordered This element is included in summaries. 0..1 boolean If elements must be in same order as slices
StructureDefinition.differential.element.slicing.rules This element is included in summaries. 1..1 code closed | open | openAtEnd
Binding: SlicingRules (required): How slices are interpreted when evaluating an instance.
StructureDefinition.differential.element.short This element is included in summaries. 1..1 string Concise definition for space-constrained presentation
StructureDefinition.differential.element.definition This element is included in summaries. 1..1 markdown Full formal definition as narrative text
StructureDefinition.differential.element.comment This element is included in summaries. 0..1 markdown Comments about the use of this element
StructureDefinition.differential.element.requirements This element is included in summaries. 0..1 markdown Why this resource has been created
StructureDefinition.differential.element.alias This element is included in summaries. 0..* string Other names
StructureDefinition.differential.element.min This element is included in summaries. C 0..1 unsignedInt Minimum Cardinality
StructureDefinition.differential.element.max This element is included in summaries. C 0..1 string Maximum Cardinality (a number or *)
Constraints: eld-3
StructureDefinition.differential.element.base This element is included in summaries. 0..1 Element Base definition information for tools
StructureDefinition.differential.element.base.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.base.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.base.path This element is included in summaries. 1..1 string Path that identifies the base element
StructureDefinition.differential.element.base.min This element is included in summaries. 1..1 unsignedInt Min cardinality of the base element
StructureDefinition.differential.element.base.max This element is included in summaries. 1..1 string Max cardinality of the base element
StructureDefinition.differential.element.contentReference This element is included in summaries. C 0..1 uri Reference to definition of content for the element
StructureDefinition.differential.element.type This element is included in summaries. C 1..1 Element Data type and Profile for this element
Constraints: eld-4, eld-17
StructureDefinition.differential.element.type.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.type.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.type.code This element is included in summaries. 1..1 uri Data type or Resource (reference to definition)
Binding: FHIRDefinedType (extensible): Either a resource or a data type, including logical model types.
StructureDefinition.differential.element.type.profile This element is included in summaries. 0..* canonical(StructureDefinition | ImplementationGuide) Profiles (StructureDefinition or IG) - one must apply
StructureDefinition.differential.element.type.targetProfile This element is included in summaries. 0..* canonical(StructureDefinition | ImplementationGuide) Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply
StructureDefinition.differential.element.type.aggregation This element is included in summaries. C 0..* code contained | referenced | bundled - how aggregated
Binding: AggregationMode (required): How resource references can be aggregated.
StructureDefinition.differential.element.type.versioning This element is included in summaries. 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.
StructureDefinition.differential.element.defaultValue[x] This element is included in summaries. C 0..1 Specified value if missing from instance
StructureDefinition.differential.element.defaultValue[x].defaultValueBase64Binary base64Binary
StructureDefinition.differential.element.defaultValue[x].defaultValueBoolean boolean
StructureDefinition.differential.element.defaultValue[x].defaultValueCanonical canonical(Any)
StructureDefinition.differential.element.defaultValue[x].defaultValueCode code
StructureDefinition.differential.element.defaultValue[x].defaultValueDate date
StructureDefinition.differential.element.defaultValue[x].defaultValueDateTime dateTime
StructureDefinition.differential.element.defaultValue[x].defaultValueDecimal decimal
StructureDefinition.differential.element.defaultValue[x].defaultValueId id
StructureDefinition.differential.element.defaultValue[x].defaultValueInstant instant
StructureDefinition.differential.element.defaultValue[x].defaultValueInteger integer
StructureDefinition.differential.element.defaultValue[x].defaultValueMarkdown markdown
StructureDefinition.differential.element.defaultValue[x].defaultValueOid oid
StructureDefinition.differential.element.defaultValue[x].defaultValuePositiveInt positiveInt
StructureDefinition.differential.element.defaultValue[x].defaultValueString string
StructureDefinition.differential.element.defaultValue[x].defaultValueTime time
StructureDefinition.differential.element.defaultValue[x].defaultValueUnsignedInt unsignedInt
StructureDefinition.differential.element.defaultValue[x].defaultValueUri uri
StructureDefinition.differential.element.defaultValue[x].defaultValueUrl url
StructureDefinition.differential.element.defaultValue[x].defaultValueUuid uuid
StructureDefinition.differential.element.defaultValue[x].defaultValueAddress Address
StructureDefinition.differential.element.defaultValue[x].defaultValueAge Age
StructureDefinition.differential.element.defaultValue[x].defaultValueAnnotation Annotation
StructureDefinition.differential.element.defaultValue[x].defaultValueAttachment Attachment
StructureDefinition.differential.element.defaultValue[x].defaultValueCodeableConcept CodeableConcept
StructureDefinition.differential.element.defaultValue[x].defaultValueCoding Coding
StructureDefinition.differential.element.defaultValue[x].defaultValueContactPoint ContactPoint
StructureDefinition.differential.element.defaultValue[x].defaultValueCount Count
StructureDefinition.differential.element.defaultValue[x].defaultValueDistance Distance
StructureDefinition.differential.element.defaultValue[x].defaultValueDuration Duration
StructureDefinition.differential.element.defaultValue[x].defaultValueHumanName HumanName
StructureDefinition.differential.element.defaultValue[x].defaultValueIdentifier Identifier
StructureDefinition.differential.element.defaultValue[x].defaultValueMoney Money
StructureDefinition.differential.element.defaultValue[x].defaultValuePeriod Period
StructureDefinition.differential.element.defaultValue[x].defaultValueQuantity Quantity
StructureDefinition.differential.element.defaultValue[x].defaultValueRange Range
StructureDefinition.differential.element.defaultValue[x].defaultValueRatio Ratio
StructureDefinition.differential.element.defaultValue[x].defaultValueReference Reference(Any)
StructureDefinition.differential.element.defaultValue[x].defaultValueSampledData SampledData
StructureDefinition.differential.element.defaultValue[x].defaultValueSignature Signature
StructureDefinition.differential.element.defaultValue[x].defaultValueTiming Timing
StructureDefinition.differential.element.defaultValue[x].defaultValueContactDetail ContactDetail
StructureDefinition.differential.element.defaultValue[x].defaultValueContributor Contributor
StructureDefinition.differential.element.defaultValue[x].defaultValueDataRequirement DataRequirement
StructureDefinition.differential.element.defaultValue[x].defaultValueExpression Expression
StructureDefinition.differential.element.defaultValue[x].defaultValueParameterDefinition ParameterDefinition
StructureDefinition.differential.element.defaultValue[x].defaultValueRelatedArtifact RelatedArtifact
StructureDefinition.differential.element.defaultValue[x].defaultValueTriggerDefinition TriggerDefinition
StructureDefinition.differential.element.defaultValue[x].defaultValueUsageContext UsageContext
StructureDefinition.differential.element.defaultValue[x].defaultValueDosage Dosage
StructureDefinition.differential.element.defaultValue[x].defaultValueMeta Meta
StructureDefinition.differential.element.meaningWhenMissing This element is included in summaries. C 0..1 markdown Implicit meaning when this element is missing
StructureDefinition.differential.element.orderMeaning This element is included in summaries. 0..1 string What the order of the elements means
StructureDefinition.differential.element.fixed[x] This element is included in summaries. C 0..1 Value must be exactly this
StructureDefinition.differential.element.fixed[x].fixedBase64Binary base64Binary
StructureDefinition.differential.element.fixed[x].fixedBoolean boolean
StructureDefinition.differential.element.fixed[x].fixedCanonical canonical(Any)
StructureDefinition.differential.element.fixed[x].fixedCode code
StructureDefinition.differential.element.fixed[x].fixedDate date
StructureDefinition.differential.element.fixed[x].fixedDateTime dateTime
StructureDefinition.differential.element.fixed[x].fixedDecimal decimal
StructureDefinition.differential.element.fixed[x].fixedId id
StructureDefinition.differential.element.fixed[x].fixedInstant instant
StructureDefinition.differential.element.fixed[x].fixedInteger integer
StructureDefinition.differential.element.fixed[x].fixedMarkdown markdown
StructureDefinition.differential.element.fixed[x].fixedOid oid
StructureDefinition.differential.element.fixed[x].fixedPositiveInt positiveInt
StructureDefinition.differential.element.fixed[x].fixedString string
StructureDefinition.differential.element.fixed[x].fixedTime time
StructureDefinition.differential.element.fixed[x].fixedUnsignedInt unsignedInt
StructureDefinition.differential.element.fixed[x].fixedUri uri
StructureDefinition.differential.element.fixed[x].fixedUrl url
StructureDefinition.differential.element.fixed[x].fixedUuid uuid
StructureDefinition.differential.element.fixed[x].fixedAddress Address
StructureDefinition.differential.element.fixed[x].fixedAge Age
StructureDefinition.differential.element.fixed[x].fixedAnnotation Annotation
StructureDefinition.differential.element.fixed[x].fixedAttachment Attachment
StructureDefinition.differential.element.fixed[x].fixedCodeableConcept CodeableConcept
StructureDefinition.differential.element.fixed[x].fixedCoding Coding
StructureDefinition.differential.element.fixed[x].fixedContactPoint ContactPoint
StructureDefinition.differential.element.fixed[x].fixedCount Count
StructureDefinition.differential.element.fixed[x].fixedDistance Distance
StructureDefinition.differential.element.fixed[x].fixedDuration Duration
StructureDefinition.differential.element.fixed[x].fixedHumanName HumanName
StructureDefinition.differential.element.fixed[x].fixedIdentifier Identifier
StructureDefinition.differential.element.fixed[x].fixedMoney Money
StructureDefinition.differential.element.fixed[x].fixedPeriod Period
StructureDefinition.differential.element.fixed[x].fixedQuantity Quantity
StructureDefinition.differential.element.fixed[x].fixedRange Range
StructureDefinition.differential.element.fixed[x].fixedRatio Ratio
StructureDefinition.differential.element.fixed[x].fixedReference Reference(Any)
StructureDefinition.differential.element.fixed[x].fixedSampledData SampledData
StructureDefinition.differential.element.fixed[x].fixedSignature Signature
StructureDefinition.differential.element.fixed[x].fixedTiming Timing
StructureDefinition.differential.element.fixed[x].fixedContactDetail ContactDetail
StructureDefinition.differential.element.fixed[x].fixedContributor Contributor
StructureDefinition.differential.element.fixed[x].fixedDataRequirement DataRequirement
StructureDefinition.differential.element.fixed[x].fixedExpression Expression
StructureDefinition.differential.element.fixed[x].fixedParameterDefinition ParameterDefinition
StructureDefinition.differential.element.fixed[x].fixedRelatedArtifact RelatedArtifact
StructureDefinition.differential.element.fixed[x].fixedTriggerDefinition TriggerDefinition
StructureDefinition.differential.element.fixed[x].fixedUsageContext UsageContext
StructureDefinition.differential.element.fixed[x].fixedDosage Dosage
StructureDefinition.differential.element.fixed[x].fixedMeta Meta
StructureDefinition.differential.element.pattern[x] This element is included in summaries. C 0..1 Value must have at least these property values
StructureDefinition.differential.element.pattern[x].patternBase64Binary base64Binary
StructureDefinition.differential.element.pattern[x].patternBoolean boolean
StructureDefinition.differential.element.pattern[x].patternCanonical canonical(Any)
StructureDefinition.differential.element.pattern[x].patternCode code
StructureDefinition.differential.element.pattern[x].patternDate date
StructureDefinition.differential.element.pattern[x].patternDateTime dateTime
StructureDefinition.differential.element.pattern[x].patternDecimal decimal
StructureDefinition.differential.element.pattern[x].patternId id
StructureDefinition.differential.element.pattern[x].patternInstant instant
StructureDefinition.differential.element.pattern[x].patternInteger integer
StructureDefinition.differential.element.pattern[x].patternMarkdown markdown
StructureDefinition.differential.element.pattern[x].patternOid oid
StructureDefinition.differential.element.pattern[x].patternPositiveInt positiveInt
StructureDefinition.differential.element.pattern[x].patternString string
StructureDefinition.differential.element.pattern[x].patternTime time
StructureDefinition.differential.element.pattern[x].patternUnsignedInt unsignedInt
StructureDefinition.differential.element.pattern[x].patternUri uri
StructureDefinition.differential.element.pattern[x].patternUrl url
StructureDefinition.differential.element.pattern[x].patternUuid uuid
StructureDefinition.differential.element.pattern[x].patternAddress Address
StructureDefinition.differential.element.pattern[x].patternAge Age
StructureDefinition.differential.element.pattern[x].patternAnnotation Annotation
StructureDefinition.differential.element.pattern[x].patternAttachment Attachment
StructureDefinition.differential.element.pattern[x].patternCodeableConcept CodeableConcept
StructureDefinition.differential.element.pattern[x].patternCoding Coding
StructureDefinition.differential.element.pattern[x].patternContactPoint ContactPoint
StructureDefinition.differential.element.pattern[x].patternCount Count
StructureDefinition.differential.element.pattern[x].patternDistance Distance
StructureDefinition.differential.element.pattern[x].patternDuration Duration
StructureDefinition.differential.element.pattern[x].patternHumanName HumanName
StructureDefinition.differential.element.pattern[x].patternIdentifier Identifier
StructureDefinition.differential.element.pattern[x].patternMoney Money
StructureDefinition.differential.element.pattern[x].patternPeriod Period
StructureDefinition.differential.element.pattern[x].patternQuantity Quantity
StructureDefinition.differential.element.pattern[x].patternRange Range
StructureDefinition.differential.element.pattern[x].patternRatio Ratio
StructureDefinition.differential.element.pattern[x].patternReference Reference(Any)
StructureDefinition.differential.element.pattern[x].patternSampledData SampledData
StructureDefinition.differential.element.pattern[x].patternSignature Signature
StructureDefinition.differential.element.pattern[x].patternTiming Timing
StructureDefinition.differential.element.pattern[x].patternContactDetail ContactDetail
StructureDefinition.differential.element.pattern[x].patternContributor Contributor
StructureDefinition.differential.element.pattern[x].patternDataRequirement DataRequirement
StructureDefinition.differential.element.pattern[x].patternExpression Expression
StructureDefinition.differential.element.pattern[x].patternParameterDefinition ParameterDefinition
StructureDefinition.differential.element.pattern[x].patternRelatedArtifact RelatedArtifact
StructureDefinition.differential.element.pattern[x].patternTriggerDefinition TriggerDefinition
StructureDefinition.differential.element.pattern[x].patternUsageContext UsageContext
StructureDefinition.differential.element.pattern[x].patternDosage Dosage
StructureDefinition.differential.element.pattern[x].patternMeta Meta
StructureDefinition.differential.element.example This element is included in summaries. 0..* Element Example value (as defined for type)
StructureDefinition.differential.element.example.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.example.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.example.label This element is included in summaries. 1..1 string Describes the purpose of this example
StructureDefinition.differential.element.example.value[x] This element is included in summaries. 1..1 Value of Example (one of allowed types)
StructureDefinition.differential.element.example.value[x].valueBase64Binary base64Binary
StructureDefinition.differential.element.example.value[x].valueBoolean boolean
StructureDefinition.differential.element.example.value[x].valueCanonical canonical(Any)
StructureDefinition.differential.element.example.value[x].valueCode code
StructureDefinition.differential.element.example.value[x].valueDate date
StructureDefinition.differential.element.example.value[x].valueDateTime dateTime
StructureDefinition.differential.element.example.value[x].valueDecimal decimal
StructureDefinition.differential.element.example.value[x].valueId id
StructureDefinition.differential.element.example.value[x].valueInstant instant
StructureDefinition.differential.element.example.value[x].valueInteger integer
StructureDefinition.differential.element.example.value[x].valueMarkdown markdown
StructureDefinition.differential.element.example.value[x].valueOid oid
StructureDefinition.differential.element.example.value[x].valuePositiveInt positiveInt
StructureDefinition.differential.element.example.value[x].valueString string
StructureDefinition.differential.element.example.value[x].valueTime time
StructureDefinition.differential.element.example.value[x].valueUnsignedInt unsignedInt
StructureDefinition.differential.element.example.value[x].valueUri uri
StructureDefinition.differential.element.example.value[x].valueUrl url
StructureDefinition.differential.element.example.value[x].valueUuid uuid
StructureDefinition.differential.element.example.value[x].valueAddress Address
StructureDefinition.differential.element.example.value[x].valueAge Age
StructureDefinition.differential.element.example.value[x].valueAnnotation Annotation
StructureDefinition.differential.element.example.value[x].valueAttachment Attachment
StructureDefinition.differential.element.example.value[x].valueCodeableConcept CodeableConcept
StructureDefinition.differential.element.example.value[x].valueCoding Coding
StructureDefinition.differential.element.example.value[x].valueContactPoint ContactPoint
StructureDefinition.differential.element.example.value[x].valueCount Count
StructureDefinition.differential.element.example.value[x].valueDistance Distance
StructureDefinition.differential.element.example.value[x].valueDuration Duration
StructureDefinition.differential.element.example.value[x].valueHumanName HumanName
StructureDefinition.differential.element.example.value[x].valueIdentifier Identifier
StructureDefinition.differential.element.example.value[x].valueMoney Money
StructureDefinition.differential.element.example.value[x].valuePeriod Period
StructureDefinition.differential.element.example.value[x].valueQuantity Quantity
StructureDefinition.differential.element.example.value[x].valueRange Range
StructureDefinition.differential.element.example.value[x].valueRatio Ratio
StructureDefinition.differential.element.example.value[x].valueReference Reference(Any)
StructureDefinition.differential.element.example.value[x].valueSampledData SampledData
StructureDefinition.differential.element.example.value[x].valueSignature Signature
StructureDefinition.differential.element.example.value[x].valueTiming Timing
StructureDefinition.differential.element.example.value[x].valueContactDetail ContactDetail
StructureDefinition.differential.element.example.value[x].valueContributor Contributor
StructureDefinition.differential.element.example.value[x].valueDataRequirement DataRequirement
StructureDefinition.differential.element.example.value[x].valueExpression Expression
StructureDefinition.differential.element.example.value[x].valueParameterDefinition ParameterDefinition
StructureDefinition.differential.element.example.value[x].valueRelatedArtifact RelatedArtifact
StructureDefinition.differential.element.example.value[x].valueTriggerDefinition TriggerDefinition
StructureDefinition.differential.element.example.value[x].valueUsageContext UsageContext
StructureDefinition.differential.element.example.value[x].valueDosage Dosage
StructureDefinition.differential.element.example.value[x].valueMeta Meta
StructureDefinition.differential.element.minValue[x] This element is included in summaries. 0..1 Minimum Allowed Value (for some types)
StructureDefinition.differential.element.minValue[x].minValueDate date
StructureDefinition.differential.element.minValue[x].minValueDateTime dateTime
StructureDefinition.differential.element.minValue[x].minValueInstant instant
StructureDefinition.differential.element.minValue[x].minValueTime time
StructureDefinition.differential.element.minValue[x].minValueDecimal decimal
StructureDefinition.differential.element.minValue[x].minValueInteger integer
StructureDefinition.differential.element.minValue[x].minValuePositiveInt positiveInt
StructureDefinition.differential.element.minValue[x].minValueUnsignedInt unsignedInt
StructureDefinition.differential.element.minValue[x].minValueQuantity Quantity
StructureDefinition.differential.element.maxValue[x] This element is included in summaries. 0..1 Maximum Allowed Value (for some types)
StructureDefinition.differential.element.maxValue[x].maxValueDate date
StructureDefinition.differential.element.maxValue[x].maxValueDateTime dateTime
StructureDefinition.differential.element.maxValue[x].maxValueInstant instant
StructureDefinition.differential.element.maxValue[x].maxValueTime time
StructureDefinition.differential.element.maxValue[x].maxValueDecimal decimal
StructureDefinition.differential.element.maxValue[x].maxValueInteger integer
StructureDefinition.differential.element.maxValue[x].maxValuePositiveInt positiveInt
StructureDefinition.differential.element.maxValue[x].maxValueUnsignedInt unsignedInt
StructureDefinition.differential.element.maxValue[x].maxValueQuantity Quantity
StructureDefinition.differential.element.maxLength This element is included in summaries. 0..1 integer Max length for strings
StructureDefinition.differential.element.condition This element is included in summaries. 0..* id Reference to invariant about presence
StructureDefinition.differential.element.constraint This element is included in summaries. C 0..* Element Condition that must evaluate to true
Constraints: eld-21
StructureDefinition.differential.element.constraint.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.constraint.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.constraint.key This element is included in summaries. C 1..1 id Target of 'condition' reference above
StructureDefinition.differential.element.constraint.requirements This element is included in summaries. 0..1 string Why this constraint is necessary or appropriate
StructureDefinition.differential.element.constraint.severity This element is included in summaries. 1..1 code error | warning
Binding: ConstraintSeverity (required): SHALL applications comply with this constraint?
StructureDefinition.differential.element.constraint.human This element is included in summaries. 1..1 string Human description of constraint
StructureDefinition.differential.element.constraint.expression This element is included in summaries. 0..1 string FHIRPath expression of constraint
StructureDefinition.differential.element.constraint.xpath This element is included in summaries. 0..1 string XPath expression of constraint
StructureDefinition.differential.element.constraint.source This element is included in summaries. 0..1 canonical(StructureDefinition) Reference to original source of constraint
StructureDefinition.differential.element.mustSupport This element is included in summaries. 0..1 boolean If the element must be supported
StructureDefinition.differential.element.isModifier This element is included in summaries. 0..1 boolean If this modifies the meaning of other elements
StructureDefinition.differential.element.isModifierReason This element is included in summaries. 0..1 string Reason that this element is marked as a modifier
StructureDefinition.differential.element.isSummary This element is included in summaries. 0..1 boolean Include when _summary = true?
StructureDefinition.differential.element.binding This element is included in summaries. C 0..1 Element ValueSet details if this is coded
Constraints: eld-12
StructureDefinition.differential.element.binding.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.binding.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.binding.strength This element is included in summaries. 1..1 code required | extensible | preferred | example
Binding: BindingStrength (required): Indication of the degree of conformance expectations associated with a binding.
StructureDefinition.differential.element.binding.description This element is included in summaries. 0..1 string Human explanation of the value set
StructureDefinition.differential.element.binding.valueSet This element is included in summaries. C 0..1 canonical(ValueSet) Source of value set
StructureDefinition.differential.element.mapping This element is included in summaries. 0..* Element Map element to another set of definitions
StructureDefinition.differential.element.mapping.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.mapping.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.mapping.identity This element is included in summaries. 1..1 id Reference to mapping declaration
StructureDefinition.differential.element.mapping.language This element is included in summaries. 0..1 code Computable language of mapping
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
StructureDefinition.differential.element.mapping.map This element is included in summaries. 1..1 string Details of the mapping
StructureDefinition.differential.element.mapping.comment This element is included in summaries. 0..1 string Comments about the mapping or its use

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
StructureDefinition.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
StructureDefinition.​status Base required PublicationStatus 📍4.0.1 FHIR Std.
StructureDefinition.​jurisdiction Base extensible Jurisdiction 📍4.0.1 FHIR Std.
StructureDefinition.​keyword Base extensible Structure Definition Use Codes / Keywords 📍4.0.1 FHIR Std.
StructureDefinition.​fhirVersion Base required FHIRVersion 📍4.0.1 FHIR Std.
StructureDefinition.​kind Base required StructureDefinitionKind 📍4.0.1 FHIR Std.
StructureDefinition.​context.type Base required ExtensionContextType 📍4.0.1 FHIR Std.
StructureDefinition.​type Base extensible FHIRDefinedType 📍4.0.1 FHIR Std.
StructureDefinition.​derivation Base required TypeDerivationRule 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​representation Base required PropertyRepresentation 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:smart Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:loinc Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:snomed Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:icd-10 Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:icd-11 Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:icf Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:ichi Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:snomed-gps Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:atc Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​slicing.discriminator.​type Base required DiscriminatorType 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​slicing.rules Base required SlicingRules 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​type.code Base extensible FHIRDefinedType 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​type.aggregation Base required AggregationMode 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​type.versioning Base required ReferenceVersionRules 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​constraint.severity Base required ConstraintSeverity 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​binding.strength Base required BindingStrength 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​mapping.language Base required MimeType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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
Requirements:

No Type on the root element (differential)

(kind!='logical' and differential.element.first().path.contains('.').not()) implies differential.element.first().type.empty()
sdf-2 error StructureDefinition.mapping Must have at least a name or a uri (or both) name.exists() or uri.exists()
sdf-3 error StructureDefinition.snapshot Each element definition in a snapshot must have a formal definition and cardinalities element.all(definition.exists() and min.exists() and max.exists())
sdf-4 error StructureDefinition If the structure is not abstract, then there SHALL be a baseDefinition
Requirements:

Ensure that the base types are abstract

abstract = true or baseDefinition.exists()
sdf-5 error StructureDefinition If the structure defines an extension then the structure must have context information type != 'Extension' or derivation = 'specialization' or (context.exists())
sdf-6 error StructureDefinition A structure must have either a differential, or a snapshot (or both) snapshot.exists() or differential.exists()
sdf-8 error StructureDefinition.snapshot All snapshot elements must start with the StructureDefinition's specified type for non-logical models, or with the same type name for logical models (%resource.kind = 'logical' or element.first().path = %resource.type) and element.tail().all(path.startsWith(%resource.snapshot.element.first().path&'.'))
sdf-10 error StructureDefinition.snapshot.element provide either a binding reference or a description (or both)
Requirements:

binding is required

binding.empty() or binding.valueSet.exists() or binding.description.exists()
sdf-11 error StructureDefinition If there's a type, its content must match the path name in the first element of a snapshot
Requirements:

Ensure that the type is not inconsistent with the other information in the structure

kind != 'logical' implies snapshot.empty() or snapshot.element.first().path = type
sdf-14 error StructureDefinition All element definitions must have an id
Requirements:

elements have id

snapshot.element.all(id.exists()) and differential.element.all(id.exists())
sdf-15 error StructureDefinition The first element in a snapshot has no type unless model is a logical model.
Requirements:

No Type on the root element (snapshot)

kind!='logical' implies snapshot.element.first().type.empty()
sdf-16 error StructureDefinition All element definitions must have unique ids (snapshot)
Requirements:

element ids need to be unique

snapshot.element.all(id.exists()) and snapshot.element.id.trace('ids').isDistinct()
sdf-17 error StructureDefinition All element definitions must have unique ids (diff)
Requirements:

element ids need to be unique

differential.element.all(id.exists()) and differential.element.id.trace('ids').isDistinct()
sdf-18 error StructureDefinition Context Invariants can only be used for extensions
Requirements:

contextInvariant

contextInvariant.exists() implies type = 'Extension'
sdf-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)
Requirements:

Because these 3 fields seem to be have overlapping meaning with the ones in the root of StructureDefinition

children().element.where(path.contains('.').not()).label.empty() and children().element.where(path.contains('.').not()).code.empty() and children().element.where(path.contains('.').not()).requirements.empty()
sdf-19 error StructureDefinition FHIR Specification models only use FHIR defined types
Requirements:

custom types only in logical models

url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (differential.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]+$')))
sdf-20 error StructureDefinition.differential No slicing on the root element
Requirements:

no slicing on root

element.where(path.contains('.').not()).slicing.empty()
sdf-21 error StructureDefinition Default values can only be specified on specializations
Requirements:

no default values on data types or resources

differential.element.defaultValue.exists() implies (derivation = 'specialization')
sdf-22 error StructureDefinition FHIR Specification models never have default values
Requirements:

no default values on data types or resources

url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (snapshot.element.defaultValue.empty() and differential.element.defaultValue.empty())
sdf-23 error StructureDefinition No slice name on root
Requirements:

no sliceName on root

(snapshot | differential).element.all(path.contains('.').not() implies sliceName.empty())
sdf-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:

  • The element 1 is sliced based on the value of StructureDefinition.differential.element.code

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
StructureDefinition C 0..* StructureDefinition Structural Definition
Constraints: sdf-0, sdf-1, sdf-15a, sdf-4, sdf-5, sdf-6, sdf-9, sdf-11, sdf-14, sdf-15, sdf-16, sdf-17, sdf-18, sdf-19, sdf-21, sdf-22, sdf-23
StructureDefinition.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
StructureDefinition.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
StructureDefinition.url This element is included in summaries. 1..1 uri Canonical identifier for this structure definition, represented as a URI (globally unique)
StructureDefinition.name This element is included in summaries. C 1..1 string Name for this structure definition (computer friendly)
StructureDefinition.title This element is included in summaries. 1..1 string Name for this structure definition (human friendly)
StructureDefinition.status This element is a modifier element. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
StructureDefinition.publisher This element is included in summaries. 1..1 string Name of the publisher (organization or individual)
StructureDefinition.description 1..1 markdown Natural language description of the structure definition
StructureDefinition.kind This element is included in summaries. 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 (extensions allowed)
StructureDefinition.abstract This element is included in summaries. 1..1 boolean Whether the structure is abstract
StructureDefinition.type This element is included in summaries. 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.
StructureDefinition.differential C 0..1 BackboneElement Differential view of the structure
Constraints: sdf-20, sdf-8a
StructureDefinition.differential.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
StructureDefinition.differential.element 1..* ElementDefinition Definition of elements in the resource (if no StructureDefinition)
StructureDefinition.differential.element.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
StructureDefinition.differential.element.path This element is included in summaries. 1..1 string Path of the element in the hierarchy of elements
StructureDefinition.differential.element.Slices for code This element is included in summaries. 1..* Coding Corresponding codes in terminologies
Slice: Unordered, Open by pattern:system
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
StructureDefinition.differential.element.Slices for code.code:smart This element must be supported. This element is included in summaries. 1..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:smart.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/smart (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:loinc This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:loinc.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/loinc (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:snomed This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:snomed.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/snomed (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:icd-10 This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:icd-10.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/icd-10 (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:icd-11 This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:icd-11.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/icd-11 (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:icf This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:icf.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/icf (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:ichi This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:ichi.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/ichi (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:snomed-gps This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:snomed-gps.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/smart-gps (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:atc This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:atc.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/atc (extensions allowed)
StructureDefinition.differential.element.short This element is included in summaries. 1..1 string Concise definition for space-constrained presentation
StructureDefinition.differential.element.definition This element is included in summaries. 1..1 markdown Full formal definition as narrative text
StructureDefinition.differential.element.max This element is included in summaries. C 0..1 string Maximum Cardinality (a number or *)
Constraints: eld-3
StructureDefinition.differential.element.type This element is included in summaries. C 1..1 Element Data type and Profile for this element
Constraints: eld-4, eld-17
StructureDefinition.differential.element.type.code This element is included in summaries. 1..1 uri Data type or Resource (reference to definition)
Binding: FHIRDefinedType (extensible): Either a resource or a data type, including logical model types.
StructureDefinition.differential.element.fixed[x] This element is included in summaries. C 0..1 Value must be exactly this
StructureDefinition.differential.element.fixed[x].fixedBase64Binary base64Binary
StructureDefinition.differential.element.fixed[x].fixedBoolean boolean
StructureDefinition.differential.element.fixed[x].fixedCanonical canonical(Any)
StructureDefinition.differential.element.fixed[x].fixedCode code
StructureDefinition.differential.element.fixed[x].fixedDate date
StructureDefinition.differential.element.fixed[x].fixedDateTime dateTime
StructureDefinition.differential.element.fixed[x].fixedDecimal decimal
StructureDefinition.differential.element.fixed[x].fixedId id
StructureDefinition.differential.element.fixed[x].fixedInstant instant
StructureDefinition.differential.element.fixed[x].fixedInteger integer
StructureDefinition.differential.element.fixed[x].fixedMarkdown markdown
StructureDefinition.differential.element.fixed[x].fixedOid oid
StructureDefinition.differential.element.fixed[x].fixedPositiveInt positiveInt
StructureDefinition.differential.element.fixed[x].fixedString string
StructureDefinition.differential.element.fixed[x].fixedTime time
StructureDefinition.differential.element.fixed[x].fixedUnsignedInt unsignedInt
StructureDefinition.differential.element.fixed[x].fixedUri uri
StructureDefinition.differential.element.fixed[x].fixedUrl url
StructureDefinition.differential.element.fixed[x].fixedUuid uuid
StructureDefinition.differential.element.fixed[x].fixedAddress Address
StructureDefinition.differential.element.fixed[x].fixedAge Age
StructureDefinition.differential.element.fixed[x].fixedAnnotation Annotation
StructureDefinition.differential.element.fixed[x].fixedAttachment Attachment
StructureDefinition.differential.element.fixed[x].fixedCodeableConcept CodeableConcept
StructureDefinition.differential.element.fixed[x].fixedCoding Coding
StructureDefinition.differential.element.fixed[x].fixedContactPoint ContactPoint
StructureDefinition.differential.element.fixed[x].fixedCount Count
StructureDefinition.differential.element.fixed[x].fixedDistance Distance
StructureDefinition.differential.element.fixed[x].fixedDuration Duration
StructureDefinition.differential.element.fixed[x].fixedHumanName HumanName
StructureDefinition.differential.element.fixed[x].fixedIdentifier Identifier
StructureDefinition.differential.element.fixed[x].fixedMoney Money
StructureDefinition.differential.element.fixed[x].fixedPeriod Period
StructureDefinition.differential.element.fixed[x].fixedQuantity Quantity
StructureDefinition.differential.element.fixed[x].fixedRange Range
StructureDefinition.differential.element.fixed[x].fixedRatio Ratio
StructureDefinition.differential.element.fixed[x].fixedReference Reference(Any)
StructureDefinition.differential.element.fixed[x].fixedSampledData SampledData
StructureDefinition.differential.element.fixed[x].fixedSignature Signature
StructureDefinition.differential.element.fixed[x].fixedTiming Timing
StructureDefinition.differential.element.fixed[x].fixedContactDetail ContactDetail
StructureDefinition.differential.element.fixed[x].fixedContributor Contributor
StructureDefinition.differential.element.fixed[x].fixedDataRequirement DataRequirement
StructureDefinition.differential.element.fixed[x].fixedExpression Expression
StructureDefinition.differential.element.fixed[x].fixedParameterDefinition ParameterDefinition
StructureDefinition.differential.element.fixed[x].fixedRelatedArtifact RelatedArtifact
StructureDefinition.differential.element.fixed[x].fixedTriggerDefinition TriggerDefinition
StructureDefinition.differential.element.fixed[x].fixedUsageContext UsageContext
StructureDefinition.differential.element.fixed[x].fixedDosage Dosage
StructureDefinition.differential.element.fixed[x].fixedMeta Meta
StructureDefinition.differential.element.pattern[x] This element is included in summaries. C 0..1 Value must have at least these property values
StructureDefinition.differential.element.pattern[x].patternBase64Binary base64Binary
StructureDefinition.differential.element.pattern[x].patternBoolean boolean
StructureDefinition.differential.element.pattern[x].patternCanonical canonical(Any)
StructureDefinition.differential.element.pattern[x].patternCode code
StructureDefinition.differential.element.pattern[x].patternDate date
StructureDefinition.differential.element.pattern[x].patternDateTime dateTime
StructureDefinition.differential.element.pattern[x].patternDecimal decimal
StructureDefinition.differential.element.pattern[x].patternId id
StructureDefinition.differential.element.pattern[x].patternInstant instant
StructureDefinition.differential.element.pattern[x].patternInteger integer
StructureDefinition.differential.element.pattern[x].patternMarkdown markdown
StructureDefinition.differential.element.pattern[x].patternOid oid
StructureDefinition.differential.element.pattern[x].patternPositiveInt positiveInt
StructureDefinition.differential.element.pattern[x].patternString string
StructureDefinition.differential.element.pattern[x].patternTime time
StructureDefinition.differential.element.pattern[x].patternUnsignedInt unsignedInt
StructureDefinition.differential.element.pattern[x].patternUri uri
StructureDefinition.differential.element.pattern[x].patternUrl url
StructureDefinition.differential.element.pattern[x].patternUuid uuid
StructureDefinition.differential.element.pattern[x].patternAddress Address
StructureDefinition.differential.element.pattern[x].patternAge Age
StructureDefinition.differential.element.pattern[x].patternAnnotation Annotation
StructureDefinition.differential.element.pattern[x].patternAttachment Attachment
StructureDefinition.differential.element.pattern[x].patternCodeableConcept CodeableConcept
StructureDefinition.differential.element.pattern[x].patternCoding Coding
StructureDefinition.differential.element.pattern[x].patternContactPoint ContactPoint
StructureDefinition.differential.element.pattern[x].patternCount Count
StructureDefinition.differential.element.pattern[x].patternDistance Distance
StructureDefinition.differential.element.pattern[x].patternDuration Duration
StructureDefinition.differential.element.pattern[x].patternHumanName HumanName
StructureDefinition.differential.element.pattern[x].patternIdentifier Identifier
StructureDefinition.differential.element.pattern[x].patternMoney Money
StructureDefinition.differential.element.pattern[x].patternPeriod Period
StructureDefinition.differential.element.pattern[x].patternQuantity Quantity
StructureDefinition.differential.element.pattern[x].patternRange Range
StructureDefinition.differential.element.pattern[x].patternRatio Ratio
StructureDefinition.differential.element.pattern[x].patternReference Reference(Any)
StructureDefinition.differential.element.pattern[x].patternSampledData SampledData
StructureDefinition.differential.element.pattern[x].patternSignature Signature
StructureDefinition.differential.element.pattern[x].patternTiming Timing
StructureDefinition.differential.element.pattern[x].patternContactDetail ContactDetail
StructureDefinition.differential.element.pattern[x].patternContributor Contributor
StructureDefinition.differential.element.pattern[x].patternDataRequirement DataRequirement
StructureDefinition.differential.element.pattern[x].patternExpression Expression
StructureDefinition.differential.element.pattern[x].patternParameterDefinition ParameterDefinition
StructureDefinition.differential.element.pattern[x].patternRelatedArtifact RelatedArtifact
StructureDefinition.differential.element.pattern[x].patternTriggerDefinition TriggerDefinition
StructureDefinition.differential.element.pattern[x].patternUsageContext UsageContext
StructureDefinition.differential.element.pattern[x].patternDosage Dosage
StructureDefinition.differential.element.pattern[x].patternMeta Meta

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
StructureDefinition.​status Base required PublicationStatus 📍4.0.1 FHIR Std.
StructureDefinition.​kind Base required StructureDefinitionKind 📍4.0.1 FHIR Std.
StructureDefinition.​type Base extensible FHIRDefinedType 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:smart Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:loinc Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:snomed Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:icd-10 Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:icd-11 Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:icf Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:ichi Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:snomed-gps Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:atc Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​type.code Base extensible FHIRDefinedType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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
Requirements:

Ensure that the base types are abstract

abstract = true or baseDefinition.exists()
sdf-5 error StructureDefinition If the structure defines an extension then the structure must have context information type != 'Extension' or derivation = 'specialization' or (context.exists())
sdf-6 error StructureDefinition A structure must have either a differential, or a snapshot (or both) snapshot.exists() or differential.exists()
sdf-9 error StructureDefinition In any snapshot or differential, no label, code or requirements on an element without a "." in the path (e.g. the first element)
Requirements:

Because these 3 fields seem to be have overlapping meaning with the ones in the root of StructureDefinition

children().element.where(path.contains('.').not()).label.empty() and children().element.where(path.contains('.').not()).code.empty() and children().element.where(path.contains('.').not()).requirements.empty()
sdf-11 error StructureDefinition If there's a type, its content must match the path name in the first element of a snapshot
Requirements:

Ensure that the type is not inconsistent with the other information in the structure

kind != 'logical' implies snapshot.empty() or snapshot.element.first().path = type
sdf-14 error StructureDefinition All element definitions must have an id
Requirements:

elements have id

snapshot.element.all(id.exists()) and differential.element.all(id.exists())
sdf-15 error StructureDefinition The first element in a snapshot has no type unless model is a logical model.
Requirements:

No Type on the root element (snapshot)

kind!='logical' implies snapshot.element.first().type.empty()
sdf-15a error StructureDefinition If the first element in a differential has no "." in the path and it's not a logical model, it has no type
Requirements:

No Type on the root element (differential)

(kind!='logical' and differential.element.first().path.contains('.').not()) implies differential.element.first().type.empty()
sdf-16 error StructureDefinition All element definitions must have unique ids (snapshot)
Requirements:

element ids need to be unique

snapshot.element.all(id.exists()) and snapshot.element.id.trace('ids').isDistinct()
sdf-17 error StructureDefinition All element definitions must have unique ids (diff)
Requirements:

element ids need to be unique

differential.element.all(id.exists()) and differential.element.id.trace('ids').isDistinct()
sdf-18 error StructureDefinition Context Invariants can only be used for extensions
Requirements:

contextInvariant

contextInvariant.exists() implies type = 'Extension'
sdf-19 error StructureDefinition FHIR Specification models only use FHIR defined types
Requirements:

custom types only in logical models

url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (differential.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]+$')))
sdf-20 error StructureDefinition.differential No slicing on the root element
Requirements:

no slicing on root

element.where(path.contains('.').not()).slicing.empty()
sdf-21 error StructureDefinition Default values can only be specified on specializations
Requirements:

no default values on data types or resources

differential.element.defaultValue.exists() implies (derivation = 'specialization')
sdf-22 error StructureDefinition FHIR Specification models never have default values
Requirements:

no default values on data types or resources

url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (snapshot.element.defaultValue.empty() and differential.element.defaultValue.empty())
sdf-23 error StructureDefinition No slice name on root
Requirements:

no sliceName on root

(snapshot | differential).element.all(path.contains('.').not() implies sliceName.empty())
sdf-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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
StructureDefinition 0..* StructureDefinition Structural Definition
StructureDefinition.title 1..1 string Name for this structure definition (human friendly)
StructureDefinition.publisher 1..1 string Name of the publisher (organization or individual)
StructureDefinition.description 1..1 markdown Natural language description of the structure definition
StructureDefinition.kind 1..1 code primitive-type | complex-type | resource | logical
Required Pattern: logical (extensions allowed)
StructureDefinition.differential
StructureDefinition.differential.element
StructureDefinition.differential.element.Slices for code 1..* Coding Corresponding codes in terminologies
Slice: Unordered, Open by pattern:system
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
StructureDefinition.differential.element.Slices for code.code:smart This element must be supported. 1..1 Coding Corresponding codes in terminologies
StructureDefinition.differential.element.Slices for code.code:smart.system 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/smart (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:loinc This element must be supported. 0..1 Coding Corresponding codes in terminologies
StructureDefinition.differential.element.Slices for code.code:loinc.system 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/loinc (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:snomed This element must be supported. 0..1 Coding Corresponding codes in terminologies
StructureDefinition.differential.element.Slices for code.code:snomed.system 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/snomed (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:icd-10 This element must be supported. 0..1 Coding Corresponding codes in terminologies
StructureDefinition.differential.element.Slices for code.code:icd-10.system 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/icd-10 (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:icd-11 This element must be supported. 0..1 Coding Corresponding codes in terminologies
StructureDefinition.differential.element.Slices for code.code:icd-11.system 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/icd-11 (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:icf This element must be supported. 0..1 Coding Corresponding codes in terminologies
StructureDefinition.differential.element.Slices for code.code:icf.system 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/icf (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:ichi This element must be supported. 0..1 Coding Corresponding codes in terminologies
StructureDefinition.differential.element.Slices for code.code:ichi.system 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/ichi (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:snomed-gps This element must be supported. 0..1 Coding Corresponding codes in terminologies
StructureDefinition.differential.element.Slices for code.code:snomed-gps.system 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/smart-gps (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:atc This element must be supported. 0..1 Coding Corresponding codes in terminologies
StructureDefinition.differential.element.Slices for code.code:atc.system 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/atc (extensions allowed)
StructureDefinition.differential.element.short 1..1 string Concise definition for space-constrained presentation
StructureDefinition.differential.element.definition 1..1 markdown Full formal definition as narrative text
StructureDefinition.differential.element.type 1..1 Element Data type and Profile for this element

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
StructureDefinition C 0..* StructureDefinition Structural Definition
Constraints: sdf-0, sdf-1, sdf-15a, sdf-4, sdf-5, sdf-6, sdf-9, sdf-11, sdf-14, sdf-15, sdf-16, sdf-17, sdf-18, sdf-19, sdf-21, sdf-22, sdf-23
StructureDefinition.id This element is included in summaries. 0..1 id Logical id of this artifact
StructureDefinition.meta This element is included in summaries. 0..1 Meta Metadata about the resource
StructureDefinition.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
StructureDefinition.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
StructureDefinition.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
StructureDefinition.contained 0..* Resource Contained, inline Resources
StructureDefinition.extension 0..* Extension Additional content defined by implementations
StructureDefinition.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
StructureDefinition.url This element is included in summaries. 1..1 uri Canonical identifier for this structure definition, represented as a URI (globally unique)
StructureDefinition.identifier This element is included in summaries. 0..* Identifier Additional identifier for the structure definition
StructureDefinition.version This element is included in summaries. 0..1 string Business version of the structure definition
StructureDefinition.name This element is included in summaries. C 1..1 string Name for this structure definition (computer friendly)
StructureDefinition.title This element is included in summaries. 1..1 string Name for this structure definition (human friendly)
StructureDefinition.status This element is a modifier element. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
StructureDefinition.experimental This element is included in summaries. 0..1 boolean For testing purposes, not real usage
StructureDefinition.date This element is included in summaries. 0..1 dateTime Date last changed
StructureDefinition.publisher This element is included in summaries. 1..1 string Name of the publisher (organization or individual)
StructureDefinition.contact This element is included in summaries. 0..* ContactDetail Contact details for the publisher
StructureDefinition.description 1..1 markdown Natural language description of the structure definition
StructureDefinition.useContext This element is included in summaries. 0..* UsageContext The context that the content is intended to support
StructureDefinition.jurisdiction This element is included in summaries. 0..* CodeableConcept Intended jurisdiction for structure definition (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
StructureDefinition.purpose 0..1 markdown Why this structure definition is defined
StructureDefinition.copyright 0..1 markdown Use and/or publishing restrictions
StructureDefinition.keyword This element is included in summaries. 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).
StructureDefinition.fhirVersion This element is included in summaries. 0..1 code FHIR Version this StructureDefinition targets
Binding: FHIRVersion (required): All published FHIR Versions.
StructureDefinition.mapping C 0..* BackboneElement External specification that the content is mapped to
Constraints: sdf-2
StructureDefinition.mapping.id 0..1 string Unique id for inter-element referencing
StructureDefinition.mapping.extension 0..* Extension Additional content defined by implementations
StructureDefinition.mapping.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
StructureDefinition.mapping.identity 1..1 id Internal id when this mapping is used
StructureDefinition.mapping.uri C 0..1 uri Identifies what this mapping refers to
StructureDefinition.mapping.name C 0..1 string Names what this mapping refers to
StructureDefinition.mapping.comment 0..1 string Versions, Issues, Scope limitations etc.
StructureDefinition.kind This element is included in summaries. 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 (extensions allowed)
StructureDefinition.abstract This element is included in summaries. 1..1 boolean Whether the structure is abstract
StructureDefinition.context This element is included in summaries. C 0..* BackboneElement If an extension, where it can be used in instances
StructureDefinition.context.id 0..1 string Unique id for inter-element referencing
StructureDefinition.context.extension 0..* Extension Additional content defined by implementations
StructureDefinition.context.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
StructureDefinition.context.type This element is included in summaries. 1..1 code fhirpath | element | extension
Binding: ExtensionContextType (required): How an extension context is interpreted.
StructureDefinition.context.expression This element is included in summaries. 1..1 string Where the extension can be used in instances
StructureDefinition.contextInvariant This element is included in summaries. C 0..* string FHIRPath invariants - when the extension can be used
StructureDefinition.type This element is included in summaries. 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.
StructureDefinition.baseDefinition This element is included in summaries. C 0..1 canonical(StructureDefinition) Definition that this type is constrained/specialized from
StructureDefinition.derivation This element is included in summaries. 0..1 code specialization | constraint - How relates to base definition
Binding: TypeDerivationRule (required): How a type relates to its baseDefinition.
StructureDefinition.snapshot C 0..1 BackboneElement Snapshot view of the structure
Constraints: sdf-3, sdf-8, sdf-8b
StructureDefinition.snapshot.id 0..1 string Unique id for inter-element referencing
StructureDefinition.snapshot.extension 0..* Extension Additional content defined by implementations
StructureDefinition.snapshot.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
StructureDefinition.snapshot.element C 1..* ElementDefinition Definition of elements in the resource (if no StructureDefinition)
Constraints: sdf-10
StructureDefinition.differential C 0..1 BackboneElement Differential view of the structure
Constraints: sdf-20, sdf-8a
StructureDefinition.differential.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.extension 0..* Extension Additional content defined by implementations
StructureDefinition.differential.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
StructureDefinition.differential.element 1..* ElementDefinition Definition of elements in the resource (if no StructureDefinition)
StructureDefinition.differential.element.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
StructureDefinition.differential.element.path This element is included in summaries. 1..1 string Path of the element in the hierarchy of elements
StructureDefinition.differential.element.representation This element is included in summaries. 0..* code xmlAttr | xmlText | typeAttr | cdaText | xhtml
Binding: PropertyRepresentation (required): How a property is represented when serialized.
StructureDefinition.differential.element.sliceName This element is included in summaries. 0..1 string Name for this particular element (in a set of slices)
StructureDefinition.differential.element.sliceIsConstraining This element is included in summaries. 0..1 boolean If this slice definition constrains an inherited slice definition (or not)
StructureDefinition.differential.element.label This element is included in summaries. 0..1 string Name for element to display with or prompt for element
StructureDefinition.differential.element.Slices for code This element is included in summaries. 1..* Coding Corresponding codes in terminologies
Slice: Unordered, Open by pattern:system
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
StructureDefinition.differential.element.Slices for code.code:smart This element must be supported. This element is included in summaries. 1..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:smart.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.Slices for code.code:smart.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.Slices for code.code:smart.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/smart (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:smart.version This element is included in summaries. 0..1 string Version of the system - if relevant
StructureDefinition.differential.element.Slices for code.code:smart.code This element is included in summaries. 0..1 code Symbol in syntax defined by the system
StructureDefinition.differential.element.Slices for code.code:smart.display This element is included in summaries. 0..1 string Representation defined by the system
StructureDefinition.differential.element.Slices for code.code:smart.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
StructureDefinition.differential.element.Slices for code.code:loinc This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:loinc.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.Slices for code.code:loinc.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.Slices for code.code:loinc.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/loinc (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:loinc.version This element is included in summaries. 0..1 string Version of the system - if relevant
StructureDefinition.differential.element.Slices for code.code:loinc.code This element is included in summaries. 0..1 code Symbol in syntax defined by the system
StructureDefinition.differential.element.Slices for code.code:loinc.display This element is included in summaries. 0..1 string Representation defined by the system
StructureDefinition.differential.element.Slices for code.code:loinc.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
StructureDefinition.differential.element.Slices for code.code:snomed This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:snomed.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.Slices for code.code:snomed.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.Slices for code.code:snomed.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/snomed (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:snomed.version This element is included in summaries. 0..1 string Version of the system - if relevant
StructureDefinition.differential.element.Slices for code.code:snomed.code This element is included in summaries. 0..1 code Symbol in syntax defined by the system
StructureDefinition.differential.element.Slices for code.code:snomed.display This element is included in summaries. 0..1 string Representation defined by the system
StructureDefinition.differential.element.Slices for code.code:snomed.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
StructureDefinition.differential.element.Slices for code.code:icd-10 This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:icd-10.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.Slices for code.code:icd-10.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.Slices for code.code:icd-10.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/icd-10 (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:icd-10.version This element is included in summaries. 0..1 string Version of the system - if relevant
StructureDefinition.differential.element.Slices for code.code:icd-10.code This element is included in summaries. 0..1 code Symbol in syntax defined by the system
StructureDefinition.differential.element.Slices for code.code:icd-10.display This element is included in summaries. 0..1 string Representation defined by the system
StructureDefinition.differential.element.Slices for code.code:icd-10.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
StructureDefinition.differential.element.Slices for code.code:icd-11 This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:icd-11.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.Slices for code.code:icd-11.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.Slices for code.code:icd-11.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/icd-11 (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:icd-11.version This element is included in summaries. 0..1 string Version of the system - if relevant
StructureDefinition.differential.element.Slices for code.code:icd-11.code This element is included in summaries. 0..1 code Symbol in syntax defined by the system
StructureDefinition.differential.element.Slices for code.code:icd-11.display This element is included in summaries. 0..1 string Representation defined by the system
StructureDefinition.differential.element.Slices for code.code:icd-11.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
StructureDefinition.differential.element.Slices for code.code:icf This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:icf.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.Slices for code.code:icf.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.Slices for code.code:icf.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/icf (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:icf.version This element is included in summaries. 0..1 string Version of the system - if relevant
StructureDefinition.differential.element.Slices for code.code:icf.code This element is included in summaries. 0..1 code Symbol in syntax defined by the system
StructureDefinition.differential.element.Slices for code.code:icf.display This element is included in summaries. 0..1 string Representation defined by the system
StructureDefinition.differential.element.Slices for code.code:icf.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
StructureDefinition.differential.element.Slices for code.code:ichi This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:ichi.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.Slices for code.code:ichi.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.Slices for code.code:ichi.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/ichi (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:ichi.version This element is included in summaries. 0..1 string Version of the system - if relevant
StructureDefinition.differential.element.Slices for code.code:ichi.code This element is included in summaries. 0..1 code Symbol in syntax defined by the system
StructureDefinition.differential.element.Slices for code.code:ichi.display This element is included in summaries. 0..1 string Representation defined by the system
StructureDefinition.differential.element.Slices for code.code:ichi.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
StructureDefinition.differential.element.Slices for code.code:snomed-gps This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:snomed-gps.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.Slices for code.code:snomed-gps.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.Slices for code.code:snomed-gps.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/smart-gps (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:snomed-gps.version This element is included in summaries. 0..1 string Version of the system - if relevant
StructureDefinition.differential.element.Slices for code.code:snomed-gps.code This element is included in summaries. 0..1 code Symbol in syntax defined by the system
StructureDefinition.differential.element.Slices for code.code:snomed-gps.display This element is included in summaries. 0..1 string Representation defined by the system
StructureDefinition.differential.element.Slices for code.code:snomed-gps.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
StructureDefinition.differential.element.Slices for code.code:atc This element must be supported. This element is included in summaries. 0..1 Coding Corresponding codes in terminologies
Binding: LOINCCodes (example): Codes that indicate the meaning of a data element.
StructureDefinition.differential.element.Slices for code.code:atc.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.Slices for code.code:atc.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.Slices for code.code:atc.system This element is included in summaries. 1..1 uri Identity of the terminology system
Required Pattern: http://who.smart.codes/atc (extensions allowed)
StructureDefinition.differential.element.Slices for code.code:atc.version This element is included in summaries. 0..1 string Version of the system - if relevant
StructureDefinition.differential.element.Slices for code.code:atc.code This element is included in summaries. 0..1 code Symbol in syntax defined by the system
StructureDefinition.differential.element.Slices for code.code:atc.display This element is included in summaries. 0..1 string Representation defined by the system
StructureDefinition.differential.element.Slices for code.code:atc.userSelected This element is included in summaries. 0..1 boolean If this coding was chosen directly by the user
StructureDefinition.differential.element.slicing This element is included in summaries. C 0..1 Element This element is sliced - slices follow
Constraints: eld-1
StructureDefinition.differential.element.slicing.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.slicing.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.slicing.discriminator This element is included in summaries. 0..* Element Element values that are used to distinguish the slices
StructureDefinition.differential.element.slicing.discriminator.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.slicing.discriminator.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.slicing.discriminator.type This element is included in summaries. 1..1 code value | exists | pattern | type | profile
Binding: DiscriminatorType (required): How an element value is interpreted when discrimination is evaluated.
StructureDefinition.differential.element.slicing.discriminator.path This element is included in summaries. 1..1 string Path to element value
StructureDefinition.differential.element.slicing.description This element is included in summaries. C 0..1 string Text description of how slicing works (or not)
StructureDefinition.differential.element.slicing.ordered This element is included in summaries. 0..1 boolean If elements must be in same order as slices
StructureDefinition.differential.element.slicing.rules This element is included in summaries. 1..1 code closed | open | openAtEnd
Binding: SlicingRules (required): How slices are interpreted when evaluating an instance.
StructureDefinition.differential.element.short This element is included in summaries. 1..1 string Concise definition for space-constrained presentation
StructureDefinition.differential.element.definition This element is included in summaries. 1..1 markdown Full formal definition as narrative text
StructureDefinition.differential.element.comment This element is included in summaries. 0..1 markdown Comments about the use of this element
StructureDefinition.differential.element.requirements This element is included in summaries. 0..1 markdown Why this resource has been created
StructureDefinition.differential.element.alias This element is included in summaries. 0..* string Other names
StructureDefinition.differential.element.min This element is included in summaries. C 0..1 unsignedInt Minimum Cardinality
StructureDefinition.differential.element.max This element is included in summaries. C 0..1 string Maximum Cardinality (a number or *)
Constraints: eld-3
StructureDefinition.differential.element.base This element is included in summaries. 0..1 Element Base definition information for tools
StructureDefinition.differential.element.base.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.base.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.base.path This element is included in summaries. 1..1 string Path that identifies the base element
StructureDefinition.differential.element.base.min This element is included in summaries. 1..1 unsignedInt Min cardinality of the base element
StructureDefinition.differential.element.base.max This element is included in summaries. 1..1 string Max cardinality of the base element
StructureDefinition.differential.element.contentReference This element is included in summaries. C 0..1 uri Reference to definition of content for the element
StructureDefinition.differential.element.type This element is included in summaries. C 1..1 Element Data type and Profile for this element
Constraints: eld-4, eld-17
StructureDefinition.differential.element.type.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.type.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.type.code This element is included in summaries. 1..1 uri Data type or Resource (reference to definition)
Binding: FHIRDefinedType (extensible): Either a resource or a data type, including logical model types.
StructureDefinition.differential.element.type.profile This element is included in summaries. 0..* canonical(StructureDefinition | ImplementationGuide) Profiles (StructureDefinition or IG) - one must apply
StructureDefinition.differential.element.type.targetProfile This element is included in summaries. 0..* canonical(StructureDefinition | ImplementationGuide) Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply
StructureDefinition.differential.element.type.aggregation This element is included in summaries. C 0..* code contained | referenced | bundled - how aggregated
Binding: AggregationMode (required): How resource references can be aggregated.
StructureDefinition.differential.element.type.versioning This element is included in summaries. 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.
StructureDefinition.differential.element.defaultValue[x] This element is included in summaries. C 0..1 Specified value if missing from instance
StructureDefinition.differential.element.defaultValue[x].defaultValueBase64Binary base64Binary
StructureDefinition.differential.element.defaultValue[x].defaultValueBoolean boolean
StructureDefinition.differential.element.defaultValue[x].defaultValueCanonical canonical(Any)
StructureDefinition.differential.element.defaultValue[x].defaultValueCode code
StructureDefinition.differential.element.defaultValue[x].defaultValueDate date
StructureDefinition.differential.element.defaultValue[x].defaultValueDateTime dateTime
StructureDefinition.differential.element.defaultValue[x].defaultValueDecimal decimal
StructureDefinition.differential.element.defaultValue[x].defaultValueId id
StructureDefinition.differential.element.defaultValue[x].defaultValueInstant instant
StructureDefinition.differential.element.defaultValue[x].defaultValueInteger integer
StructureDefinition.differential.element.defaultValue[x].defaultValueMarkdown markdown
StructureDefinition.differential.element.defaultValue[x].defaultValueOid oid
StructureDefinition.differential.element.defaultValue[x].defaultValuePositiveInt positiveInt
StructureDefinition.differential.element.defaultValue[x].defaultValueString string
StructureDefinition.differential.element.defaultValue[x].defaultValueTime time
StructureDefinition.differential.element.defaultValue[x].defaultValueUnsignedInt unsignedInt
StructureDefinition.differential.element.defaultValue[x].defaultValueUri uri
StructureDefinition.differential.element.defaultValue[x].defaultValueUrl url
StructureDefinition.differential.element.defaultValue[x].defaultValueUuid uuid
StructureDefinition.differential.element.defaultValue[x].defaultValueAddress Address
StructureDefinition.differential.element.defaultValue[x].defaultValueAge Age
StructureDefinition.differential.element.defaultValue[x].defaultValueAnnotation Annotation
StructureDefinition.differential.element.defaultValue[x].defaultValueAttachment Attachment
StructureDefinition.differential.element.defaultValue[x].defaultValueCodeableConcept CodeableConcept
StructureDefinition.differential.element.defaultValue[x].defaultValueCoding Coding
StructureDefinition.differential.element.defaultValue[x].defaultValueContactPoint ContactPoint
StructureDefinition.differential.element.defaultValue[x].defaultValueCount Count
StructureDefinition.differential.element.defaultValue[x].defaultValueDistance Distance
StructureDefinition.differential.element.defaultValue[x].defaultValueDuration Duration
StructureDefinition.differential.element.defaultValue[x].defaultValueHumanName HumanName
StructureDefinition.differential.element.defaultValue[x].defaultValueIdentifier Identifier
StructureDefinition.differential.element.defaultValue[x].defaultValueMoney Money
StructureDefinition.differential.element.defaultValue[x].defaultValuePeriod Period
StructureDefinition.differential.element.defaultValue[x].defaultValueQuantity Quantity
StructureDefinition.differential.element.defaultValue[x].defaultValueRange Range
StructureDefinition.differential.element.defaultValue[x].defaultValueRatio Ratio
StructureDefinition.differential.element.defaultValue[x].defaultValueReference Reference(Any)
StructureDefinition.differential.element.defaultValue[x].defaultValueSampledData SampledData
StructureDefinition.differential.element.defaultValue[x].defaultValueSignature Signature
StructureDefinition.differential.element.defaultValue[x].defaultValueTiming Timing
StructureDefinition.differential.element.defaultValue[x].defaultValueContactDetail ContactDetail
StructureDefinition.differential.element.defaultValue[x].defaultValueContributor Contributor
StructureDefinition.differential.element.defaultValue[x].defaultValueDataRequirement DataRequirement
StructureDefinition.differential.element.defaultValue[x].defaultValueExpression Expression
StructureDefinition.differential.element.defaultValue[x].defaultValueParameterDefinition ParameterDefinition
StructureDefinition.differential.element.defaultValue[x].defaultValueRelatedArtifact RelatedArtifact
StructureDefinition.differential.element.defaultValue[x].defaultValueTriggerDefinition TriggerDefinition
StructureDefinition.differential.element.defaultValue[x].defaultValueUsageContext UsageContext
StructureDefinition.differential.element.defaultValue[x].defaultValueDosage Dosage
StructureDefinition.differential.element.defaultValue[x].defaultValueMeta Meta
StructureDefinition.differential.element.meaningWhenMissing This element is included in summaries. C 0..1 markdown Implicit meaning when this element is missing
StructureDefinition.differential.element.orderMeaning This element is included in summaries. 0..1 string What the order of the elements means
StructureDefinition.differential.element.fixed[x] This element is included in summaries. C 0..1 Value must be exactly this
StructureDefinition.differential.element.fixed[x].fixedBase64Binary base64Binary
StructureDefinition.differential.element.fixed[x].fixedBoolean boolean
StructureDefinition.differential.element.fixed[x].fixedCanonical canonical(Any)
StructureDefinition.differential.element.fixed[x].fixedCode code
StructureDefinition.differential.element.fixed[x].fixedDate date
StructureDefinition.differential.element.fixed[x].fixedDateTime dateTime
StructureDefinition.differential.element.fixed[x].fixedDecimal decimal
StructureDefinition.differential.element.fixed[x].fixedId id
StructureDefinition.differential.element.fixed[x].fixedInstant instant
StructureDefinition.differential.element.fixed[x].fixedInteger integer
StructureDefinition.differential.element.fixed[x].fixedMarkdown markdown
StructureDefinition.differential.element.fixed[x].fixedOid oid
StructureDefinition.differential.element.fixed[x].fixedPositiveInt positiveInt
StructureDefinition.differential.element.fixed[x].fixedString string
StructureDefinition.differential.element.fixed[x].fixedTime time
StructureDefinition.differential.element.fixed[x].fixedUnsignedInt unsignedInt
StructureDefinition.differential.element.fixed[x].fixedUri uri
StructureDefinition.differential.element.fixed[x].fixedUrl url
StructureDefinition.differential.element.fixed[x].fixedUuid uuid
StructureDefinition.differential.element.fixed[x].fixedAddress Address
StructureDefinition.differential.element.fixed[x].fixedAge Age
StructureDefinition.differential.element.fixed[x].fixedAnnotation Annotation
StructureDefinition.differential.element.fixed[x].fixedAttachment Attachment
StructureDefinition.differential.element.fixed[x].fixedCodeableConcept CodeableConcept
StructureDefinition.differential.element.fixed[x].fixedCoding Coding
StructureDefinition.differential.element.fixed[x].fixedContactPoint ContactPoint
StructureDefinition.differential.element.fixed[x].fixedCount Count
StructureDefinition.differential.element.fixed[x].fixedDistance Distance
StructureDefinition.differential.element.fixed[x].fixedDuration Duration
StructureDefinition.differential.element.fixed[x].fixedHumanName HumanName
StructureDefinition.differential.element.fixed[x].fixedIdentifier Identifier
StructureDefinition.differential.element.fixed[x].fixedMoney Money
StructureDefinition.differential.element.fixed[x].fixedPeriod Period
StructureDefinition.differential.element.fixed[x].fixedQuantity Quantity
StructureDefinition.differential.element.fixed[x].fixedRange Range
StructureDefinition.differential.element.fixed[x].fixedRatio Ratio
StructureDefinition.differential.element.fixed[x].fixedReference Reference(Any)
StructureDefinition.differential.element.fixed[x].fixedSampledData SampledData
StructureDefinition.differential.element.fixed[x].fixedSignature Signature
StructureDefinition.differential.element.fixed[x].fixedTiming Timing
StructureDefinition.differential.element.fixed[x].fixedContactDetail ContactDetail
StructureDefinition.differential.element.fixed[x].fixedContributor Contributor
StructureDefinition.differential.element.fixed[x].fixedDataRequirement DataRequirement
StructureDefinition.differential.element.fixed[x].fixedExpression Expression
StructureDefinition.differential.element.fixed[x].fixedParameterDefinition ParameterDefinition
StructureDefinition.differential.element.fixed[x].fixedRelatedArtifact RelatedArtifact
StructureDefinition.differential.element.fixed[x].fixedTriggerDefinition TriggerDefinition
StructureDefinition.differential.element.fixed[x].fixedUsageContext UsageContext
StructureDefinition.differential.element.fixed[x].fixedDosage Dosage
StructureDefinition.differential.element.fixed[x].fixedMeta Meta
StructureDefinition.differential.element.pattern[x] This element is included in summaries. C 0..1 Value must have at least these property values
StructureDefinition.differential.element.pattern[x].patternBase64Binary base64Binary
StructureDefinition.differential.element.pattern[x].patternBoolean boolean
StructureDefinition.differential.element.pattern[x].patternCanonical canonical(Any)
StructureDefinition.differential.element.pattern[x].patternCode code
StructureDefinition.differential.element.pattern[x].patternDate date
StructureDefinition.differential.element.pattern[x].patternDateTime dateTime
StructureDefinition.differential.element.pattern[x].patternDecimal decimal
StructureDefinition.differential.element.pattern[x].patternId id
StructureDefinition.differential.element.pattern[x].patternInstant instant
StructureDefinition.differential.element.pattern[x].patternInteger integer
StructureDefinition.differential.element.pattern[x].patternMarkdown markdown
StructureDefinition.differential.element.pattern[x].patternOid oid
StructureDefinition.differential.element.pattern[x].patternPositiveInt positiveInt
StructureDefinition.differential.element.pattern[x].patternString string
StructureDefinition.differential.element.pattern[x].patternTime time
StructureDefinition.differential.element.pattern[x].patternUnsignedInt unsignedInt
StructureDefinition.differential.element.pattern[x].patternUri uri
StructureDefinition.differential.element.pattern[x].patternUrl url
StructureDefinition.differential.element.pattern[x].patternUuid uuid
StructureDefinition.differential.element.pattern[x].patternAddress Address
StructureDefinition.differential.element.pattern[x].patternAge Age
StructureDefinition.differential.element.pattern[x].patternAnnotation Annotation
StructureDefinition.differential.element.pattern[x].patternAttachment Attachment
StructureDefinition.differential.element.pattern[x].patternCodeableConcept CodeableConcept
StructureDefinition.differential.element.pattern[x].patternCoding Coding
StructureDefinition.differential.element.pattern[x].patternContactPoint ContactPoint
StructureDefinition.differential.element.pattern[x].patternCount Count
StructureDefinition.differential.element.pattern[x].patternDistance Distance
StructureDefinition.differential.element.pattern[x].patternDuration Duration
StructureDefinition.differential.element.pattern[x].patternHumanName HumanName
StructureDefinition.differential.element.pattern[x].patternIdentifier Identifier
StructureDefinition.differential.element.pattern[x].patternMoney Money
StructureDefinition.differential.element.pattern[x].patternPeriod Period
StructureDefinition.differential.element.pattern[x].patternQuantity Quantity
StructureDefinition.differential.element.pattern[x].patternRange Range
StructureDefinition.differential.element.pattern[x].patternRatio Ratio
StructureDefinition.differential.element.pattern[x].patternReference Reference(Any)
StructureDefinition.differential.element.pattern[x].patternSampledData SampledData
StructureDefinition.differential.element.pattern[x].patternSignature Signature
StructureDefinition.differential.element.pattern[x].patternTiming Timing
StructureDefinition.differential.element.pattern[x].patternContactDetail ContactDetail
StructureDefinition.differential.element.pattern[x].patternContributor Contributor
StructureDefinition.differential.element.pattern[x].patternDataRequirement DataRequirement
StructureDefinition.differential.element.pattern[x].patternExpression Expression
StructureDefinition.differential.element.pattern[x].patternParameterDefinition ParameterDefinition
StructureDefinition.differential.element.pattern[x].patternRelatedArtifact RelatedArtifact
StructureDefinition.differential.element.pattern[x].patternTriggerDefinition TriggerDefinition
StructureDefinition.differential.element.pattern[x].patternUsageContext UsageContext
StructureDefinition.differential.element.pattern[x].patternDosage Dosage
StructureDefinition.differential.element.pattern[x].patternMeta Meta
StructureDefinition.differential.element.example This element is included in summaries. 0..* Element Example value (as defined for type)
StructureDefinition.differential.element.example.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.example.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.example.label This element is included in summaries. 1..1 string Describes the purpose of this example
StructureDefinition.differential.element.example.value[x] This element is included in summaries. 1..1 Value of Example (one of allowed types)
StructureDefinition.differential.element.example.value[x].valueBase64Binary base64Binary
StructureDefinition.differential.element.example.value[x].valueBoolean boolean
StructureDefinition.differential.element.example.value[x].valueCanonical canonical(Any)
StructureDefinition.differential.element.example.value[x].valueCode code
StructureDefinition.differential.element.example.value[x].valueDate date
StructureDefinition.differential.element.example.value[x].valueDateTime dateTime
StructureDefinition.differential.element.example.value[x].valueDecimal decimal
StructureDefinition.differential.element.example.value[x].valueId id
StructureDefinition.differential.element.example.value[x].valueInstant instant
StructureDefinition.differential.element.example.value[x].valueInteger integer
StructureDefinition.differential.element.example.value[x].valueMarkdown markdown
StructureDefinition.differential.element.example.value[x].valueOid oid
StructureDefinition.differential.element.example.value[x].valuePositiveInt positiveInt
StructureDefinition.differential.element.example.value[x].valueString string
StructureDefinition.differential.element.example.value[x].valueTime time
StructureDefinition.differential.element.example.value[x].valueUnsignedInt unsignedInt
StructureDefinition.differential.element.example.value[x].valueUri uri
StructureDefinition.differential.element.example.value[x].valueUrl url
StructureDefinition.differential.element.example.value[x].valueUuid uuid
StructureDefinition.differential.element.example.value[x].valueAddress Address
StructureDefinition.differential.element.example.value[x].valueAge Age
StructureDefinition.differential.element.example.value[x].valueAnnotation Annotation
StructureDefinition.differential.element.example.value[x].valueAttachment Attachment
StructureDefinition.differential.element.example.value[x].valueCodeableConcept CodeableConcept
StructureDefinition.differential.element.example.value[x].valueCoding Coding
StructureDefinition.differential.element.example.value[x].valueContactPoint ContactPoint
StructureDefinition.differential.element.example.value[x].valueCount Count
StructureDefinition.differential.element.example.value[x].valueDistance Distance
StructureDefinition.differential.element.example.value[x].valueDuration Duration
StructureDefinition.differential.element.example.value[x].valueHumanName HumanName
StructureDefinition.differential.element.example.value[x].valueIdentifier Identifier
StructureDefinition.differential.element.example.value[x].valueMoney Money
StructureDefinition.differential.element.example.value[x].valuePeriod Period
StructureDefinition.differential.element.example.value[x].valueQuantity Quantity
StructureDefinition.differential.element.example.value[x].valueRange Range
StructureDefinition.differential.element.example.value[x].valueRatio Ratio
StructureDefinition.differential.element.example.value[x].valueReference Reference(Any)
StructureDefinition.differential.element.example.value[x].valueSampledData SampledData
StructureDefinition.differential.element.example.value[x].valueSignature Signature
StructureDefinition.differential.element.example.value[x].valueTiming Timing
StructureDefinition.differential.element.example.value[x].valueContactDetail ContactDetail
StructureDefinition.differential.element.example.value[x].valueContributor Contributor
StructureDefinition.differential.element.example.value[x].valueDataRequirement DataRequirement
StructureDefinition.differential.element.example.value[x].valueExpression Expression
StructureDefinition.differential.element.example.value[x].valueParameterDefinition ParameterDefinition
StructureDefinition.differential.element.example.value[x].valueRelatedArtifact RelatedArtifact
StructureDefinition.differential.element.example.value[x].valueTriggerDefinition TriggerDefinition
StructureDefinition.differential.element.example.value[x].valueUsageContext UsageContext
StructureDefinition.differential.element.example.value[x].valueDosage Dosage
StructureDefinition.differential.element.example.value[x].valueMeta Meta
StructureDefinition.differential.element.minValue[x] This element is included in summaries. 0..1 Minimum Allowed Value (for some types)
StructureDefinition.differential.element.minValue[x].minValueDate date
StructureDefinition.differential.element.minValue[x].minValueDateTime dateTime
StructureDefinition.differential.element.minValue[x].minValueInstant instant
StructureDefinition.differential.element.minValue[x].minValueTime time
StructureDefinition.differential.element.minValue[x].minValueDecimal decimal
StructureDefinition.differential.element.minValue[x].minValueInteger integer
StructureDefinition.differential.element.minValue[x].minValuePositiveInt positiveInt
StructureDefinition.differential.element.minValue[x].minValueUnsignedInt unsignedInt
StructureDefinition.differential.element.minValue[x].minValueQuantity Quantity
StructureDefinition.differential.element.maxValue[x] This element is included in summaries. 0..1 Maximum Allowed Value (for some types)
StructureDefinition.differential.element.maxValue[x].maxValueDate date
StructureDefinition.differential.element.maxValue[x].maxValueDateTime dateTime
StructureDefinition.differential.element.maxValue[x].maxValueInstant instant
StructureDefinition.differential.element.maxValue[x].maxValueTime time
StructureDefinition.differential.element.maxValue[x].maxValueDecimal decimal
StructureDefinition.differential.element.maxValue[x].maxValueInteger integer
StructureDefinition.differential.element.maxValue[x].maxValuePositiveInt positiveInt
StructureDefinition.differential.element.maxValue[x].maxValueUnsignedInt unsignedInt
StructureDefinition.differential.element.maxValue[x].maxValueQuantity Quantity
StructureDefinition.differential.element.maxLength This element is included in summaries. 0..1 integer Max length for strings
StructureDefinition.differential.element.condition This element is included in summaries. 0..* id Reference to invariant about presence
StructureDefinition.differential.element.constraint This element is included in summaries. C 0..* Element Condition that must evaluate to true
Constraints: eld-21
StructureDefinition.differential.element.constraint.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.constraint.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.constraint.key This element is included in summaries. C 1..1 id Target of 'condition' reference above
StructureDefinition.differential.element.constraint.requirements This element is included in summaries. 0..1 string Why this constraint is necessary or appropriate
StructureDefinition.differential.element.constraint.severity This element is included in summaries. 1..1 code error | warning
Binding: ConstraintSeverity (required): SHALL applications comply with this constraint?
StructureDefinition.differential.element.constraint.human This element is included in summaries. 1..1 string Human description of constraint
StructureDefinition.differential.element.constraint.expression This element is included in summaries. 0..1 string FHIRPath expression of constraint
StructureDefinition.differential.element.constraint.xpath This element is included in summaries. 0..1 string XPath expression of constraint
StructureDefinition.differential.element.constraint.source This element is included in summaries. 0..1 canonical(StructureDefinition) Reference to original source of constraint
StructureDefinition.differential.element.mustSupport This element is included in summaries. 0..1 boolean If the element must be supported
StructureDefinition.differential.element.isModifier This element is included in summaries. 0..1 boolean If this modifies the meaning of other elements
StructureDefinition.differential.element.isModifierReason This element is included in summaries. 0..1 string Reason that this element is marked as a modifier
StructureDefinition.differential.element.isSummary This element is included in summaries. 0..1 boolean Include when _summary = true?
StructureDefinition.differential.element.binding This element is included in summaries. C 0..1 Element ValueSet details if this is coded
Constraints: eld-12
StructureDefinition.differential.element.binding.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.binding.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.binding.strength This element is included in summaries. 1..1 code required | extensible | preferred | example
Binding: BindingStrength (required): Indication of the degree of conformance expectations associated with a binding.
StructureDefinition.differential.element.binding.description This element is included in summaries. 0..1 string Human explanation of the value set
StructureDefinition.differential.element.binding.valueSet This element is included in summaries. C 0..1 canonical(ValueSet) Source of value set
StructureDefinition.differential.element.mapping This element is included in summaries. 0..* Element Map element to another set of definitions
StructureDefinition.differential.element.mapping.id 0..1 string Unique id for inter-element referencing
StructureDefinition.differential.element.mapping.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
StructureDefinition.differential.element.mapping.identity This element is included in summaries. 1..1 id Reference to mapping declaration
StructureDefinition.differential.element.mapping.language This element is included in summaries. 0..1 code Computable language of mapping
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
StructureDefinition.differential.element.mapping.map This element is included in summaries. 1..1 string Details of the mapping
StructureDefinition.differential.element.mapping.comment This element is included in summaries. 0..1 string Comments about the mapping or its use

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
StructureDefinition.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
StructureDefinition.​status Base required PublicationStatus 📍4.0.1 FHIR Std.
StructureDefinition.​jurisdiction Base extensible Jurisdiction 📍4.0.1 FHIR Std.
StructureDefinition.​keyword Base extensible Structure Definition Use Codes / Keywords 📍4.0.1 FHIR Std.
StructureDefinition.​fhirVersion Base required FHIRVersion 📍4.0.1 FHIR Std.
StructureDefinition.​kind Base required StructureDefinitionKind 📍4.0.1 FHIR Std.
StructureDefinition.​context.type Base required ExtensionContextType 📍4.0.1 FHIR Std.
StructureDefinition.​type Base extensible FHIRDefinedType 📍4.0.1 FHIR Std.
StructureDefinition.​derivation Base required TypeDerivationRule 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​representation Base required PropertyRepresentation 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:smart Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:loinc Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:snomed Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:icd-10 Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:icd-11 Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:icf Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:ichi Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:snomed-gps Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​code:atc Base example LOINC Codes 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​slicing.discriminator.​type Base required DiscriminatorType 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​slicing.rules Base required SlicingRules 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​type.code Base extensible FHIRDefinedType 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​type.aggregation Base required AggregationMode 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​type.versioning Base required ReferenceVersionRules 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​constraint.severity Base required ConstraintSeverity 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​binding.strength Base required BindingStrength 📍4.0.1 FHIR Std.
StructureDefinition.​differential.element.​mapping.language Base required MimeType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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
Requirements:

No Type on the root element (differential)

(kind!='logical' and differential.element.first().path.contains('.').not()) implies differential.element.first().type.empty()
sdf-2 error StructureDefinition.mapping Must have at least a name or a uri (or both) name.exists() or uri.exists()
sdf-3 error StructureDefinition.snapshot Each element definition in a snapshot must have a formal definition and cardinalities element.all(definition.exists() and min.exists() and max.exists())
sdf-4 error StructureDefinition If the structure is not abstract, then there SHALL be a baseDefinition
Requirements:

Ensure that the base types are abstract

abstract = true or baseDefinition.exists()
sdf-5 error StructureDefinition If the structure defines an extension then the structure must have context information type != 'Extension' or derivation = 'specialization' or (context.exists())
sdf-6 error StructureDefinition A structure must have either a differential, or a snapshot (or both) snapshot.exists() or differential.exists()
sdf-8 error StructureDefinition.snapshot All snapshot elements must start with the StructureDefinition's specified type for non-logical models, or with the same type name for logical models (%resource.kind = 'logical' or element.first().path = %resource.type) and element.tail().all(path.startsWith(%resource.snapshot.element.first().path&'.'))
sdf-10 error StructureDefinition.snapshot.element provide either a binding reference or a description (or both)
Requirements:

binding is required

binding.empty() or binding.valueSet.exists() or binding.description.exists()
sdf-11 error StructureDefinition If there's a type, its content must match the path name in the first element of a snapshot
Requirements:

Ensure that the type is not inconsistent with the other information in the structure

kind != 'logical' implies snapshot.empty() or snapshot.element.first().path = type
sdf-14 error StructureDefinition All element definitions must have an id
Requirements:

elements have id

snapshot.element.all(id.exists()) and differential.element.all(id.exists())
sdf-15 error StructureDefinition The first element in a snapshot has no type unless model is a logical model.
Requirements:

No Type on the root element (snapshot)

kind!='logical' implies snapshot.element.first().type.empty()
sdf-16 error StructureDefinition All element definitions must have unique ids (snapshot)
Requirements:

element ids need to be unique

snapshot.element.all(id.exists()) and snapshot.element.id.trace('ids').isDistinct()
sdf-17 error StructureDefinition All element definitions must have unique ids (diff)
Requirements:

element ids need to be unique

differential.element.all(id.exists()) and differential.element.id.trace('ids').isDistinct()
sdf-18 error StructureDefinition Context Invariants can only be used for extensions
Requirements:

contextInvariant

contextInvariant.exists() implies type = 'Extension'
sdf-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)
Requirements:

Because these 3 fields seem to be have overlapping meaning with the ones in the root of StructureDefinition

children().element.where(path.contains('.').not()).label.empty() and children().element.where(path.contains('.').not()).code.empty() and children().element.where(path.contains('.').not()).requirements.empty()
sdf-19 error StructureDefinition FHIR Specification models only use FHIR defined types
Requirements:

custom types only in logical models

url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (differential.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]+$')))
sdf-20 error StructureDefinition.differential No slicing on the root element
Requirements:

no slicing on root

element.where(path.contains('.').not()).slicing.empty()
sdf-21 error StructureDefinition Default values can only be specified on specializations
Requirements:

no default values on data types or resources

differential.element.defaultValue.exists() implies (derivation = 'specialization')
sdf-22 error StructureDefinition FHIR Specification models never have default values
Requirements:

no default values on data types or resources

url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (snapshot.element.defaultValue.empty() and differential.element.defaultValue.empty())
sdf-23 error StructureDefinition No slice name on root
Requirements:

no sliceName on root

(snapshot | differential).element.all(path.contains('.').not() implies sliceName.empty())
sdf-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:

  • The element 1 is sliced based on the value of StructureDefinition.differential.element.code

 

Other representations of profile: CSV, Excel, Schematron