Skip to main content

FHIR persistence in the RPM app

The example uses the Ovok client for real Patient data while keeping Demo data local. Its persistence boundary is explicit: a demo entry is rejected, and a Patient entry can only be saved when the active client profile matches that Patient.

What the app writes​

  • Daily check-in: the app builds a FHIR QuestionnaireResponse for the signed-in Patient and updates it using a stable resource ID. Retrying therefore targets the same response instead of creating a new ID on every attempt.
  • Weight: the app sends a typed body-weight measurement through OvokClient.saveMeasurement().
  • ECG: the app sends the waveform, duration, optional heart rate, device details, and recorded time through the SDK's ECG measurement input.

These are example data flows, not clinical interpretation. The check-in is illustrative, and the app does not make a diagnosis or calculate an alert threshold.

The FHIR R4 reference, React SDK measurement docs, and Mobile SDK measurement docs explain the broader resource and SDK contracts.

Explore the source: ovok.ts contains the FHIR resource construction and calls to updateResource() and saveMeasurement(); care-store.tsx controls when entries are persisted and synchronized.