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.
- Sign up as a new user from the web UI.
- Create a new Organization.
- Add yourself to the Organization (View Organization > Users+).
- Create a new Study for the Organization (View Organization > Studies+).
- Create a new Patient for the Organization using a different email than (1) (Patients > Add Patient).
- Add Data Sources and Scopes to the Study (View Study > Data Sources+, Scope Requests+).
- Add the Patient to the Study (Patients > check box > Add Patient(s) to Study).
- Create an Invitation Link for the Patient (View Patient > Generate Invitation Link).
- Use the code in the invitation link with the Auth API to swap it for tokens.
- Upload Observations using the FHIR API.