2012 user's conference indivo updates

Post on 26-Jun-2015

855 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

2012 Indivo X User's Conference talk on new features included in the version 2.0 release.By Daniel Haas, Indivo X Lead Architect

TRANSCRIPT

Intelligent Health Lab

Indivo X: Progress and Updates

Daniel Haas

Harvard Medical SchoolChildren’s Hospital Informatics Program

18 June, 2012

Intelligent Health Lab

Project Updates• v2.0 Release!

http://github.com/chb/indivo_[ui_]server• Public Sandbox:

http://sandbox.indivohealth.orgWith sample dataDon’t put real data in there!

• Hackathon Tomorrow!Bring your laptopsBring your ideas, and tell us now (@indivohealth)

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

Intelligent Health Lab

Pluggable Document Processing

Intelligent Health Lab

Pluggable Validation

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

Intelligent Health Lab

Pluggable Transforms

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

Intelligent Health Lab

Pluggable Data Models

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

Intelligent Health Lab

Pluggable Retrieval

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

Intelligent Health Lab

Pluggable Document Processing: Summary

• With zero python code, you can:Add a new recognized schema to IndivoMap that schema to current data models, orAdd your own new data modelMake API calls to add and retrieve data

corresponding to your new types.

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 ModeFixed sample accounts

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!

Intelligent Health Lab

Demo Mode• When you create a new account, it is auto-populated

with a configurable set of records containing sample data

DEMO_MODE = TrueDEMO_PROFILES = { ‘John Doe’: ‘patient_239852’, ‘Jane Doe’: ‘patient_665677’, ‘Timmy Doe’: ‘patient_736230’, }

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 email='test@test.org'> <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>

Intelligent Health Lab

Updating and Adding Registered Apps

• Previously: had to reset the whole Indivo database

• Now: drag-and-drop into the filesystem• We think this is nicer.

Intelligent Health Lab

Registering an App: Manifest• SMART manifest: simple JSON describing an

app.• Extra Indivo options (has_ui, oauth_callback)

also supported.

Intelligent Health Lab

Registering an App: OAuth Credentials

• ‘Offline exchange’ of app tokens• Again, simple JSON

Intelligent Health Lab

Registering an App: The Filesystem• Directory Structure:

1 dir per app 2 files per dir

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 under indivo_server/registered_apps/user/

• Run one command: $ python manage.py sync_apps• And you’re done!

Intelligent Health Lab

SMART Integration

• I’ll be back to discuss soon!

top related