This page is part of the FHIR Specification (v1.6.0: STU 3 Ballot 4). 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 R2
FHIR Infrastructure Work Group | Maturity Level: N/A | Ballot Status: STU 3 |
Reference | |
Definition | A reference from one resource to another. |
Control | 1..1 |
Summary | true |
Invariants | Defined on this element ref-1: SHALL have a local reference if the resource is provided inline (expression : reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids')), xpath: not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])) |
Reference.reference | |
Definition | A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources. |
Control | 0..1 |
Type | string |
Summary | true |
Comments | Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server. |
Invariants | Affect this element ref-1: SHALL have a local reference if the resource is provided inline (expression : reference.startsWith('#').not() or (reference.substring(1).trace('url') in %resource.contained.id.trace('ids')), xpath: not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])) |
Reference.display | |
Definition | Plain text narrative that identifies the resource in addition to the resource reference. |
Control | 0..1 |
Type | string |
Summary | true |
Comments | This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it. |