Skip to article frontmatterSkip to article content

Web User Interface

Core ElementsΒΆ

Patients & Practitioners
  • Any user accessing the Web UI is a data consumer and considered a Practitioner.

  • Any user uploading data is considered a Patient.

  • The same OAuth2.0 strategy is used for both Practitioners and Patients, the only difference being that the credentials are provided out-of-band for Patients.

Organizations
  • An Organization is a group of Practitioners.

  • An Organization is typically hierarchical with sub-Organizations, e.g., Institution, Department, Lab, etc.

  • A Patient belongs to a single Organization (TBD: belong to multiple).

  • A Practitioner belongs to at least one Organization.

Studies
  • A Study is a Group of Patients and belongs to a single Organization.

  • A Study has one or more Data Sources and one or more Scope Requests.

  • When a Patient is added to a Study, they must explicitly consent to sharing the requested Scopes before any data (Observations) can be uploaded or shared.

Observations
  • An Observation is Patient data and belongs to a single Patient.

  • An Observation must reference a Patient ID as the subject and a Data Source ID as the device.

  • Personal device data is expected to be in the Open mHealth (JSON) format. However, the system can be easily extended to support any binary data attachments or discrete Observation records.

  • Observation data is stored as a valueAttachment in Base 64 encoded JSON binary.

  • Authorization to view Observations depends on the relationship of Organization, Study, and Consents as described above.

Data Sources
  • A Data Source is anything that produces Observations (typically a device app, e.g., iHealth).

  • A Data Source supports one or more Scopes (types) of Observations (e.g., Blood Glucose).

  • An Observation references a Data Source ID in the device field.

Use Case ExampleΒΆ

Try following these steps to explore the application.

  1. Sign up as a new user from the web UI.

  2. Create a new Organization.

  3. Add yourself to the Organization (View Organization > Users+).

  4. Create a new Study for the Organization (View Organization > Studies+).

  5. Create a new Patient for the Organization using a different email than (1) (Patients > Add Patient).

  6. Add Data Sources and Scopes to the Study (View Study > Data Sources+, Scope Requests+).

  7. Add the Patient to the Study (Patients > check box > Add Patient(s) to Study).

  8. Create an Invitation Link for the Patient (View Patient > Generate Invitation Link).

  9. Use the code in the invitation link with the Auth API to swap it for tokens.

  10. Upload Observations using the FHIR API.