This page is part of the Clinical Guidelines (v1.0.0: STU 1) based on FHIR R4. This is the current published version in it's permanent home (it will always be available at this URL). 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-publishablecasefeature
Profile of StructureDefinition to represent the minimum expectations for a publishable case feature of a clinical practice guideline
This profile builds on CPGShareableStructureDefinition.
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.
Summary
Mandatory: 2 elements
Must-Support: 7 elements
Extensions
This structure refers to these extensions:
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
StructureDefinition | I | 0..* | CPGShareableStructureDefinition | 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 |
resource-approvalDate | S | 0..1 | date | When resource approved by publisher URL: http://hl7.org/fhir/StructureDefinition/resource-approvalDate |
resource-effectivePeriod | S | 0..1 | Period | The effective date range for the resource URL: http://hl7.org/fhir/StructureDefinition/resource-effectivePeriod |
resource-lastReviewDate | S | 0..1 | date | Last review date for the resource URL: http://hl7.org/fhir/StructureDefinition/resource-lastReviewDate |
cpg-topic | 0..* | CodeableConcept | E.g. Education, Treatment, Assessment, etc. URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-topic Binding: DefinitionTopic (example): Topics for categorization and searching of artifacts | |
cpg-author | 0..* | ContactDetail | Who authored the content URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-author | |
cpg-editor | 0..* | ContactDetail | Who edited the content URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-editor | |
cpg-reviewer | 0..* | ContactDetail | Who reviewed the content URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-reviewer | |
cpg-endorser | 0..* | ContactDetail | Who endorsed the content URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-endorser | |
cpg-relatedArtifact | S | 0..* | RelatedArtifact | Additional information related to the artifact URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-relatedArtifact |
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Σ | 1..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Σ | 1..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 | S | 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 |
Summary
Mandatory: 2 elements
Must-Support: 7 elements
Extensions
This structure refers to these extensions:
Differential View
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
StructureDefinition | I | 0..* | CPGShareableStructureDefinition | 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 |
resource-approvalDate | S | 0..1 | date | When resource approved by publisher URL: http://hl7.org/fhir/StructureDefinition/resource-approvalDate |
resource-effectivePeriod | S | 0..1 | Period | The effective date range for the resource URL: http://hl7.org/fhir/StructureDefinition/resource-effectivePeriod |
resource-lastReviewDate | S | 0..1 | date | Last review date for the resource URL: http://hl7.org/fhir/StructureDefinition/resource-lastReviewDate |
cpg-topic | 0..* | CodeableConcept | E.g. Education, Treatment, Assessment, etc. URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-topic Binding: DefinitionTopic (example): Topics for categorization and searching of artifacts | |
cpg-author | 0..* | ContactDetail | Who authored the content URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-author | |
cpg-editor | 0..* | ContactDetail | Who edited the content URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-editor | |
cpg-reviewer | 0..* | ContactDetail | Who reviewed the content URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-reviewer | |
cpg-endorser | 0..* | ContactDetail | Who endorsed the content URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-endorser | |
cpg-relatedArtifact | S | 0..* | RelatedArtifact | Additional information related to the artifact URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-relatedArtifact |
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Σ | 1..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Σ | 1..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 | S | 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.extension:approvalDate | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | StructureDefinition.extension:approvalDate | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | StructureDefinition.extension:effectivePeriod | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | StructureDefinition.extension:effectivePeriod | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | StructureDefinition.extension:lastReviewDate | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | StructureDefinition.extension:lastReviewDate | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | StructureDefinition.extension:topic | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | StructureDefinition.extension:topic | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | StructureDefinition.extension:author | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | StructureDefinition.extension:author | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | StructureDefinition.extension:editor | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | StructureDefinition.extension:editor | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | StructureDefinition.extension:reviewer | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | StructureDefinition.extension:reviewer | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | StructureDefinition.extension:endorser | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | StructureDefinition.extension:endorser | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | StructureDefinition.extension:relatedArtifact | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | StructureDefinition.extension:relatedArtifact | 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()) |