R4 Ballot #2 (Mixed Normative/Trial use)

This page is part of the FHIR Specification (v3.5.0: R4 Ballot #2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

8.22 Resource Linkage - Content

Patient Care Work GroupMaturity Level: 0 Trial Use Compartments: Practitioner

Identifies two or more records (resource instances) that are referring to the same real-world "occurrence".

This resource allows the assertion of linkages between multiple resource instances (generally of the same type) that are referring to the same underlying business objects. For example, multiple Condition records that refer to the same underlying problem/issue for a Patient; multiple AllergyIntolerance records that refer to the same reaction susceptibility; multiple Patient, Practitioner and/or RelatedPerson records that refer to the same human being or animal.

FHIR supports a process for sharing electronic records. It is common for multiple records to exist that deal with the same real-world phenomenon. This can result from information being captured by different systems, information being captured within a single system by different users (either deliberately to represent distinct perspectives or accidentally when a new record is created rather than updating an existing record). These multiple records may be referred to as "duplicate" records, but in practice they aren't often actually "duplicate" in that the data represented (and the history of the records) will be at least somewhat distinct.

In some cases, the solution upon identifying duplicates is to deprecate one of the records (e.g. by changing the status to "entered in error") and move all relevant information to the surviving record. In other cases, the resource may support the ability to establish a linkage directly between the resources. However, in some cases, both records may need to survive or there's a desire to have both resources continue to be maintained, perhaps because the resources live on different servers or have different 'owners'. The Linkage resource is intended to satisfy this use-case.

The Person resource should be used to link a person independent of a specific health-related context. Linkage can be used for all other use cases.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Linkage ΣITUDomainResourceLinks records for 'same' item
+ Rule: Must have at least two items
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... active Σ0..1booleanWhether this linkage assertion is active or not
... author Σ0..1Reference(Practitioner | Organization)Who is responsible for linkages
... item ΣI1..*BackboneElementItem to be linked
.... type Σ1..1codesource | alternate | historical
LinkageType (Required)
.... resource Σ1..1Reference(Any)Resource being linked

doco Documentation for this format

XML Template

<Linkage xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <active value="[boolean]"/><!-- 0..1 Whether this linkage assertion is active or not -->
 <author><!-- 0..1 Reference(Practitioner|Organization) Who is responsible for linkages --></author>
 <item>  <!-- ?? 1..* Item to be linked -->
  <type value="[code]"/><!-- 1..1 source | alternate | historical -->
  <resource><!-- 1..1 Reference(Any) Resource being linked --></resource>
 </item>
</Linkage>

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:Linkage;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:Linkage.active [ boolean ]; # 0..1 Whether this linkage assertion is active or not
  fhir:Linkage.author [ Reference(Practitioner|Organization) ]; # 0..1 Who is responsible for linkages
  fhir:Linkage.item [ # 1..* Item to be linked
    fhir:Linkage.item.type [ code ]; # 1..1 source | alternate | historical
    fhir:Linkage.item.resource [ Reference(Any) ]; # 1..1 Resource being linked
  ], ...;
]

Changes since R3

Linkage
Linkage.active
  • Default Value "true" removed
Linkage.item.resource
  • Type changed from Reference to Reference(Resource)

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 1 test that all execute ok. 1 fail round-trip testing and 1 r3 resources are invalid (0 errors).)

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Linkage ΣITUDomainResourceLinks records for 'same' item
+ Rule: Must have at least two items
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... active Σ0..1booleanWhether this linkage assertion is active or not
... author Σ0..1Reference(Practitioner | Organization)Who is responsible for linkages
... item ΣI1..*BackboneElementItem to be linked
.... type Σ1..1codesource | alternate | historical
LinkageType (Required)
.... resource Σ1..1Reference(Any)Resource being linked

doco Documentation for this format

XML Template

<Linkage xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <active value="[boolean]"/><!-- 0..1 Whether this linkage assertion is active or not -->
 <author><!-- 0..1 Reference(Practitioner|Organization) Who is responsible for linkages --></author>
 <item>  <!-- ?? 1..* Item to be linked -->
  <type value="[code]"/><!-- 1..1 source | alternate | historical -->
  <resource><!-- 1..1 Reference(Any) Resource being linked --></resource>
 </item>
</Linkage>

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:Linkage;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:Linkage.active [ boolean ]; # 0..1 Whether this linkage assertion is active or not
  fhir:Linkage.author [ Reference(Practitioner|Organization) ]; # 0..1 Who is responsible for linkages
  fhir:Linkage.item [ # 1..* Item to be linked
    fhir:Linkage.item.type [ code ]; # 1..1 source | alternate | historical
    fhir:Linkage.item.resource [ Reference(Any) ]; # 1..1 Resource being linked
  ], ...;
]

Changes since Release 3

Linkage
Linkage.active
  • Default Value "true" removed
Linkage.item.resource
  • Type changed from Reference to Reference(Resource)

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 1 test that all execute ok. 1 fail round-trip testing and 1 r3 resources are invalid (0 errors).)

 

See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis

PathDefinitionTypeReference
Linkage.item.type Used to distinguish different roles a resource can play within a set of linked resources.RequiredLinkageType

idLevelLocationDescriptionExpression
lnk-1Rule (base)Must have at least two itemsitem.count()>1

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionExpressionIn Common
authorreferenceAuthor of the LinkageLinkage.author
(Practitioner, Organization)
itemreferenceMatches on any item in the LinkageLinkage.item.resource
(Any)
sourcereferenceMatches on any item in the Linkage with a type of 'source'Linkage.item.resource
(Any)