SMART Base
0.3.0 - ci-build

SMART Base, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.3.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-base/ and changes regularly. See the Directory of published versions

Resource Profile: SMART Guidelines GraphDefinition

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

SMART Guidelines Transaction Definition

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
GraphDefinition C 0..* GraphDefinition Definition of a graph of resources
Constraints: gdf-0
GraphDefinition.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
GraphDefinition.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
GraphDefinition.Slices for extension.extension:node This element must be supported. 0..* (Complex) R5: Potential target for the link (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-GraphDefinition.node
Constraints: ext-1
GraphDefinition.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
GraphDefinition.name This element must be supported. This element is included in summaries. C 1..1 string Name for this graph definition (computer friendly)
GraphDefinition.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
GraphDefinition.experimental This element is included in summaries. 1..1 boolean For testing purposes, not real usage
GraphDefinition.description 1..1 markdown Natural language description of the graph definition
GraphDefinition.start This element is included in summaries. 1..1 code Type of resource at which the graph starts
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
GraphDefinition.link 1..* BackboneElement Links this graph makes rules about
GraphDefinition.link.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
GraphDefinition.link.Slices for extension.extension:sourceId 0..* id Extension
URL: http://smart.who.int/base/StructureDefinition/LinkIdExt
GraphDefinition.link.Slices for extension.extension:targetId 0..* id Extension
URL: http://smart.who.int/base/StructureDefinition/LinkIdExt
GraphDefinition.link.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
GraphDefinition.status Base required PublicationStatus 📍4.0.1 FHIR Std.
GraphDefinition.start Base required ResourceType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error GraphDefinition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error GraphDefinition 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 GraphDefinition 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 GraphDefinition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice GraphDefinition 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()
gdf-0 warning GraphDefinition 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}')

This structure is derived from GraphDefinition

NameFlagsCard.TypeDescription & Constraints    Filter: doco
GraphDefinition 0..* GraphDefinition Definition of a graph of resources
GraphDefinition.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
GraphDefinition.Slices for extension.extension:node This element must be supported. 0..* (Complex) R5: Potential target for the link (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-GraphDefinition.node
GraphDefinition.name This element must be supported. 1..1 string Name for this graph definition (computer friendly)
GraphDefinition.status This element must be supported. 1..1 code draft | active | retired | unknown
GraphDefinition.description 1..1 markdown Natural language description of the graph definition
GraphDefinition.link 1..* BackboneElement Links this graph makes rules about
GraphDefinition.link.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
GraphDefinition.link.Slices for extension.extension:sourceId 0..* id Extension
URL: http://smart.who.int/base/StructureDefinition/LinkIdExt
GraphDefinition.link.Slices for extension.extension:targetId 0..* id Extension
URL: http://smart.who.int/base/StructureDefinition/LinkIdExt

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: doco
GraphDefinition C 0..* GraphDefinition Definition of a graph of resources
Constraints: gdf-0
GraphDefinition.id This element is included in summaries. 0..1 id Logical id of this artifact
GraphDefinition.meta This element is included in summaries. 0..1 Meta Metadata about the resource
GraphDefinition.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
GraphDefinition.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
GraphDefinition.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
GraphDefinition.contained 0..* Resource Contained, inline Resources
GraphDefinition.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
GraphDefinition.Slices for extension.extension:node This element must be supported. 0..* (Complex) R5: Potential target for the link (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-GraphDefinition.node
Constraints: ext-1
GraphDefinition.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
GraphDefinition.url This element is included in summaries. 0..1 uri Canonical identifier for this graph definition, represented as a URI (globally unique)
GraphDefinition.version This element is included in summaries. 0..1 string Business version of the graph definition
GraphDefinition.name This element must be supported. This element is included in summaries. C 1..1 string Name for this graph definition (computer friendly)
GraphDefinition.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
GraphDefinition.experimental This element is included in summaries. 1..1 boolean For testing purposes, not real usage
GraphDefinition.date This element is included in summaries. 0..1 dateTime Date last changed
GraphDefinition.publisher This element is included in summaries. 0..1 string Name of the publisher (organization or individual)
GraphDefinition.contact This element is included in summaries. 0..* ContactDetail Contact details for the publisher
GraphDefinition.description 1..1 markdown Natural language description of the graph definition
GraphDefinition.useContext This element is included in summaries. 0..* UsageContext The context that the content is intended to support
GraphDefinition.jurisdiction This element is included in summaries. 0..* CodeableConcept Intended jurisdiction for graph definition (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
GraphDefinition.purpose 0..1 markdown Why this graph definition is defined
GraphDefinition.start This element is included in summaries. 1..1 code Type of resource at which the graph starts
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
GraphDefinition.profile 0..1 canonical(StructureDefinition) Profile on base resource
GraphDefinition.link 1..* BackboneElement Links this graph makes rules about
GraphDefinition.link.id 0..1 string Unique id for inter-element referencing
GraphDefinition.link.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
GraphDefinition.link.Slices for extension.extension:sourceId 0..* id Extension
URL: http://smart.who.int/base/StructureDefinition/LinkIdExt
GraphDefinition.link.Slices for extension.extension:targetId 0..* id Extension
URL: http://smart.who.int/base/StructureDefinition/LinkIdExt
GraphDefinition.link.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
GraphDefinition.link.path 0..1 string Path in the resource that contains the link
GraphDefinition.link.sliceName 0..1 string Which slice (if profiled)
GraphDefinition.link.min 0..1 integer Minimum occurrences for this link
GraphDefinition.link.max 0..1 string Maximum occurrences for this link
GraphDefinition.link.description 0..1 string Why this link is specified
GraphDefinition.link.target 0..* BackboneElement Potential target for the link
GraphDefinition.link.target.id 0..1 string Unique id for inter-element referencing
GraphDefinition.link.target.extension 0..* Extension Additional content defined by implementations
GraphDefinition.link.target.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
GraphDefinition.link.target.type 1..1 code Type of resource this link refers to
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
GraphDefinition.link.target.params 0..1 string Criteria for reverse lookup
GraphDefinition.link.target.profile 0..1 canonical(StructureDefinition) Profile for the target resource
GraphDefinition.link.target.compartment 0..* BackboneElement Compartment Consistency Rules
GraphDefinition.link.target.compartment.id 0..1 string Unique id for inter-element referencing
GraphDefinition.link.target.compartment.extension 0..* Extension Additional content defined by implementations
GraphDefinition.link.target.compartment.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
GraphDefinition.link.target.compartment.use 1..1 code condition | requirement
Binding: GraphCompartmentUse (required): Defines how a compartment rule is used.
GraphDefinition.link.target.compartment.code 1..1 code Patient | Encounter | RelatedPerson | Practitioner | Device
Binding: CompartmentType (required): Identifies a compartment.
GraphDefinition.link.target.compartment.rule 1..1 code identical | matching | different | custom
Binding: GraphCompartmentRule (required): How a compartment must be linked.
GraphDefinition.link.target.compartment.expression 0..1 string Custom rule, as a FHIRPath expression
GraphDefinition.link.target.compartment.description 0..1 string Documentation for FHIRPath expression
GraphDefinition.link.target.link 0..* See link (GraphDefinition) Additional links from target resource

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
GraphDefinition.language Base preferred Common Languages 📍4.0.1 FHIR Std.
GraphDefinition.status Base required PublicationStatus 📍4.0.1 FHIR Std.
GraphDefinition.jurisdiction Base extensible Jurisdiction 📍4.0.1 FHIR Std.
GraphDefinition.start Base required ResourceType 📍4.0.1 FHIR Std.
GraphDefinition.link.​target.type Base required ResourceType 📍4.0.1 FHIR Std.
GraphDefinition.link.​target.compartment.use Base required GraphCompartmentUse 📍4.0.1 FHIR Std.
GraphDefinition.link.​target.compartment.code Base required CompartmentType 📍4.0.1 FHIR Std.
GraphDefinition.link.​target.compartment.rule Base required GraphCompartmentRule 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error GraphDefinition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error GraphDefinition 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 GraphDefinition 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 GraphDefinition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice GraphDefinition 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()
gdf-0 warning GraphDefinition 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}')

This structure is derived from GraphDefinition

Summary

Mandatory: 3 elements
Must-Support: 3 elements

Extensions

This structure refers to these extensions:

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
GraphDefinition C 0..* GraphDefinition Definition of a graph of resources
Constraints: gdf-0
GraphDefinition.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
GraphDefinition.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
GraphDefinition.Slices for extension.extension:node This element must be supported. 0..* (Complex) R5: Potential target for the link (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-GraphDefinition.node
Constraints: ext-1
GraphDefinition.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
GraphDefinition.name This element must be supported. This element is included in summaries. C 1..1 string Name for this graph definition (computer friendly)
GraphDefinition.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
GraphDefinition.experimental This element is included in summaries. 1..1 boolean For testing purposes, not real usage
GraphDefinition.description 1..1 markdown Natural language description of the graph definition
GraphDefinition.start This element is included in summaries. 1..1 code Type of resource at which the graph starts
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
GraphDefinition.link 1..* BackboneElement Links this graph makes rules about
GraphDefinition.link.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
GraphDefinition.link.Slices for extension.extension:sourceId 0..* id Extension
URL: http://smart.who.int/base/StructureDefinition/LinkIdExt
GraphDefinition.link.Slices for extension.extension:targetId 0..* id Extension
URL: http://smart.who.int/base/StructureDefinition/LinkIdExt
GraphDefinition.link.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
GraphDefinition.status Base required PublicationStatus 📍4.0.1 FHIR Std.
GraphDefinition.start Base required ResourceType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error GraphDefinition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error GraphDefinition 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 GraphDefinition 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 GraphDefinition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice GraphDefinition 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()
gdf-0 warning GraphDefinition 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}')

Differential View

This structure is derived from GraphDefinition

NameFlagsCard.TypeDescription & Constraints    Filter: doco
GraphDefinition 0..* GraphDefinition Definition of a graph of resources
GraphDefinition.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
GraphDefinition.Slices for extension.extension:node This element must be supported. 0..* (Complex) R5: Potential target for the link (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-GraphDefinition.node
GraphDefinition.name This element must be supported. 1..1 string Name for this graph definition (computer friendly)
GraphDefinition.status This element must be supported. 1..1 code draft | active | retired | unknown
GraphDefinition.experimental 1..1 boolean For testing purposes, not real usage
GraphDefinition.description 1..1 markdown Natural language description of the graph definition
GraphDefinition.link 1..* BackboneElement Links this graph makes rules about
GraphDefinition.link.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
GraphDefinition.link.Slices for extension.extension:sourceId 0..* id Extension
URL: http://smart.who.int/base/StructureDefinition/LinkIdExt
GraphDefinition.link.Slices for extension.extension:targetId 0..* id Extension
URL: http://smart.who.int/base/StructureDefinition/LinkIdExt

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
GraphDefinition C 0..* GraphDefinition Definition of a graph of resources
Constraints: gdf-0
GraphDefinition.id This element is included in summaries. 0..1 id Logical id of this artifact
GraphDefinition.meta This element is included in summaries. 0..1 Meta Metadata about the resource
GraphDefinition.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
GraphDefinition.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
GraphDefinition.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
GraphDefinition.contained 0..* Resource Contained, inline Resources
GraphDefinition.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
GraphDefinition.Slices for extension.extension:node This element must be supported. 0..* (Complex) R5: Potential target for the link (new)
URL: http://hl7.org/fhir/5.0/StructureDefinition/extension-GraphDefinition.node
Constraints: ext-1
GraphDefinition.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
GraphDefinition.url This element is included in summaries. 0..1 uri Canonical identifier for this graph definition, represented as a URI (globally unique)
GraphDefinition.version This element is included in summaries. 0..1 string Business version of the graph definition
GraphDefinition.name This element must be supported. This element is included in summaries. C 1..1 string Name for this graph definition (computer friendly)
GraphDefinition.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
GraphDefinition.experimental This element is included in summaries. 1..1 boolean For testing purposes, not real usage
GraphDefinition.date This element is included in summaries. 0..1 dateTime Date last changed
GraphDefinition.publisher This element is included in summaries. 0..1 string Name of the publisher (organization or individual)
GraphDefinition.contact This element is included in summaries. 0..* ContactDetail Contact details for the publisher
GraphDefinition.description 1..1 markdown Natural language description of the graph definition
GraphDefinition.useContext This element is included in summaries. 0..* UsageContext The context that the content is intended to support
GraphDefinition.jurisdiction This element is included in summaries. 0..* CodeableConcept Intended jurisdiction for graph definition (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
GraphDefinition.purpose 0..1 markdown Why this graph definition is defined
GraphDefinition.start This element is included in summaries. 1..1 code Type of resource at which the graph starts
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
GraphDefinition.profile 0..1 canonical(StructureDefinition) Profile on base resource
GraphDefinition.link 1..* BackboneElement Links this graph makes rules about
GraphDefinition.link.id 0..1 string Unique id for inter-element referencing
GraphDefinition.link.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url

Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
GraphDefinition.link.Slices for extension.extension:sourceId 0..* id Extension
URL: http://smart.who.int/base/StructureDefinition/LinkIdExt
GraphDefinition.link.Slices for extension.extension:targetId 0..* id Extension
URL: http://smart.who.int/base/StructureDefinition/LinkIdExt
GraphDefinition.link.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
GraphDefinition.link.path 0..1 string Path in the resource that contains the link
GraphDefinition.link.sliceName 0..1 string Which slice (if profiled)
GraphDefinition.link.min 0..1 integer Minimum occurrences for this link
GraphDefinition.link.max 0..1 string Maximum occurrences for this link
GraphDefinition.link.description 0..1 string Why this link is specified
GraphDefinition.link.target 0..* BackboneElement Potential target for the link
GraphDefinition.link.target.id 0..1 string Unique id for inter-element referencing
GraphDefinition.link.target.extension 0..* Extension Additional content defined by implementations
GraphDefinition.link.target.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
GraphDefinition.link.target.type 1..1 code Type of resource this link refers to
Binding: ResourceType (required): One of the resource types defined as part of this version of FHIR.
GraphDefinition.link.target.params 0..1 string Criteria for reverse lookup
GraphDefinition.link.target.profile 0..1 canonical(StructureDefinition) Profile for the target resource
GraphDefinition.link.target.compartment 0..* BackboneElement Compartment Consistency Rules
GraphDefinition.link.target.compartment.id 0..1 string Unique id for inter-element referencing
GraphDefinition.link.target.compartment.extension 0..* Extension Additional content defined by implementations
GraphDefinition.link.target.compartment.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
GraphDefinition.link.target.compartment.use 1..1 code condition | requirement
Binding: GraphCompartmentUse (required): Defines how a compartment rule is used.
GraphDefinition.link.target.compartment.code 1..1 code Patient | Encounter | RelatedPerson | Practitioner | Device
Binding: CompartmentType (required): Identifies a compartment.
GraphDefinition.link.target.compartment.rule 1..1 code identical | matching | different | custom
Binding: GraphCompartmentRule (required): How a compartment must be linked.
GraphDefinition.link.target.compartment.expression 0..1 string Custom rule, as a FHIRPath expression
GraphDefinition.link.target.compartment.description 0..1 string Documentation for FHIRPath expression
GraphDefinition.link.target.link 0..* See link (GraphDefinition) Additional links from target resource

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
GraphDefinition.language Base preferred Common Languages 📍4.0.1 FHIR Std.
GraphDefinition.status Base required PublicationStatus 📍4.0.1 FHIR Std.
GraphDefinition.jurisdiction Base extensible Jurisdiction 📍4.0.1 FHIR Std.
GraphDefinition.start Base required ResourceType 📍4.0.1 FHIR Std.
GraphDefinition.link.​target.type Base required ResourceType 📍4.0.1 FHIR Std.
GraphDefinition.link.​target.compartment.use Base required GraphCompartmentUse 📍4.0.1 FHIR Std.
GraphDefinition.link.​target.compartment.code Base required CompartmentType 📍4.0.1 FHIR Std.
GraphDefinition.link.​target.compartment.rule Base required GraphCompartmentRule 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error GraphDefinition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error GraphDefinition 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 GraphDefinition 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 GraphDefinition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice GraphDefinition 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()
gdf-0 warning GraphDefinition 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}')

This structure is derived from GraphDefinition

Summary

Mandatory: 3 elements
Must-Support: 3 elements

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron