indivo x: the open-source personally controlled health record platform
DESCRIPTION
Indivo X: The Open-Source Personally Controlled Health Record Platform. Daniel Haas , Ben Adida , Arjun Sanyal, Isaac S. Kohane, Kenneth D. Mandl Harvard Medical School Children’s Hospital Informatics Program OSCON: Healthcare Track 27 July 2010. H1. H2. H3. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/1.jpg)
Intelligent Health Lab
Indivo X: The Open-Source Personally Controlled Health Record Platform
Daniel Haas, Ben Adida, Arjun Sanyal, Isaac S. Kohane, Kenneth D. Mandl
Harvard Medical SchoolChildren’s Hospital Informatics Program
OSCON: Healthcare Track27 July 2010
![Page 2: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/2.jpg)
Intelligent Health Lab
![Page 3: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/3.jpg)
Intelligent Health Lab
In 1994 we observed that institutions rarely share data
H1 H2 H3 x x Proprietary Perceived competition Privacy Health Insurance Portability and Accountability Act No dedicated resources to do so
![Page 4: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/4.jpg)
Intelligent Health Lab
H1 H2 H3
Indivo Server
Patients need an aggregate view on the data
![Page 5: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/5.jpg)
Intelligent Health Lab
Is Data Liquidity Upon Us?
![Page 6: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/6.jpg)
Intelligent Health Lab
Our original statement on personal control
• A PCHR should store all of an individual’s medical history in a container with:patient control interoperabilityopen standards
![Page 7: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/7.jpg)
Intelligent Health Lab
The Addition of Substitutable Apps• Push innovation to the edges• Nimbly evolve functionality• Avoid vendor lock• Shrink switching costs• Enable disruption
![Page 8: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/8.jpg)
Intelligent Health Lab
![Page 9: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/9.jpg)
Intelligent Health Lab
Why Open-Source a PCHR• Enable innovation• Enable customization• Involve the community• Avoid instance lock-in• Avoid vendor pull-out• Apps don’t need to be open-source (but they
can be easily substituted by ones that are)
![Page 10: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/10.jpg)
Intelligent Health Lab
Let’s Get Technical• The Stack:
Ubuntu (Or CentOs, RHEL, OSX)
Postgres (Or Oracle, MySQL)
PythonDjangoApache (w/ mod_wsgi)
• The Verbs:ConnectAdd AppsShare
• The Vocab:AccountRecordDocumentApp
![Page 11: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/11.jpg)
Intelligent Health Lab
Platform Architecture
![Page 12: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/12.jpg)
Intelligent Health Lab
![Page 13: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/13.jpg)
Intelligent Health Lab
The Indivo Model: Connect
![Page 14: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/14.jpg)
Intelligent Health Lab
The Indivo Model: Add Apps
• Apps… Interact with dataLive in the UI (or not)Use the Indivo API
![Page 15: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/15.jpg)
Intelligent Health Lab
The Indivo Model: Share• Full Share:
Give full control over a record to another account
Goal: allow multiple accounts to ‘own’ same record.
![Page 16: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/16.jpg)
Intelligent Health Lab
The Indivo Model: Share• Carenet:
Specific to one patient’s data
Composed of documents, Apps, and accounts.
Every entity in the carenet has full access to the carenet
Alice’s Immunizations
Alice’s Allergies
Alice’s School Nurse
Alice’s Mother
AllergyGraph PHA
Alice’s School CarenetAlice’s Father
Alice’s Recent Labs
Alice’s Vital Signs
Alice’s Mother
Personal Fitness Trainer PHA
Alice’s Family CarenetAlice’s
BloodworkAlice’s
Medications
Alice’s PCP
Alice’s Mother
AllergyGraph PHA
Alice’s Doctor Carenet
Alice’s Record
UnsharedSTD Tests
![Page 17: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/17.jpg)
Intelligent Health Lab
The API
![Page 18: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/18.jpg)
Intelligent Health Lab
API Functionality: Records and Documents
• List records and their attached PHAs
• Create, read, replace, and archive (but not delete) documents
• Associate and retrieve related documents
• View metadata and history of documents
• All medical documents are record-specific
![Page 19: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/19.jpg)
Intelligent Health Lab
API Functionality: Messaging and Notifications
• Healthfeed Notifications• Inbox Messages
Message records, read from accounts
• Message Attachments
![Page 20: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/20.jpg)
Intelligent Health Lab
API Functionality:Medical Reports
• Reports: views into medical data
• Available reports include:AllergiesLabs Medications
ImmunizationsProcedures Vitals
• Report Generation: Document
Processing
![Page 21: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/21.jpg)
Intelligent Health Lab
The Document Processing Pipeline• Incoming Documents:
Indivo Schemas• Parsing Facts from
Schemas• Generating Reports:
Fact aggregation
![Page 22: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/22.jpg)
Intelligent Health Lab
Security• Goal: No one may access
information that they do not have the right (via ownership or sharing) to access.
• Breaks down into two processes: Authentication and Authorization.
![Page 23: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/23.jpg)
Intelligent Health Lab
Authorization
Authorize or Deny
Desired Action
(Replace)
Request Principal (Alice’s
Account)
Desired Resource
(document)
Indivo Access Rules:Can Principal perform action on resource?
![Page 24: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/24.jpg)
Intelligent Health Lab
Client Libraries• Abstract out oAuth, REST• Available in python, java, working on ruby• JLInX (from Orange Labs): java POJO
![Page 25: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/25.jpg)
Intelligent Health Lab
What do we get from all of this?• Powerful apps• Ability to engage developers untrained in
health care data flows• Ease of switching in new, better apps
![Page 26: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/26.jpg)
Intelligent Health Lab
So Let’s Build An App• The “Problems App”: Lists your medical
Problems• Python-Django app (we love our Django)• HTML template, one helper function, and a
few lines of oauth-handling omitted.
![Page 27: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/27.jpg)
Intelligent Health Lab
Set Up the Clientdef problem_list(request): client = get_indivo_client(request) record_id = request.session['record_id']
# get basic record info from Indivo record = parse_xml(client.read_record(record_id = record_id).response['response_data']) record_label = record.attrib['label’]
![Page 28: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/28.jpg)
Intelligent Health Lab
Make the API Call # get the list of problems from Indivo params = {'order_by': '-date_onset'} problems_xml = client.read_problems( record_id = record_id, parameters=params ).response['response_data’] problems_et = parse_xml(problems_xml)
![Page 29: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/29.jpg)
Intelligent Health Lab
Parse the Data # go through the problems and extract the name, # date onset, and date resolved problems = [] for p in problems_et.findall('Report'): new_p = parse_problem(p.find('Item/Problem’)) problems.append(new_p) # get the total number of documents returned summary = problems_et.find('Summary') num_problems = summary.attrib['total_document_count’]
![Page 30: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/30.jpg)
Intelligent Health Lab
Display the Data # Format the data in an HTML template and display it context = {'record_label': record_label, 'num_problems' : num_problems, 'problems': problems} return render_template(’problem_list’, context)
![Page 31: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/31.jpg)
Intelligent Health Lab
![Page 32: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/32.jpg)
Intelligent Health Lab
![Page 33: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/33.jpg)
Intelligent Health Lab
![Page 34: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/34.jpg)
Intelligent Health Lab
The “Longitudinal Phenotype”
![Page 35: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/35.jpg)
Intelligent Health Lab
We are extending the Indivo Model to EHRs—
“The App Store for Health”
ONC Funded Research Project under the “SHARP” program
![Page 36: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/36.jpg)
Intelligent Health Lab
Where We Are Now• Code on github• Building a community
Forum for discussion and code reviewDeveloper Resources (upcoming O’Reilly eBook)Partnerships with other orgsTalk at OSCONApp Challenge!
• $5,000 Prize (sponsored by Recombinant Data Corp)• Hosted on Challenge.gov• Dates TBA
![Page 37: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/37.jpg)
Intelligent Health Lab
Bootstrapping a Community• Chicken, Egg, or Both at Once?• The Health IT problem
Photo Credit: Dennis Novak/Getty Images
![Page 38: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/38.jpg)
Intelligent Health Lab
Where We’re Headed• Large-scale Population Health Research• Innovative functionality in the clinical setting• Integration into the patient world
MobileMedical Devices
![Page 39: Indivo X: The Open-Source Personally Controlled Health Record Platform](https://reader036.vdocument.in/reader036/viewer/2022062310/56816385550346895dd46e3b/html5/thumbnails/39.jpg)
Intelligent Health Lab
Get Involved• Our community lists [email protected], [email protected]• Tell us about your apps!
http://wiki.chip.org/indivo/index.php/Developer_Community_ProjectsEmail project descriptions and links to [email protected]
• Get ready for the Indivo App Challenge!• Look out for the eBook • Help us develop Indivo: http://www.github.com/chb/• Just learn more: http://www.indivohealth.org