Skip to content

Reference table

FHIR

Lists the FHIR resources Pensieve exposes, the operations supported on each, and the version the interface conforms to.

Pensieve exposes a FHIR R4 interface for the systems that speak it, and this page lists the FHIR resources the platform exposes, the operations supported on each, and the version the interface conforms to. The interface conforms to FHIR R4, version 4.0.1, and exchanges resources as application/fhir+json, so a partner reads and writes the same patients, encounters, orders and results the record already holds.

The version

The interface pins FHIR R4 at version 4.0.1 and states that version on the content type, so a partner that serves several releases answers in R4. Pinning the version on every exchange keeps a multi-version server from replying in a release the platform reads differently.

Resources exposed

The interface exposes the resources below, each mapped to the part of the record it stands for. A coded field on a resource carries the partner's own coding, which the platform maps to the hospital's vocabulary on the way in.

ResourceClinical meaningDirection
PatientPatient identity and demographicsReceived and sent
EncounterA visit and the period it coversReceived and sent
ServiceRequestAn order placed for a patientSent and received
DiagnosticReportA completed laboratory or radiology reportReceived
ObservationOne result value within a reportReceived
SpecimenThe sample a report was drawn fromReceived and sent

Operations

The interface supports a defined set of interactions on those resources. Which resource carries which interaction follows the partner's declared capability, which the platform reads when a connection is set up and checks before a request leaves the boundary.

OperationWhat it does
ReadFetch one resource by its identifier
Version readFetch one earlier version of a resource
SearchFind resources by their parameters
CreateAdd a new resource
UpdateReplace a resource, checked against the version held
TransactionApply several linked resources together, all or none

Capability governs the call

The platform reads a partner's declared capability at connection setup and refuses an operation the partner leaves out of that declaration before any request crosses the boundary. A search runs only on the parameters the partner declares.

Conditional operations and concurrency

The interface carries the guards that keep an exchange exact across an at-least-once network. Each guard resolves at the boundary, so a duplicate send or a stale write settles cleanly rather than reaching the partner twice.

conditional create
guard
Keyed on the order's accession, so a resource re-sent after a dropped reply lands once.
version-aware update
guard
The platform carries the version tag it read and re-reads, then retries, rather than overwriting a resource that changed underneath it.
transaction
guard
Linked resources such as an order with its sample apply together or roll back together.

Seeding the conditional create on the order's accession, rather than on the patient identifier, ties the guard to the one order the message stands for, so a re-send of that order settles to a single resource.

How a connection authenticates

A FHIR connection authenticates as a system rather than a person. The platform presents a signed assertion, receives a short-lived token in return, and carries that token on each call, scoped to the least privilege the work needs.

Authenticating machine to machine keeps a person's browser session out of the interface, so an exchange runs on the connection's own identity and the scope an administrator granted it. Read how a connection's identity and credentials are held in connections and credentials.

What the interface preserves

A decimal result keeps its precision across the boundary, so a value carried as 2.00 stays 2.00 rather than collapsing to 2. Carrying the number as written preserves the significant figures a laboratory reported.

Every coded value keeps the sender's original code and free text beside the mapped code, so the partner's own wording is held alongside the hospital vocabulary. Keeping both lets a reviewer trace a mapped result back to exactly what the partner sent.

Common confusions

Which FHIR version does the interface speak?

The interface conforms to FHIR R4 at version 4.0.1 and pins that version on the content type, so a partner that serves several releases answers in R4.

How does a duplicate send settle?

A conditional create keyed on the order's accession lets a re-sent resource land once, and a version-aware update re-reads before it writes, so a stale update retries rather than overwriting.

Does a person sign in to the FHIR interface?

A FHIR connection authenticates as a system, with a signed assertion and a short-lived token scoped to least privilege, so the exchange runs machine to machine.

See the coding systems a mapped resource resolves against in clinical vocabulary, and the interfaces that carry files in file drops.