Your SlideShare is downloading. ×
2012 User's Conference Indivo Updates
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

2012 User's Conference Indivo Updates


Published on

2012 Indivo X User's Conference talk on new features included in the version 2.0 release. …

2012 Indivo X User's Conference talk on new features included in the version 2.0 release.

By Daniel Haas, Indivo X Lead Architect

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide
  • Describe the pipeline: * Documents enter, Serialized objects exit: but you can still grab the original document. * goal: be able to add to every step of the pipeline without having to write python code.
  • SDM: JSON or XML –based, low-level (String, Number, Date) and high-level (Coded-Value, ValueAndUnit, Address) data-types
  • * Auto reports have access to the full query API
  • Transcript

    • 1. Intelligent Health Lab Indivo X: Progress and Updates Daniel Haas Harvard Medical School Children’s Hospital Informatics Program 18 June, 2012
    • 2. Intelligent Health Lab Project Updates• v2.0 Release! [ui_]server• Public Sandbox:  With sample data Don’t put real data in there!• Hackathon Tomorrow! Bring your laptops Bring your ideas, and tell us now (@indivohealth)
    • 3. Intelligent Health Lab Development Updates• Pluggable Data models (and schemas and transforms)• Data model validation• Sample Data (and demo mode)• New app loading mechanism (using SMART manifests)• New Python Client (with documentation)• More support for JSON/RDF• New authentication modes for apps• SMART integration
    • 4. Intelligent Health LabPluggable Document Processing
    • 5. Intelligent Health Lab Pluggable Validation
    • 6. Intelligent Health Lab Pluggable Validation• Still accepting data as XML• Still validating with XSDs• …But now they are drag-and-drop!• Tutorials tomorrow at the hackathon
    • 7. Intelligent Health Lab Pluggable Transforms
    • 8. Intelligent Health Lab Pluggable Transforms• Goal of a Transform: get from an XML document to an Indivo Fact• Formats: XSLT or Python code• …And now they are drag-and-drop!• Tutorials tomorrow at the hackathon
    • 9. Intelligent Health Lab Pluggable Data Models
    • 10. Intelligent Health Lab Pluggable Data Models• SDML: a simple descriptive language for data- models.• Define your data models: SDML or Django• …And add them (you guessed it: drag-and-drop!)• Tutorials tomorrow at the hackathon
    • 11. Intelligent Health Lab Pluggable Retrieval
    • 12. Intelligent Health Lab Pluggable Retrieval• Automatic reporting call which retrieves your data as SDML: no work required.• Python plug-ins:  Custom serialization (what does your model look like in JSON? XML?)  Custom reports (want an API call to return multiple data models at once?)• Drag-and-drop serializers (not custom reports, sorry)• Tutorials tomorrow at the hackathon
    • 13. Intelligent Health Lab Pluggable Document Processing: Summary• With zero python code, you can: Add a new recognized schema to Indivo Map that schema to current data models, or Add your own new data model Make API calls to add and retrieve data corresponding to your new types.
    • 14. Intelligent Health Lab Sample Data• It’s hard to write an app against nothing!• We’ve added two mechanisms for loading sample data into records: Demo Mode Fixed sample accounts
    • 15. Intelligent Health Lab Sample Data: Format• “Sample data” is a directory of data profiles.• A “data profile” is a directory of documents containing data (for one patient).• A “data profile” should have a Demographics.xml file.• A “patient” is identified by the name of the directory• And that’s it!
    • 16. Intelligent Health Lab Demo Mode• When you create a new account, it is auto- populated with a configurable set of records containing sample dataDEMO_MODE =TrueDEMO_PROFILES = { ‘John Doe’: ‘patient_239852’, ‘Jane Doe’: ‘patient_665677’, ‘Timmy Doe’: ‘patient_736230’, }
    • 17. Intelligent Health Lab Fixed Sample Accounts• When resetting Indivo, you can configure accounts to be auto-created with specific sets of records and data<account><full_name>Test User</full_name><username>test</username><password>test</password><records><record label=Test Testerson data_profile=patient_967332/><record label=Mary Testerson data_profile=patient_897185/><record label=Fred Testerson data_profile=patient_880378/></records></account>
    • 18. Intelligent Health LabUpdating and Adding Registered Apps• Previously: had to reset the whole Indivo database• Now: drag-and-drop into the filesystem• We think this is nicer.
    • 19. Intelligent Health Lab Registering an App: Manifest• SMART manifest: simple JSON describing an app.• Extra Indivo options (has_ui, oauth_callback) also supported.
    • 20. Intelligent Health LabRegistering an App: OAuth Credentials• ‘Offline exchange’ of app tokens• Again, simple JSON
    • 21. Intelligent Health LabRegistering an App: The Filesystem• Directory Structure:  1 dir per app  2 files per dir
    • 22. Intelligent Health Lab Pulling it all together• Write (or update) a manifest file• Write (or update) a credentials file• Drop the new files into a directory for your app, and place it underindivo_server/registered_apps/user/• Run one command: $ python manage.pysync_apps• And you’re done!
    • 23. Intelligent Health Lab SMART Integration • I’ll be back to discuss soon!