Skip to content

Concepts

Core concepts and abstractions for Harp health records.

Warning

Not all ideas from here are currently implemented in the mobile application. Though as of writing, all are present in the older and deprecated web app.

Profile

Harp maintains health records in independent profiles, each profile maps to one person or, in case of pets, animal.

Each profile is identified using a uuid and has other usual properties like title, type, etc.

Journal

Journals are notebooks where you can log macro entries around health events, notes, metric values, etc. Within a profile, you can maintain many journals for various health contexts.

Each profile starts with a General journal, but can add more if you want to separate concerns. For example, you could make a separate journal for mental health, separate for certain chronic concerns, while keeping the General journal for day to day entries.

Journal Entry

Within a journal you can add entries with a date time with text. Within the text you can include special strings like #tags for easy filtering and working, and #metric(value) to log certain metrics.

You can also add images, videos, and any other relevant media files to an entry.

Document

Documents are entries that have file attachments of some kind. Use these to store reports, test results, prescriptions, insurance documents, etc. One document entry could multiple files attached and can also have annotations like a journal entry where you can add tags and metric values.

Metric

As you add #metric(value) strings in journal entries or document entries, they automatically get collected and plotted in graphs in the metrics section using the corresponding datetime of the journal or document entry. For metric entries like #metric(value), the metric string is the unique identifier and the float value is the value of the metric.

To modify the way these are displayed, metrics can be separately modified to have the following extra metadata:

  1. Name different from the tagging id
  2. unit, a string identifying the unit of the float metric value
  3. range, a pair of start and end values that tell the bounds of the metric
  4. healthy-range, similar to range but tells the healthy bounds of the metric