Clinical Practice Guidelines
3.0.0-ballot - STU 3 Ballot International flag

Clinical Practice Guidelines, published by HL7 International / Clinical Decision Support. This guide is not an authorized publication; it is the continuous build for version 3.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/cqf-recommendations/ and changes regularly. See the Directory of published versions

Resource Profile: CPG Case Feature Definition

Official URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-casefeaturedefinition Version: 3.0.0-ballot
Active as of 2026-11-10 Computable Name: CPGCaseFeatureDefinition
Other Identifiers: OID:2.16.840.1.113883.4.642.40.48.42.29

Profile of StructureDefinition to represent a case feature of a clinical practice guideline, optionally specifying formal computational semantics, as well as relationships to other case features and specific aspects of the guideline

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

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.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
StructureDefinition.Slices for extension.extension:inferenceExpression This element must be supported. 0..1 Expression CPG Inference Expression Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-inferenceExpression
StructureDefinition.Slices for extension.extension:assertionExpression This element must be supported. 0..1 Expression CPG Assertion Expression Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-assertionExpression
StructureDefinition.Slices for extension.extension:featureExpression This element must be supported. 0..1 Expression CPG Feature Expression Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-featureExpression
StructureDefinition.Slices for extension.extension:caseFeatureOf This element must be supported. 0..* canonical() CPG Case Feature Of Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-caseFeatureOf
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.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.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.
Fixed Value: resource (no extensions allowed)
StructureDefinition.abstract This element is included in summaries. 1..1 boolean Whether the structure is abstract
Fixed Value: false (no extensions allowed)
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.derivation This element is included in summaries. 1..1 code specialization | constraint - How relates to base definition
Binding: TypeDerivationRule (required): How a type relates to its baseDefinition.
Fixed Value: constraint (no extensions allowed)

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.​derivation Base required TypeDerivationRule 📍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())
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-6 error StructureDefinition A structure must have either a differential, or a snapshot (or both) snapshot.exists() or differential.exists()
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-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-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-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-15 error StructureDefinition The first element in a snapshot has no type unless model is a logical model.
Requirements:

No Type on the root element (snapshot)

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

element ids need to be unique

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

element ids need to be unique

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

contextInvariant

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

custom types only in logical models

url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (differential.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-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())

This structure is derived from StructureDefinition

NameFlagsCard.TypeDescription & Constraints    Filter: doco
StructureDefinition 0..* StructureDefinition Structural Definition
StructureDefinition.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
StructureDefinition.Slices for extension.extension:inferenceExpression This element must be supported. 0..1 Expression CPG Inference Expression Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-inferenceExpression
StructureDefinition.Slices for extension.extension:assertionExpression This element must be supported. 0..1 Expression CPG Assertion Expression Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-assertionExpression
StructureDefinition.Slices for extension.extension:featureExpression This element must be supported. 0..1 Expression CPG Feature Expression Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-featureExpression
StructureDefinition.Slices for extension.extension:caseFeatureOf This element must be supported. 0..* canonical() CPG Case Feature Of Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-caseFeatureOf
StructureDefinition.kind 1..1 code primitive-type | complex-type | resource | logical
Fixed Value: resource (no extensions allowed)
StructureDefinition.abstract 1..1 boolean Whether the structure is abstract
Fixed Value: false (no extensions allowed)

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.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
StructureDefinition.Slices for extension.extension:inferenceExpression This element must be supported. 0..1 Expression CPG Inference Expression Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-inferenceExpression
StructureDefinition.Slices for extension.extension:assertionExpression This element must be supported. 0..1 Expression CPG Assertion Expression Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-assertionExpression
StructureDefinition.Slices for extension.extension:featureExpression This element must be supported. 0..1 Expression CPG Feature Expression Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-featureExpression
StructureDefinition.Slices for extension.extension:caseFeatureOf This element must be supported. 0..* canonical() CPG Case Feature Of Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-caseFeatureOf
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. 0..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. 0..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 0..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.
Fixed Value: resource (no extensions allowed)
StructureDefinition.abstract This element is included in summaries. 1..1 boolean Whether the structure is abstract
Fixed Value: false (no extensions allowed)
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. 1..1 code specialization | constraint - How relates to base definition
Binding: TypeDerivationRule (required): How a type relates to its baseDefinition.
Fixed Value: constraint (no extensions allowed)
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)

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.

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())
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-9 error StructureDefinition In any snapshot or differential, no label, code or requirements on an element without a "." in the path (e.g. the first element)
Requirements:

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

children().element.where(path.contains('.').not()).label.empty() and children().element.where(path.contains('.').not()).code.empty() and children().element.where(path.contains('.').not()).requirements.empty()
sdf-10 error StructureDefinition.snapshot.element provide either a binding reference or a description (or both)
Requirements:

binding is required

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

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

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

elements have id

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

No Type on the root element (snapshot)

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

element ids need to be unique

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

element ids need to be unique

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

contextInvariant

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

custom types only in logical models

url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (differential.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('\\..*','')&'.')))
sdf-8b error StructureDefinition.snapshot All snapshot elements must have a base definition element.all(base.exists())

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.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
StructureDefinition.Slices for extension.extension:inferenceExpression This element must be supported. 0..1 Expression CPG Inference Expression Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-inferenceExpression
StructureDefinition.Slices for extension.extension:assertionExpression This element must be supported. 0..1 Expression CPG Assertion Expression Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-assertionExpression
StructureDefinition.Slices for extension.extension:featureExpression This element must be supported. 0..1 Expression CPG Feature Expression Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-featureExpression
StructureDefinition.Slices for extension.extension:caseFeatureOf This element must be supported. 0..* canonical() CPG Case Feature Of Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-caseFeatureOf
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.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.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.
Fixed Value: resource (no extensions allowed)
StructureDefinition.abstract This element is included in summaries. 1..1 boolean Whether the structure is abstract
Fixed Value: false (no extensions allowed)
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.derivation This element is included in summaries. 1..1 code specialization | constraint - How relates to base definition
Binding: TypeDerivationRule (required): How a type relates to its baseDefinition.
Fixed Value: constraint (no extensions allowed)

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.​derivation Base required TypeDerivationRule 📍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())
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-6 error StructureDefinition A structure must have either a differential, or a snapshot (or both) snapshot.exists() or differential.exists()
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-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-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-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-15 error StructureDefinition The first element in a snapshot has no type unless model is a logical model.
Requirements:

No Type on the root element (snapshot)

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

element ids need to be unique

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

element ids need to be unique

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

contextInvariant

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

custom types only in logical models

url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (differential.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-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())

Differential View

This structure is derived from StructureDefinition

NameFlagsCard.TypeDescription & Constraints    Filter: doco
StructureDefinition 0..* StructureDefinition Structural Definition
StructureDefinition.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
StructureDefinition.Slices for extension.extension:inferenceExpression This element must be supported. 0..1 Expression CPG Inference Expression Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-inferenceExpression
StructureDefinition.Slices for extension.extension:assertionExpression This element must be supported. 0..1 Expression CPG Assertion Expression Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-assertionExpression
StructureDefinition.Slices for extension.extension:featureExpression This element must be supported. 0..1 Expression CPG Feature Expression Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-featureExpression
StructureDefinition.Slices for extension.extension:caseFeatureOf This element must be supported. 0..* canonical() CPG Case Feature Of Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-caseFeatureOf
StructureDefinition.kind 1..1 code primitive-type | complex-type | resource | logical
Fixed Value: resource (no extensions allowed)
StructureDefinition.abstract 1..1 boolean Whether the structure is abstract
Fixed Value: false (no extensions allowed)
StructureDefinition.derivation 1..1 code specialization | constraint - How relates to base definition
Fixed Value: constraint (no extensions allowed)

doco Documentation for this format

Snapshot ViewView

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.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
StructureDefinition.Slices for extension.extension:inferenceExpression This element must be supported. 0..1 Expression CPG Inference Expression Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-inferenceExpression
StructureDefinition.Slices for extension.extension:assertionExpression This element must be supported. 0..1 Expression CPG Assertion Expression Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-assertionExpression
StructureDefinition.Slices for extension.extension:featureExpression This element must be supported. 0..1 Expression CPG Feature Expression Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-featureExpression
StructureDefinition.Slices for extension.extension:caseFeatureOf This element must be supported. 0..* canonical() CPG Case Feature Of Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-caseFeatureOf
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. 0..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. 0..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 0..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.
Fixed Value: resource (no extensions allowed)
StructureDefinition.abstract This element is included in summaries. 1..1 boolean Whether the structure is abstract
Fixed Value: false (no extensions allowed)
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. 1..1 code specialization | constraint - How relates to base definition
Binding: TypeDerivationRule (required): How a type relates to its baseDefinition.
Fixed Value: constraint (no extensions allowed)
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)

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.

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())
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-9 error StructureDefinition In any snapshot or differential, no label, code or requirements on an element without a "." in the path (e.g. the first element)
Requirements:

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

children().element.where(path.contains('.').not()).label.empty() and children().element.where(path.contains('.').not()).code.empty() and children().element.where(path.contains('.').not()).requirements.empty()
sdf-10 error StructureDefinition.snapshot.element provide either a binding reference or a description (or both)
Requirements:

binding is required

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

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

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

elements have id

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

No Type on the root element (snapshot)

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

element ids need to be unique

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

element ids need to be unique

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

contextInvariant

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

custom types only in logical models

url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (differential.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('\\..*','')&'.')))
sdf-8b error StructureDefinition.snapshot All snapshot elements must have a base definition element.all(base.exists())

 

Other representations of profile: CSV, Excel, Schematron