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:
Namedifferent from the tagging idunit, a string identifying the unit of the float metric valuerange, a pair of start and end values that tell the bounds of the metrichealthy-range, similar to range but tells the healthy bounds of the metric