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
QuestionnaireResponsefor 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.