Publish-box (todo)
Patient Care Work Group | Maturity Level: 0 | Draft | 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 refer 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 or 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.
Note to Implementers: While the Maturity Level did not change, the Standards Status did change to Draft for consistency with the current Maturity Level of 0. The Patient Care Work Group welcomes feedback here whether implementers believe the resource is substantially complete, tested across its scope, and implemented in production.
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 references for this Resource.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Linkage | D | 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 | ΣC | 1..* | BackboneElement | Item to be linked |
type | Σ | 1..1 | code | source | alternate | historical Binding: Linkage Type (Required) |
resource | Σ | 1..1 | Reference(Any) | Resource being linked |
Documentation for this format |
See the Extensions for this resource
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> <!-- I 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" : [{ // I 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:active [ boolean ] ; # 0..1 Whether this linkage assertion is active or not fhir:author [ Reference(Organization|Practitioner|PractitionerRole) ] ; # 0..1 Who is responsible for linkages fhir:item ( [ # 1..* I Item to be linked fhir:type [ code ] ; # 1..1 source | alternate | historical fhir:resource [ Reference(Any) ] ; # 1..1 Resource being linked ] ... ) ; ]
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Linkage | D | 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 | ΣC | 1..* | BackboneElement | Item to be linked |
type | Σ | 1..1 | code | source | alternate | historical Binding: Linkage Type (Required) |
resource | Σ | 1..1 | Reference(Any) | Resource being linked |
Documentation for this format |
See the Extensions for this resource
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> <!-- I 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" : [{ // I 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:active [ boolean ] ; # 0..1 Whether this linkage assertion is active or not fhir:author [ Reference(Organization|Practitioner|PractitionerRole) ] ; # 0..1 Who is responsible for linkages fhir:item ( [ # 1..* I Item to be linked fhir:type [ code ] ; # 1..1 source | alternate | historical fhir:resource [ Reference(Any) ] ; # 1..1 Resource being linked ] ... ) ; ]
Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis
This resource has liquid template to serve as an exemplar for best practice presention to humans.
Path | ValueSet | Type | Documentation |
---|---|---|---|
Linkage.item.type | LinkageType | Required | Used to distinguish different roles a resource can play within a set of linked resources. |
UniqueKey | Level | Location | Description | Expression |
lnk-1 | Rule | (base) | Must have at least two items | item.count()>1 |
Search parameters for this resource. See also the full list of search parameters for this resource, and check the Extensions registry for search parameters on extensions related to 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 TU | reference | Author of the Linkage | Linkage.author (Practitioner, Organization, PractitionerRole) |
|
item TU | reference | Matches on any item in the Linkage | Linkage.item.resource (Any) |
|
source TU | reference | Matches on any item in the Linkage with a type of 'source' | Linkage.item.resource (Any) |