Putting patient generated data at the fingertips of medical professionals.
This is a working draft. File issues. Make pull requests.
Objectives
- Visualize data from patient sources (devices to applications)
- Integrate visualization within existing medical systems
- Provide hooks for pulling data from patient sources
- Reduce or minimize provider liability
Technical Goals
- Use existing standards to create implementation pattern
- Minimize effort on existing medical systems
- Needs to be secure
Example Tiles
Physician Experience
- Pulls up a patient's record
- Sees Health Tile(s) that a patient has added
For a physician or medical professional, seeing patient generated data is as easy as opening up the patient record.
Patient Experience
- Logs into Patient Portal
- Adds a tile by picking from a list (or entering a URL)
- Authenticates with external service
- Successfully adds tile
A patient only has to add the tile once, and it will be linked to their patient record.
For Health Tiles to be successful, they need to be flexible and secure. Flexible enough to allow patient-focused device and applications to express the data they are capturing in meaningful ways. Secure enough to enable these "tiles" to live in the user interface of an Electronic Health Record System.
An implementation pattern can be created using existing standards, specifically relying on HTML 5 and sandboxed IFRAMEs. The IFRAME provides patient-focused developers a canvas (with a fixed height and width) to populate.
Since IFRAMEs are being used, there is no burden on EHRs to process, store, or visualize data from patients. An EHR is only required to remember the URLs for each of the tiles and present them.
Authorization
(The set of steps for authorization need to be detailed. When a patient wants to add a Health Tile they will need to authorize their EHR to access to access their data. The most likely pattern is OAuth, but it can also be made simpler.)
Security
The sandbox
ability of IFRAMEs allows us to apply security rules and grant certain privileges to the content being displayed.
URLs
The authentication step will most likely give the EHR a "token" to use to retrieve the particular tile for the patient. It may look something like this:
https://some-health-tracker.org/[TOKEN]/tile
This also enables an EHR to retrieve a machine-readable blob with structured information:
https://some-health-tracker.org/[TOKEN]/json
Example
For example, if a patient is using a digital insulin pump to manage type I diabetes, they can add a tile that displays their glucose readings over a period of time.
The EHR would display the above by populating a sandboxed IFRAME with:
https://digital-insulin-pump.org/[TOKEN]/tile
If the EHR wanted to pull in any of the data, it could by retrieving the following URL:
https://digital-insulin-pump.org/[TOKEN]/json
Which could look something like:
{
"device": "Digital Insulin Pump",
"manufacturer": "ABC Corp.",
"readings": [
{"date": "2013-09-15", "value": 100},
{"date": "2013-09-14", "value": 140}
]
}