This page is part of the FHIR Specification (v3.3.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
Patient Care Work Group | Maturity Level: 0 | Draft | 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
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Linkage | ΣID | DomainResource | Links records for 'same' item + Must have at least two items Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
active | Σ | 0..1 | boolean | Whether this linkage assertion is active or not |
author | Σ | 0..1 | Reference(Practitioner | Organization) | Who is responsible for linkages |
item | ΣI | 1..* | BackboneElement | Item to be linked |
type | Σ | 1..1 | code | source | alternate | historical LinkageType (Required) |
resource | Σ | 1..1 | Reference(Any) | Resource being linked |
Documentation for this format |
UML Diagram (Legend)
XML Template
<Linkage xmlns="http://hl7.org/fhir"> <!-- 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>
JSON Template
{ "resourceType" : "Linkage", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "active" : <boolean>, // Whether this linkage assertion is active or not "author" : { Reference(Practitioner|Organization) }, // Who is responsible for linkages "item" : [{ // C? R! Item to be linked "type" : "<code>", // R! source | alternate | historical "resource" : { Reference(Any) } // R! Resource being linked }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ 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 |
|
Linkage.item.resource |
|
See the Full Difference for further information
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Linkage | ΣID | DomainResource | Links records for 'same' item + Must have at least two items Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
active | Σ | 0..1 | boolean | Whether this linkage assertion is active or not |
author | Σ | 0..1 | Reference(Practitioner | Organization) | Who is responsible for linkages |
item | ΣI | 1..* | BackboneElement | Item to be linked |
type | Σ | 1..1 | code | source | alternate | historical LinkageType (Required) |
resource | Σ | 1..1 | Reference(Any) | Resource being linked |
Documentation for this format |
XML Template
<Linkage xmlns="http://hl7.org/fhir"> <!-- 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>
JSON Template
{ "resourceType" : "Linkage", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "active" : <boolean>, // Whether this linkage assertion is active or not "author" : { Reference(Practitioner|Organization) }, // Who is responsible for linkages "item" : [{ // C? R! Item to be linked "type" : "<code>", // R! source | alternate | historical "resource" : { Reference(Any) } // R! Resource being linked }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ 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 DSTU2
Linkage | |
Linkage.active |
|
Linkage.item.resource |
|
See the Full Difference for further information
Alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis
Path | Definition | Type | Reference |
---|---|---|---|
Linkage.item.type | Used to distinguish different roles a resource can play within a set of linked resources | Required | LinkageType |
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Expression | In Common |
author | reference | Author of the Linkage | Linkage.author (Practitioner, Organization) | |
item | reference | Matches on any item in the Linkage | Linkage.item.resource (Any) | |
source | reference | Matches on any item in the Linkage with a type of 'source' | Linkage.item.resource (Any) |