FHIR building blocks: Resource References

A FHIR resource does not exist in isolation.

The true power of FHIR lies in the links between resources that combined paint a complex picture of a patient’s journey over time.

Here’s a simple chain of events that most people encounter at some point in their lives.

– a patient enters a hospital (Patient, Organization)
– meets with a doctor (Practitioner, Encounter, Location)
– has a scan (ServiceRequest, Procedure, ImagingStudy, Media)
– is diagnosed with an illness (Condition, DiagnosticReport)
– is given medicine (Medication, MedicationRequest)
– and is sent home with follow up instructions (CarePlan)

An everyday medical encounter represented in FHIR by a host of inter-connected resources.

Each of these resources will be linked to each other via a spider web of connections — all with the patient at the centre.

These connections are made via Resource References, which typically look like this:

– Relative URL: Patient/7480947
– Absolute URL: http://hapi.fhir.org/baseR4/Procedure/7481046
– Logical URI: urn:uuid:a9ba7c98-9ab3-4a25-b894-73dda76eed3d

Every developer working with FHIR needs to understand Resource References, the different forms they can take and how they can be resolved.

More about Resource References here: http://hl7.org/fhir/R4/references.html

But as with so much of FHIR, it’s not always that simple.

While most resource references follow one of the structures shown above, there are also:

– logical references inside contained resources
– Identifiers as resource references
– canonical references

All of which work and behave a little differently.



Sign up to “The Tuesday FHIR Sessions” and receive an email every Tuesday where I go deep on a single FHIR topic.