Skip to main content
Version: 3.1

Observation

An observation is a single recorded fact about a patient — a blood pressure of 120/80, a body temperature, a coded answer to a screening question. It is the smallest unit of clinical data in Care: the structured building block that, gathered over time, becomes a patient's chart.

What it represents

In Care's FHIR-aligned model, an observation maps to the Observation resource. Each one captures:

  • What was observed — a coded concept, typically a LOINC code, that names the thing, such as "systolic blood pressure" or "body temperature"
  • The result — the value itself: a number, a piece of text, a yes/no, or a coded answer, with a unit where one applies
  • Context — the patient it belongs to, the encounter it was recorded in, when it was effective, and who recorded it
  • Clinical qualifiers — optional detail such as the body site, the collection method, a reference range, and an interpretation of high, low, or normal

An observation is a snapshot, not a running tally. It records one fact at one point in time. A trend — a patient's temperature over a week — is many observations read together, never a single record that gets updated in place.

How it is captured

Observations are rarely entered field by field. Most are produced as a side effect of submitting a questionnaire: each answer on the form becomes an observation, and that observation keeps a link back to the questionnaire response that produced it. This is also why every observation carries both a value and a value type — the value type tells any reader how to interpret what the form captured, whether it was a number, a date, a yes/no, or a coded choice.

Care strongly prefers structured, coded observations over free text. Downstream safety logic — allergy checks, medication interactions, alerting — reads coded values, so a temperature stored as a number with a LOINC code is far more useful than the same reading typed into a note.

Status lifecycle

An observation's status signals how much to trust the record:

final → amended
final → entered_in_error
  • final — recorded, complete, and verified. Observations created from a questionnaire start here.
  • amended — was final, then corrected. The earlier value is superseded, but the change stays auditable.
  • entered_in_error — recorded by mistake; readers should disregard it. Care keeps the row rather than deleting it, so the audit trail stays intact.

How it connects

An observation rarely stands alone. It links to the primitives around it:

  • Patient — every observation belongs to one patient; this anchor is what makes it part of a chart.
  • Encounter — it is normally recorded within an encounter, tying the fact to a specific visit or admission.
  • Observation definition — an observation definition can act as the template, supplying expected codes, units, and reference ranges.
  • Diagnostic report — lab and imaging results are observations grouped under a diagnostic report.
  • Other observations — observations can nest. A panel such as a blood-pressure reading is a grouping observation whose components each carry their own code and value.

Permissions

Observations are exposed through a read-only API, so the viewset only gates reading. Access is governed by clinical-data permissions: a reader is allowed if they hold the patient-level can_view_clinical_data permission, or, when querying a specific encounter, the encounter-level can_read_encounter_clinical_data permission. Observations are recorded as a side effect of submitting questionnaires, so creating them is gated by those questionnaire flows rather than by this viewset.

PermissionDescriptionSystem Roles
can_view_clinical_dataView clinical data about a patient, including their observationsStaff, Doctor, Nurse, Admin, Facility Admin
can_read_encounter_clinical_dataRead clinical data recorded within a specific encounter; used as the encounter-scoped fallback when reading observationsAdmin, Doctor, Nurse, Facility Admin

Roles are granted through a user's organization, facility, or patient memberships, and permissions cascade down the organization tree — so access to a patient's observations follows from access to the patient.