.pemr bundle
A .pemr bundle is the portable patient record used by the CareFlow Kids / CareView Family ecosystem.
It allows a patient's medical information to move safely between the doctor application and the patient viewer, while remaining usable offline.
Core idea
flowchart LR
CF[CareFlow Kids<br>Doctor App]
PEMR[.pemr bundle<br>Portable patient record]
CV[CareView Family<br>Patient App]
CF -->|Export| PEMR
PEMR -->|Open| CV
CV -->|Export updated| PEMR
PEMR -->|Import| CF
The .pemr bundle is the central data container that carries the patient's record between applications.
What a .pemr bundle contains
At a high level, the bundle contains three main components:
flowchart TB
PEMR[.pemr bundle]
PEMR --> DB[db.sqlite]
PEMR --> MANIFEST[manifest.json]
PEMR --> DOCS[docs/]
db.sqlite
The SQLite database storing structured clinical information:
- patient demographics
- visits (sick visits and well visits)
- vitals
- growth measurements
- notes
- clinical observations
Database security
The db.sqlite file is encrypted.
The encryption uses HMAC / SHA-256 based protection to ensure integrity and confidentiality of the structured medical data stored in the database. Applications opening the bundle are responsible for performing the necessary verification and decryption before accessing the data.
Security properties of the bundle
The .pemr format is designed with several security properties:
- Database encryption — the structured clinical data stored in
db.sqliteis encrypted. - Integrity verification — HMAC / SHA‑256 mechanisms allow applications to verify that the database has not been altered.
- Manifest validation — the
manifest.jsonfile allows applications to verify bundle version and compatibility before import. - Separation of data and documents — attached files remain in the
docs/folder and can be inspected independently of the database.
These properties help ensure that patient data remains confidential, portable, and verifiable when bundles are exchanged between applications.
manifest.json
Metadata describing the bundle.
Typical fields include:
- bundle version
- schema version
- creation timestamp
- application version
The manifest allows applications to check compatibility before importing a bundle.
docs/
A folder containing attached documents such as:
- laboratory reports
- vaccination records
- imaging reports
- parent-provided documents
Documents remain separate files so they can be viewed easily without opening the database. If the .pemr bundle is unpacked (for example by unzipping it), the files in the docs/ folder can be accessed directly like normal documents.
Why bundles are used
The .pemr format enables:
- portable patient records
- offline-first operation
- privacy-preserving data exchange
Because the bundle is self-contained, it can be shared:
- between clinic and family
- between clinics
- for long-term archival
Typical workflow
flowchart LR
V[Doctor visit]
R[Report generated]
E[Export .pemr]
F[Family opens in CareView]
U[Family adds notes or documents]
X[Export updated .pemr]
I[Doctor imports bundle]
V --> R --> E --> F --> U --> X --> I
This workflow keeps the patient's record cumulative and continuously updated.
File extension
The bundle uses the extension:
.pemr
The extension identifies a Portable Electronic Medical Record bundle used by CareFlow Kids and CareView Family.
Summary
A .pemr bundle is:
- a portable patient record
- a self-contained medical dataset
- the data bridge between doctor and patient applications
Understanding the bundle concept is key to understanding how the entire system works.