This page is part of the Clinical Guidelines (v1.0.0: STU 1) based on FHIR R4. This is the current published version. For a full list of available versions, see the Directory of published versions
The official URL for this profile is:
http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-shareablestructuredef
Profile of StructureDefinition to establish minimum expectations for sharing a StructureDefinition including URL, name, and version. This profile also provides the ability to declare knowledge representation level and knowledge artifact capabilities.
This profile builds on StructureDefinition.
This profile was published on Thu Jun 06 00:00:00 UTC 2019 as a draft by Health Level Seven, Inc. - CDS WG.
Description of Profiles, Differentials, and Snapshots.
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
StructureDefinition | 0..* | StructureDefinition | Structural Definition | |
cpg-knowledgeCapability | S | 1..* | code | shareable | computable | publishable | executable URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability Binding: CPG Knowledge Capability (required): A knowledge capability provided by a knowledge artifact |
cpg-knowledgeRepresentationLevel | S | 0..* | code | narrative | semi-structured | structured | executable URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeRepresentationLevel Binding: CPG Knowledge Representation Level (required): A level of knowledge representation provided by this artifact |
identifier | S | 0..* | Identifier | Additional identifier for the structure definition |
version | 1..1 | string | Business version of the structure definition | |
title | S | 0..1 | string | Name for this structure definition (human friendly) |
experimental | 1..1 | boolean | For testing purposes, not real usage | |
date | S | 0..1 | dateTime | Date last changed |
publisher | 1..1 | string | Name of the publisher (organization or individual) | |
contact | S | 0..* | ContactDetail | Contact details for the publisher |
description | 1..1 | markdown | Natural language description of the structure definition | |
useContext | S | 0..* | UsageContext | The context that the content is intended to support |
jurisdiction | S | 0..* | CodeableConcept | Intended jurisdiction for structure definition (if applicable) |
fhirVersion | 1..1 | code | FHIR Version this StructureDefinition targets | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
StructureDefinition | I | 0..* | StructureDefinition | Structural Definition |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
cpg-knowledgeCapability | S | 1..* | code | shareable | computable | publishable | executable URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability Binding: CPG Knowledge Capability (required): A knowledge capability provided by a knowledge artifact |
cpg-knowledgeRepresentationLevel | S | 0..* | code | narrative | semi-structured | structured | executable URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeRepresentationLevel Binding: CPG Knowledge Representation Level (required): A level of knowledge representation provided by this artifact |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
url | Σ | 1..1 | uri | Canonical identifier for this structure definition, represented as a URI (globally unique) |
identifier | SΣ | 0..* | Identifier | Additional identifier for the structure definition |
version | Σ | 1..1 | string | Business version of the structure definition |
name | ΣI | 1..1 | string | Name for this structure definition (computer friendly) |
title | SΣ | 0..1 | string | Name for this structure definition (human friendly) |
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. |
experimental | Σ | 1..1 | boolean | For testing purposes, not real usage |
date | SΣ | 0..1 | dateTime | Date last changed |
publisher | Σ | 1..1 | string | Name of the publisher (organization or individual) |
contact | SΣ | 0..* | ContactDetail | Contact details for the publisher |
description | 1..1 | markdown | Natural language description of the structure definition | |
useContext | SΣ | 0..* | UsageContext | The context that the content is intended to support |
jurisdiction | SΣ | 0..* | CodeableConcept | Intended jurisdiction for structure definition (if applicable) Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use. |
purpose | 0..1 | markdown | Why this structure definition is defined | |
copyright | 0..1 | markdown | Use and/or publishing restrictions | |
keyword | Σ | 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). |
fhirVersion | Σ | 1..1 | code | FHIR Version this StructureDefinition targets Binding: FHIRVersion (required): All published FHIR Versions. |
mapping | I | 0..* | BackboneElement | External specification that the content is mapped to sdf-2: Must have at least a name or a uri (or both) |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
identity | 1..1 | id | Internal id when this mapping is used | |
uri | I | 0..1 | uri | Identifies what this mapping refers to |
name | I | 0..1 | string | Names what this mapping refers to |
comment | 0..1 | string | Versions, Issues, Scope limitations etc. | |
kind | Σ | 1..1 | code | primitive-type | complex-type | resource | logical Binding: StructureDefinitionKind (required): Defines the type of structure that a definition is describing. |
abstract | Σ | 1..1 | boolean | Whether the structure is abstract |
context | ΣI | 0..* | BackboneElement | If an extension, where it can be used in instances |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | Σ | 1..1 | code | fhirpath | element | extension Binding: ExtensionContextType (required): How an extension context is interpreted. |
expression | Σ | 1..1 | string | Where the extension can be used in instances |
contextInvariant | ΣI | 0..* | string | FHIRPath invariants - when the extension can be used |
type | ΣI | 1..1 | uri | Type defined or constrained by this structure Binding: FHIRDefinedType (extensible): Either a resource or a data type, including logical model types. |
baseDefinition | ΣI | 0..1 | canonical(StructureDefinition) | Definition that this type is constrained/specialized from |
derivation | Σ | 0..1 | code | specialization | constraint - How relates to base definition Binding: TypeDerivationRule (required): How a type relates to its baseDefinition. |
snapshot | I | 0..1 | BackboneElement | Snapshot view of the structure sdf-3: Each element definition in a snapshot must have a formal definition and cardinalities sdf-8: All snapshot elements must start with the StructureDefinition's specified type for non-logical models, or with the same type name for logical models sdf-8b: All snapshot elements must have a base definition |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
element | I | 1..* | ElementDefinition | Definition of elements in the resource (if no StructureDefinition) sdf-10: provide either a binding reference or a description (or both) |
differential | I | 0..1 | BackboneElement | Differential view of the structure sdf-20: No slicing on the root element sdf-8a: In any differential, all the elements must start with the StructureDefinition's specified type for non-logical models, or with the same type name for logical models |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
element | 1..* | ElementDefinition | Definition of elements in the resource (if no StructureDefinition) | |
Documentation for this format |
Differential View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
StructureDefinition | 0..* | StructureDefinition | Structural Definition | |
cpg-knowledgeCapability | S | 1..* | code | shareable | computable | publishable | executable URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability Binding: CPG Knowledge Capability (required): A knowledge capability provided by a knowledge artifact |
cpg-knowledgeRepresentationLevel | S | 0..* | code | narrative | semi-structured | structured | executable URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeRepresentationLevel Binding: CPG Knowledge Representation Level (required): A level of knowledge representation provided by this artifact |
identifier | S | 0..* | Identifier | Additional identifier for the structure definition |
version | 1..1 | string | Business version of the structure definition | |
title | S | 0..1 | string | Name for this structure definition (human friendly) |
experimental | 1..1 | boolean | For testing purposes, not real usage | |
date | S | 0..1 | dateTime | Date last changed |
publisher | 1..1 | string | Name of the publisher (organization or individual) | |
contact | S | 0..* | ContactDetail | Contact details for the publisher |
description | 1..1 | markdown | Natural language description of the structure definition | |
useContext | S | 0..* | UsageContext | The context that the content is intended to support |
jurisdiction | S | 0..* | CodeableConcept | Intended jurisdiction for structure definition (if applicable) |
fhirVersion | 1..1 | code | FHIR Version this StructureDefinition targets | |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
StructureDefinition | I | 0..* | StructureDefinition | Structural Definition |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
cpg-knowledgeCapability | S | 1..* | code | shareable | computable | publishable | executable URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability Binding: CPG Knowledge Capability (required): A knowledge capability provided by a knowledge artifact |
cpg-knowledgeRepresentationLevel | S | 0..* | code | narrative | semi-structured | structured | executable URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeRepresentationLevel Binding: CPG Knowledge Representation Level (required): A level of knowledge representation provided by this artifact |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
url | Σ | 1..1 | uri | Canonical identifier for this structure definition, represented as a URI (globally unique) |
identifier | SΣ | 0..* | Identifier | Additional identifier for the structure definition |
version | Σ | 1..1 | string | Business version of the structure definition |
name | ΣI | 1..1 | string | Name for this structure definition (computer friendly) |
title | SΣ | 0..1 | string | Name for this structure definition (human friendly) |
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. |
experimental | Σ | 1..1 | boolean | For testing purposes, not real usage |
date | SΣ | 0..1 | dateTime | Date last changed |
publisher | Σ | 1..1 | string | Name of the publisher (organization or individual) |
contact | SΣ | 0..* | ContactDetail | Contact details for the publisher |
description | 1..1 | markdown | Natural language description of the structure definition | |
useContext | SΣ | 0..* | UsageContext | The context that the content is intended to support |
jurisdiction | SΣ | 0..* | CodeableConcept | Intended jurisdiction for structure definition (if applicable) Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use. |
purpose | 0..1 | markdown | Why this structure definition is defined | |
copyright | 0..1 | markdown | Use and/or publishing restrictions | |
keyword | Σ | 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). |
fhirVersion | Σ | 1..1 | code | FHIR Version this StructureDefinition targets Binding: FHIRVersion (required): All published FHIR Versions. |
mapping | I | 0..* | BackboneElement | External specification that the content is mapped to sdf-2: Must have at least a name or a uri (or both) |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
identity | 1..1 | id | Internal id when this mapping is used | |
uri | I | 0..1 | uri | Identifies what this mapping refers to |
name | I | 0..1 | string | Names what this mapping refers to |
comment | 0..1 | string | Versions, Issues, Scope limitations etc. | |
kind | Σ | 1..1 | code | primitive-type | complex-type | resource | logical Binding: StructureDefinitionKind (required): Defines the type of structure that a definition is describing. |
abstract | Σ | 1..1 | boolean | Whether the structure is abstract |
context | ΣI | 0..* | BackboneElement | If an extension, where it can be used in instances |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
type | Σ | 1..1 | code | fhirpath | element | extension Binding: ExtensionContextType (required): How an extension context is interpreted. |
expression | Σ | 1..1 | string | Where the extension can be used in instances |
contextInvariant | ΣI | 0..* | string | FHIRPath invariants - when the extension can be used |
type | ΣI | 1..1 | uri | Type defined or constrained by this structure Binding: FHIRDefinedType (extensible): Either a resource or a data type, including logical model types. |
baseDefinition | ΣI | 0..1 | canonical(StructureDefinition) | Definition that this type is constrained/specialized from |
derivation | Σ | 0..1 | code | specialization | constraint - How relates to base definition Binding: TypeDerivationRule (required): How a type relates to its baseDefinition. |
snapshot | I | 0..1 | BackboneElement | Snapshot view of the structure sdf-3: Each element definition in a snapshot must have a formal definition and cardinalities sdf-8: All snapshot elements must start with the StructureDefinition's specified type for non-logical models, or with the same type name for logical models sdf-8b: All snapshot elements must have a base definition |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
element | I | 1..* | ElementDefinition | Definition of elements in the resource (if no StructureDefinition) sdf-10: provide either a binding reference or a description (or both) |
differential | I | 0..1 | BackboneElement | Differential view of the structure sdf-20: No slicing on the root element sdf-8a: In any differential, all the elements must start with the StructureDefinition's specified type for non-logical models, or with the same type name for logical models |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
element | 1..* | ElementDefinition | Definition of elements in the resource (if no StructureDefinition) | |
Documentation for this format |
Path | Conformance | ValueSet |
StructureDefinition.language | preferred | CommonLanguages Max Binding: AllLanguages |
StructureDefinition.status | required | PublicationStatus |
StructureDefinition.jurisdiction | extensible | Jurisdiction ValueSet |
StructureDefinition.keyword | extensible | DefinitionUseCodes |
StructureDefinition.fhirVersion | required | FHIRVersion |
StructureDefinition.kind | required | StructureDefinitionKind |
StructureDefinition.context.type | required | ExtensionContextType |
StructureDefinition.type | extensible | FHIRDefinedType |
StructureDefinition.derivation | required | TypeDerivationRule |
Id | Path | Details | Requirements |
dom-2 | StructureDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | 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 | 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 | StructureDefinition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | StructureDefinition | A resource should have narrative for robust management : text.`div`.exists() | |
sdf-0 | 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 | StructureDefinition | Element paths must be unique unless the structure is a constraint : derivation = 'constraint' or snapshot.element.select(path).isDistinct() | |
sdf-15a | StructureDefinition | If the first element in a differential has no "." in the path and it's not a logical model, it has no type : (kind!='logical' and differential.element.first().path.contains('.').not()) implies differential.element.first().type.empty() | No Type on the root element (differential) |
sdf-4 | StructureDefinition | If the structure is not abstract, then there SHALL be a baseDefinition : abstract = true or baseDefinition.exists() | Ensure that the base types are abstract |
sdf-5 | StructureDefinition | If the structure defines an extension then the structure must have context information : type != 'Extension' or derivation = 'specialization' or (context.exists()) | |
sdf-6 | StructureDefinition | A structure must have either a differential, or a snapshot (or both) : snapshot.exists() or differential.exists() | |
sdf-9 | StructureDefinition | In any snapshot or differential, no label, code or requirements on an element without a "." in the path (e.g. the first element) : children().element.where(path.contains('.').not()).label.empty() and children().element.where(path.contains('.').not()).code.empty() and children().element.where(path.contains('.').not()).requirements.empty() | Because these 3 fields seem to be have overlapping meaning with the ones in the root of StructureDefinition |
sdf-11 | StructureDefinition | If there's a type, its content must match the path name in the first element of a snapshot : kind != 'logical' implies snapshot.empty() or snapshot.element.first().path = type | Ensure that the type is not inconsistent with the other information in the structure |
sdf-14 | StructureDefinition | All element definitions must have an id : snapshot.element.all(id.exists()) and differential.element.all(id.exists()) | elements have id |
sdf-15 | StructureDefinition | The first element in a snapshot has no type unless model is a logical model. : kind!='logical' implies snapshot.element.first().type.empty() | No Type on the root element (snapshot) |
sdf-16 | StructureDefinition | All element definitions must have unique ids (snapshot) : snapshot.element.all(id.exists()) and snapshot.element.id.trace('ids').isDistinct() | element ids need to be unique |
sdf-17 | StructureDefinition | All element definitions must have unique ids (diff) : differential.element.all(id.exists()) and differential.element.id.trace('ids').isDistinct() | element ids need to be unique |
sdf-18 | StructureDefinition | Context Invariants can only be used for extensions : contextInvariant.exists() implies type = 'Extension' | contextInvariant |
sdf-19 | StructureDefinition | FHIR Specification models only use FHIR defined types : url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (differential.element.type.code.all(matches('^[a-zA-Z0-9]+$') or matches('^http:\\/\\/hl7\\.org\\/fhirpath\\/System\\.[A-Z][A-Za-z]+$')) and snapshot.element.type.code.all(matches('^[a-zA-Z0-9\\.]+$') or matches('^http:\\/\\/hl7\\.org\\/fhirpath\\/System\\.[A-Z][A-Za-z]+$'))) | custom types only in logical models |
sdf-21 | StructureDefinition | Default values can only be specified on specializations : differential.element.defaultValue.exists() implies (derivation = 'specialization') | no default values on data types or resources |
sdf-22 | StructureDefinition | FHIR Specification models never have default values : url.startsWith('http://hl7.org/fhir/StructureDefinition') implies (snapshot.element.defaultValue.empty() and differential.element.defaultValue.empty()) | no default values on data types or resources |
sdf-23 | StructureDefinition | No slice name on root : (snapshot | differential).element.all(path.contains('.').not() implies sliceName.empty()) | no sliceName on root |
ele-1 | StructureDefinition.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | StructureDefinition.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | StructureDefinition.extension:knowledgeCapability | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | StructureDefinition.extension:knowledgeCapability | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | StructureDefinition.extension:knowledgeRepresentationLevel | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | StructureDefinition.extension:knowledgeRepresentationLevel | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | StructureDefinition.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | StructureDefinition.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | StructureDefinition.url | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.version | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.name | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.title | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.experimental | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.date | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.publisher | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.contact | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.description | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.useContext | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.jurisdiction | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.purpose | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.copyright | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.keyword | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.fhirVersion | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.mapping | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
sdf-2 | StructureDefinition.mapping | Must have at least a name or a uri (or both) : name.exists() or uri.exists() | |
ele-1 | StructureDefinition.mapping.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | StructureDefinition.mapping.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | StructureDefinition.mapping.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | StructureDefinition.mapping.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | StructureDefinition.mapping.identity | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.mapping.uri | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.mapping.name | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.mapping.comment | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.kind | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.abstract | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.context | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.context.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | StructureDefinition.context.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | StructureDefinition.context.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | StructureDefinition.context.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | StructureDefinition.context.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.context.expression | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.contextInvariant | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.baseDefinition | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.derivation | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | StructureDefinition.snapshot | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
sdf-3 | 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-8 | 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-8b | StructureDefinition.snapshot | All snapshot elements must have a base definition : element.all(base.exists()) | |
ele-1 | StructureDefinition.snapshot.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | StructureDefinition.snapshot.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | StructureDefinition.snapshot.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | StructureDefinition.snapshot.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | StructureDefinition.snapshot.element | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
sdf-10 | StructureDefinition.snapshot.element | provide either a binding reference or a description (or both) : binding.empty() or binding.valueSet.exists() or binding.description.exists() | binding is required |
ele-1 | StructureDefinition.differential | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
sdf-20 | StructureDefinition.differential | No slicing on the root element : element.where(path.contains('.').not()).slicing.empty() | no slicing on root |
sdf-8a | 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('\\..*','')&'.'))) | |
ele-1 | StructureDefinition.differential.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | StructureDefinition.differential.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | StructureDefinition.differential.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | StructureDefinition.differential.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | StructureDefinition.differential.element | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |