This page is part of the FHIR Specification (v4.2.0: R5 Preview #1). 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 | Trial Use | Security Category: Patient | Compartments: Practitioner |
Identifies two or more records (resource instances) that refer 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 after identifying duplicates is to deprecate one of the records (e.g. by changing the status to "Entered in Error") and to 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 might be 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.
No resources refer to this resource directly.
This resource does not implement any patterns.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Linkage | ΣTU | DomainResource | Links 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..1 | boolean | Whether this linkage assertion is active or not |
author | Σ | 0..1 | Reference(Practitioner | PractitionerRole | 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(Organization|Practitioner|PractitionerRole) 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(Organization|Practitioner|PractitionerRole) }, // 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(Organization|Practitioner|PractitionerRole) ]; # 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.item.type |
|
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. All tests pass round-trip testing and all r3 resources are valid.)
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Linkage | ΣTU | DomainResource | Links 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..1 | boolean | Whether this linkage assertion is active or not |
author | Σ | 0..1 | Reference(Practitioner | PractitionerRole | 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(Organization|Practitioner|PractitionerRole) 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(Organization|Practitioner|PractitionerRole) }, // 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(Organization|Practitioner|PractitionerRole) ]; # 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.item.type |
|
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. All tests pass round-trip testing and all r3 resources are valid.)
See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis a
Path | Definition | Type | Reference |
---|---|---|---|
Linkage.item.type | Used to distinguish different roles a resource can play within a set of linked resources. | Required | LinkageType |
id | Level | Location | Description | Expression |
lnk-1 | Rule | (base) | Must have at least two items | item.count()>1 |
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, PractitionerRole) | |
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) |