CH Core (R4)
5.0.0-ci-build - ci-build Switzerland flag

CH Core (R4), published by HL7 Switzerland. This guide is not an authorized publication; it is the continuous build for version 5.0.0-ci-build built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7ch/ch-core/ and changes regularly. See the Directory of published versions

Extension: Entry Resource Cross References

Official URL: http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-ext-entry-resource-cross-references Version: 5.0.0-ci-build
Active as of 2023-11-02 Computable Name: EntryResourceCrossReferences

Copyright/Legal: CC0-1.0

Extension to make a reference beween resources as entries in i.e. document bundles.

Context of Use

This extension may be used on the following element(s):

  • Element ID DomainResource

Scope and Usage

This Extension can be used to reference entry to entry in two different documents (i.e. Bundle[type=document]). If you have to change attributes of an entry (i.e. Immunization) which is documented in a FHIR document Bundle/Composition, you create a new document - or a copy of - with the same content.

  • First you change the attributes of the entry which have to be changed.
  • Second you add the relatesTo information to the Composition in the new document.
  • Third you add this extension to the Immunization entry in the new document.
    • The entry slice will be filled with the Identifier of the entry in the original document and define the resource type (Immunization).
    • The container slice will be filled with the Identifier and resource type of the Composition in the original document.
    • The relationcode slice will be set with the corresponding code (i.e. replaces).

You can use this extension for all kind of resources and containers.

Usage info

Usage:

Formal Views of Extension Content

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

This structure is derived from Extension

Summary

Complex Extension: Extension to make a reference beween resources as entries in i.e. document bundles.

  • entry: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference, SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta: Reference to the related entry.
  • container: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference, SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta: Reference to the related container resource
  • relationcode: code: Reference to the related document

This structure is derived from Extension

NameFlagsCard.TypeDescription & Constraintsdoco
.. Extension 0..* Extension Entry Resource Cross References
... extension 3..* Extension Extension
... Slices for extension Content/Rules for all slices
.... extension:entry 1..1 Extension Reference to the related entry
..... extension 0..0
..... url 1..1 uri "entry"
..... Slices for value[x] 0..1 base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta Value of extension
Slice: Unordered, Open by type:$this
...... value[x]:valueReference 0..1 Reference() Reference to the entry resource in an other container i.e. Bundle
....... reference 0..0
....... type 1..1 uri Entry resource type
....... identifier 1..1 Identifier Identifier of entry
.... extension:container 1..1 Extension Reference to the related container resource
..... extension 0..0
..... url 1..1 uri "container"
..... Slices for value[x] 0..1 base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta Value of extension
Slice: Unordered, Open by type:$this
...... value[x]:valueReference 0..1 Reference() Reference to the container resource i.e. Bundle.composition containinig the referenced entry
....... reference 0..0
....... type 1..1 uri Container resource type
....... identifier 1..1 Identifier Identifier of container
.... extension:relationcode 1..1 Extension Reference to the related document
..... extension 0..0
..... url 1..1 uri "relationcode"
..... Slices for value[x] 1..1 code Value of extension
Slice: Unordered, Open by type:$this
...... value[x]:valueCode 1..1 code The type of relationship between the elements in the documents.
Binding: DocumentRelationshipType (required)
... url 1..1 uri "http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-ext-entry-resource-cross-references"

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Extension 0..* Extension Entry Resource Cross References
... id 0..1 string Unique id for inter-element referencing
... Slices for extension 3..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:entry 1..1 Extension Reference to the related entry
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0
..... url 1..1 uri "entry"
..... Slices for value[x] 0..1 Value of extension
Slice: Unordered, Open by type:$this
...... valueBase64Binary base64Binary
...... valueBoolean boolean
...... valueCanonical canonical(Any)
...... valueCode code
...... valueDate date
...... valueDateTime dateTime
...... valueDecimal decimal
...... valueId id
...... valueInstant instant
...... valueInteger integer
...... valueMarkdown markdown
...... valueOid oid
...... valuePositiveInt positiveInt
...... valueString string
...... valueTime time
...... valueUnsignedInt unsignedInt
...... valueUri uri
...... valueUrl url
...... valueUuid uuid
...... valueAddress Address
...... valueAge Age
...... valueAnnotation Annotation
...... valueAttachment Attachment
...... valueCodeableConcept CodeableConcept
...... valueCoding Coding
...... valueContactPoint ContactPoint
...... valueCount Count
...... valueDistance Distance
...... valueDuration Duration
...... valueHumanName HumanName
...... valueIdentifier Identifier
...... valueMoney Money
...... valuePeriod Period
...... valueQuantity Quantity
...... valueRange Range
...... valueRatio Ratio
...... valueReference Reference(Any)
...... valueSampledData SampledData
...... valueSignature Signature
...... valueTiming Timing
...... valueContactDetail ContactDetail
...... valueContributor Contributor
...... valueDataRequirement DataRequirement
...... valueExpression Expression
...... valueParameterDefinition ParameterDefinition
...... valueRelatedArtifact RelatedArtifact
...... valueTriggerDefinition TriggerDefinition
...... valueUsageContext UsageContext
...... valueDosage Dosage
...... valueMeta Meta
...... value[x]:valueReference 0..1 Reference() Reference to the entry resource in an other container i.e. Bundle
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... type Σ 1..1 uri Entry resource type
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

....... identifier Σ 1..1 Identifier Identifier of entry
....... display Σ 0..1 string Text alternative for the resource
.... extension:container 1..1 Extension Reference to the related container resource
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0
..... url 1..1 uri "container"
..... Slices for value[x] 0..1 Value of extension
Slice: Unordered, Open by type:$this
...... valueBase64Binary base64Binary
...... valueBoolean boolean
...... valueCanonical canonical(Any)
...... valueCode code
...... valueDate date
...... valueDateTime dateTime
...... valueDecimal decimal
...... valueId id
...... valueInstant instant
...... valueInteger integer
...... valueMarkdown markdown
...... valueOid oid
...... valuePositiveInt positiveInt
...... valueString string
...... valueTime time
...... valueUnsignedInt unsignedInt
...... valueUri uri
...... valueUrl url
...... valueUuid uuid
...... valueAddress Address
...... valueAge Age
...... valueAnnotation Annotation
...... valueAttachment Attachment
...... valueCodeableConcept CodeableConcept
...... valueCoding Coding
...... valueContactPoint ContactPoint
...... valueCount Count
...... valueDistance Distance
...... valueDuration Duration
...... valueHumanName HumanName
...... valueIdentifier Identifier
...... valueMoney Money
...... valuePeriod Period
...... valueQuantity Quantity
...... valueRange Range
...... valueRatio Ratio
...... valueReference Reference(Any)
...... valueSampledData SampledData
...... valueSignature Signature
...... valueTiming Timing
...... valueContactDetail ContactDetail
...... valueContributor Contributor
...... valueDataRequirement DataRequirement
...... valueExpression Expression
...... valueParameterDefinition ParameterDefinition
...... valueRelatedArtifact RelatedArtifact
...... valueTriggerDefinition TriggerDefinition
...... valueUsageContext UsageContext
...... valueDosage Dosage
...... valueMeta Meta
...... value[x]:valueReference 0..1 Reference() Reference to the container resource i.e. Bundle.composition containinig the referenced entry
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... type Σ 1..1 uri Container resource type
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

....... identifier Σ 1..1 Identifier Identifier of container
....... display Σ 0..1 string Text alternative for the resource
.... extension:relationcode 1..1 Extension Reference to the related document
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0
..... url 1..1 uri "relationcode"
..... Slices for value[x] 1..1 code Value of extension
Slice: Unordered, Closed by type:$this
...... value[x]:valueCode 1..1 code The type of relationship between the elements in the documents.
Binding: DocumentRelationshipType (required)
... url 1..1 uri "http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-ext-entry-resource-cross-references"

doco Documentation for this format

This structure is derived from Extension

Summary

Complex Extension: Extension to make a reference beween resources as entries in i.e. document bundles.

  • entry: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference, SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta: Reference to the related entry.
  • container: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference, SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta: Reference to the related container resource
  • relationcode: code: Reference to the related document

Differential View

This structure is derived from Extension

NameFlagsCard.TypeDescription & Constraintsdoco
.. Extension 0..* Extension Entry Resource Cross References
... extension 3..* Extension Extension
... Slices for extension Content/Rules for all slices
.... extension:entry 1..1 Extension Reference to the related entry
..... extension 0..0
..... url 1..1 uri "entry"
..... Slices for value[x] 0..1 base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta Value of extension
Slice: Unordered, Open by type:$this
...... value[x]:valueReference 0..1 Reference() Reference to the entry resource in an other container i.e. Bundle
....... reference 0..0
....... type 1..1 uri Entry resource type
....... identifier 1..1 Identifier Identifier of entry
.... extension:container 1..1 Extension Reference to the related container resource
..... extension 0..0
..... url 1..1 uri "container"
..... Slices for value[x] 0..1 base64Binary, boolean, canonical(), code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference(), SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta Value of extension
Slice: Unordered, Open by type:$this
...... value[x]:valueReference 0..1 Reference() Reference to the container resource i.e. Bundle.composition containinig the referenced entry
....... reference 0..0
....... type 1..1 uri Container resource type
....... identifier 1..1 Identifier Identifier of container
.... extension:relationcode 1..1 Extension Reference to the related document
..... extension 0..0
..... url 1..1 uri "relationcode"
..... Slices for value[x] 1..1 code Value of extension
Slice: Unordered, Open by type:$this
...... value[x]:valueCode 1..1 code The type of relationship between the elements in the documents.
Binding: DocumentRelationshipType (required)
... url 1..1 uri "http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-ext-entry-resource-cross-references"

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Extension 0..* Extension Entry Resource Cross References
... id 0..1 string Unique id for inter-element referencing
... Slices for extension 3..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:entry 1..1 Extension Reference to the related entry
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0
..... url 1..1 uri "entry"
..... Slices for value[x] 0..1 Value of extension
Slice: Unordered, Open by type:$this
...... valueBase64Binary base64Binary
...... valueBoolean boolean
...... valueCanonical canonical(Any)
...... valueCode code
...... valueDate date
...... valueDateTime dateTime
...... valueDecimal decimal
...... valueId id
...... valueInstant instant
...... valueInteger integer
...... valueMarkdown markdown
...... valueOid oid
...... valuePositiveInt positiveInt
...... valueString string
...... valueTime time
...... valueUnsignedInt unsignedInt
...... valueUri uri
...... valueUrl url
...... valueUuid uuid
...... valueAddress Address
...... valueAge Age
...... valueAnnotation Annotation
...... valueAttachment Attachment
...... valueCodeableConcept CodeableConcept
...... valueCoding Coding
...... valueContactPoint ContactPoint
...... valueCount Count
...... valueDistance Distance
...... valueDuration Duration
...... valueHumanName HumanName
...... valueIdentifier Identifier
...... valueMoney Money
...... valuePeriod Period
...... valueQuantity Quantity
...... valueRange Range
...... valueRatio Ratio
...... valueReference Reference(Any)
...... valueSampledData SampledData
...... valueSignature Signature
...... valueTiming Timing
...... valueContactDetail ContactDetail
...... valueContributor Contributor
...... valueDataRequirement DataRequirement
...... valueExpression Expression
...... valueParameterDefinition ParameterDefinition
...... valueRelatedArtifact RelatedArtifact
...... valueTriggerDefinition TriggerDefinition
...... valueUsageContext UsageContext
...... valueDosage Dosage
...... valueMeta Meta
...... value[x]:valueReference 0..1 Reference() Reference to the entry resource in an other container i.e. Bundle
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... type Σ 1..1 uri Entry resource type
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

....... identifier Σ 1..1 Identifier Identifier of entry
....... display Σ 0..1 string Text alternative for the resource
.... extension:container 1..1 Extension Reference to the related container resource
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0
..... url 1..1 uri "container"
..... Slices for value[x] 0..1 Value of extension
Slice: Unordered, Open by type:$this
...... valueBase64Binary base64Binary
...... valueBoolean boolean
...... valueCanonical canonical(Any)
...... valueCode code
...... valueDate date
...... valueDateTime dateTime
...... valueDecimal decimal
...... valueId id
...... valueInstant instant
...... valueInteger integer
...... valueMarkdown markdown
...... valueOid oid
...... valuePositiveInt positiveInt
...... valueString string
...... valueTime time
...... valueUnsignedInt unsignedInt
...... valueUri uri
...... valueUrl url
...... valueUuid uuid
...... valueAddress Address
...... valueAge Age
...... valueAnnotation Annotation
...... valueAttachment Attachment
...... valueCodeableConcept CodeableConcept
...... valueCoding Coding
...... valueContactPoint ContactPoint
...... valueCount Count
...... valueDistance Distance
...... valueDuration Duration
...... valueHumanName HumanName
...... valueIdentifier Identifier
...... valueMoney Money
...... valuePeriod Period
...... valueQuantity Quantity
...... valueRange Range
...... valueRatio Ratio
...... valueReference Reference(Any)
...... valueSampledData SampledData
...... valueSignature Signature
...... valueTiming Timing
...... valueContactDetail ContactDetail
...... valueContributor Contributor
...... valueDataRequirement DataRequirement
...... valueExpression Expression
...... valueParameterDefinition ParameterDefinition
...... valueRelatedArtifact RelatedArtifact
...... valueTriggerDefinition TriggerDefinition
...... valueUsageContext UsageContext
...... valueDosage Dosage
...... valueMeta Meta
...... value[x]:valueReference 0..1 Reference() Reference to the container resource i.e. Bundle.composition containinig the referenced entry
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... type Σ 1..1 uri Container resource type
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

....... identifier Σ 1..1 Identifier Identifier of container
....... display Σ 0..1 string Text alternative for the resource
.... extension:relationcode 1..1 Extension Reference to the related document
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0
..... url 1..1 uri "relationcode"
..... Slices for value[x] 1..1 code Value of extension
Slice: Unordered, Closed by type:$this
...... value[x]:valueCode 1..1 code The type of relationship between the elements in the documents.
Binding: DocumentRelationshipType (required)
... url 1..1 uri "http://fhir.ch/ig/ch-core/StructureDefinition/ch-core-ext-entry-resource-cross-references"

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSetURI
Extension.extension:entry.value[x]:valueReference.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
Extension.extension:container.value[x]:valueReference.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
Extension.extension:relationcode.value[x]:valueCoderequiredDocumentRelationshipType
http://hl7.org/fhir/ValueSet/document-relationship-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()