the ohf legacy

38
The OHF Legacy Eclipse UOMo, STEM and Open Health Tools Werner Keil Eclipse Day Kraków 13 th September 2012

Upload: werner-keil

Post on 19-Jun-2015

3.923 views

Category:

Health & Medicine


0 download

DESCRIPTION

After an looking back at the history of Eclipse OHF and its parts, we're going to learn what happened to them and why. Beside those going a different path, mainly Open Health Tools (OHT) we take a closer look at the Legacy of OHF at Eclipse, mainly The Spatiotemporal Epidemiological Modeler (STEM) and Units of Measurement support from UOMo and related standards like the Unified Code for Units of Measure (UCUM)

TRANSCRIPT

Page 1: The OHF Legacy

The OHF Legacy

Eclipse UOMo, STEM and Open Health Tools

Werner Keil

Eclipse Day Kraków

13th September 2012

Page 2: The OHF Legacy

2 © 2007-2012 Creative Arts & Technologies

UOMo STEM Open Health Tools

Images based on © Universal Pictures

Page 3: The OHF Legacy

Overview

• Introduction•UOMo

• Type-Safety• Why do we need it?• Unit-API, UOMo

•Units and Healthcare• UCUM, HL7, used by Healthcare

•STEM• What is STEM?• New Features• Demo

•Open Health Tools•Q&A3 © 2007-2012 Creative Arts & Technologies

Page 4: The OHF Legacy

Who am I?

4 © 2007-2012 Creative Arts & Technologies

Werner Keil

• Consultant – Coach

• Creative Cosmopolitan

• Open Source Evangelist

• Software Architect

• Java Godfather

• UOMo Project Lead

• …

Twitter @wernerkeil

Page 5: The OHF Legacy

Type-Safety

•Java does not have strongly typed primitive types (like e.g. Ada language).

•For performance reasons most developer prefer primitive types over objects in their interface.

•Primitives type arguments often lead to name clashes (methods with the same signature)

5 © 2007-2012 Creative Arts & Technologies

Page 6: The OHF Legacy

What do these disasters have in common?•Patriot MissileThe cause was an inaccurate calculation of the time since boot due to a computer arithmetic error.

•Ariane 5 ExplosionThe floating point number which a value was converted from had a value greater than what would be represented by a 16 bit signed integer.

6 © 2007-2012 Creative Arts & Technologies

Page 7: The OHF Legacy

• Gimli Glider (near disaster)Fuel loading was miscalculated through misunderstanding of the recently adopted Metric System, replacing the Imperial System

• Mars Orbiter Preliminary findings indicate that one team used English units (e.g. inches, feet and pounds) while the other used metric units for a key spacecraft operation.

• NASA lost a $125 million Mars orbiter because a Lockheed Martin engineering team used English units of measurement while the agency's team used the more conventional metric system for a key spacecraft operation

• A credible source disclosed, there was a manual step with an outsourced person to convert these calculations between the different teams, and NASA budget cuts caused them to fire him and have the wrong, unpatched data transmitted!!!

• This also underlines the added risk when 3rd party contractors are involved or projects are developed Offshore

What do these disasters have in common?

7 © 2007-2012 Creative Arts & Technologies

Page 8: The OHF Legacy

23rd March 1983. Ronald Reagan announces SDI (or “Star Wars”): ground-based and space-based systems to protect the US from attack by strategic nuclear ballistic missiles.

NASA “Star Wars” Initiative, 1983

8 © 2007-2012 Creative Arts & Technologies

Page 9: The OHF Legacy

1985

Mirror on underside of shuttle

SDI Experiment: The Plan

Big mountain in Hawaii

9 © 2007-2012 Creative Arts & Technologies

Page 10: The OHF Legacy

1985

SDI Experiment: What really happened

10 © 2007-2012 Creative Arts & Technologies

Page 11: The OHF Legacy

1985: What happened?

11 © 2007-2012 Creative Arts & Technologies

Page 12: The OHF Legacy

Unit Tests wouldn‘t find these…

•All previous example illustrate three categories of errors difficult to find through Unit Testing:

• Interface Errors (e.g. millisecond/second, radian/degree, meters/feet).

• Arithmetic Errors (e.g. overflow).

• Conversion Errors.

Despite their name

13 © 2007-2012 Creative Arts & Technologies

Page 13: The OHF Legacy

Causes of Conversion Errors

•Ambiguity on the unit• Gallon Dry / Gallon Liquid

• Gallon US / Gallon UK

• Day Sidereal / Day Calendar

• Degree Celsius / Degree Fahrenheit• Did you know that Gabriel Fahrenheit was born in Gdansk (Danzig) in northern

Poland?

• ...

•Wrong conversion factors:static final double PIXEL_TO_INCH = 1 / 72;

double pixels = inches * PIXEL_TO_INCH

14 © 2007-2012 Creative Arts & Technologies

Page 14: The OHF Legacy

Eclipse UOMo

One Small Step…

Page 15: The OHF Legacy

Results with

Same Dimension Different Dimension

Binary Operations Binary Operations

add(double) or (long) root(int)

multiply(double) or (long) power(int)

divide(double) or (long) multiply(Unit)

compound(Unit) divide(Unit)

Unary Operations

inverse()

Unit-API | Operations

Page 16: The OHF Legacy

Bundles

• UOMo currently consists of• UOMo Core

• General parts of the framework, reusable components

• UOMo Util• Utility classes, Formatting, Date/Time and other ICU4J or Unicode

related items

• UOMo XML• XMLPull and support for Markup Languages like UnitsML, MathML

or SensorML

Eclipse UOMo

17 © 2007-2011 Creative Arts & Technologies

Page 17: The OHF Legacy

Bundles (2)

• UOMo Units• Based on Units of Measurement API

• UOMo UCUM• Unified Code for Units of Measure support

• UOMo Business• Business Types and Monetary System

Eclipse UOMo

18 © 2007-2012 Creative Arts & Technologies

Page 18: The OHF Legacy

Unified Code for Units of Measure

The Unified Code for Units of Measure is inspired byand heavily based on

• ISO 2955-1983

• ANSI X3.50-1986

• HL7's extensions called ISO+

UOMo UCUM

19 © 2007-2012 Creative Arts & Technologies

Page 19: The OHF Legacy

HL7 DSL

20 © 2007-2012 Creative Arts & Technologies

def mySegment = ...   // assignment to another NK1 segment instance

def group = message.PATIENT_RESULT(0).PATIENT

group.NK1(0) = 'abc'          // syntax error!

msg1.NK1(0) = mySegment       // syntax error!

msg1.NK1(0).from(mySegment)  // works!

def nk1      = message.PATIENT_RESULT(0).PATIENT.NK1(0)

def otherNk1 = message.PATIENT_RESULT(0).PATIENT.NK1(0)

nk1[4]       = otherNk1[4] // copy address

nk1[4][4]    = otherNk1[4][4] // copy state or province only

nk1[4][4].from(otherNk1[4][4])// equivalent

nk1[4][4]    = 'NY'   // set state or province directly

Page 20: The OHF Legacy

DEMO

UOMo Examples

Page 21: The OHF Legacy

STEM is Open Sourcehttp://www.eclipse.org/stem/downloads.php

22

Page 22: The OHF Legacy

Epidemiological Compartment Models

S E I R

Births

Deaths

S I R

Births

Deaths

Standard SEIR model Standard SIR model

S: susceptible

E: exposed but not yet infectious

I: infectious

R: recovered

STEM is a Framework

Page 23: The OHF Legacy

Swine FluHuman Flu

“Mixing Cell

The Many Vectors of Infectious Disease

Page 24: The OHF Legacy

Common

Border Edges

Interstate Highway Edges

Air Travel Edges

US Counties (3109) Edges

Page 25: The OHF Legacy

Masks

No Air travel

Vaccinate

?

HCN/HL7

Weather

Air Traffic

Multiple parallel scenarios identically initialized from current real world conditions and simulate each simultaneously forward in time.

Masks/No Air

Goal: Evaluation of Public Health Policies

26

Page 26: The OHF Legacy

as initial condition

Simulations Based on ICDC Influenza Data

Page 27: The OHF Legacy

Recent H1N1 Outbreak

Page 28: The OHF Legacy

DEMO

STEM in Action

Page 29: The OHF Legacy

VISION OF OPEN HEALTH TOOLS

Vision: To enable a ubiquitous ecosystem where members of the Health and IT professions can collaborate to build open, standards-based interoperable systems that enable patients and their care providers to have access to vital and reliable medical information at the time and place it is needed.

Page 30: The OHF Legacy

Community of Open Source Technology Developers

Community of Health Professionals

Community of VendorsConsumers

Providers

Patients

Physicians

Community of National Health Services

Community of Regional, State and LocalHealth Services

Community of Standards Organizations

OHT | Stakeholder Communities

31

Page 31: The OHF Legacy

■ Adopt recognized industry standards and best practices in services. Maintain close working relationships with identified SDOs Provide feedback to SDOs via early adopter program and communities to

foster creation of useful, usable healthcare standards that address real healthcare requirements.

Strategy:

Important SDOs:■ HL7: CCD, Semantics, Documents, Services■ OMG: technical specifications of services■ IHE: pragmatic community for adoption■ IHTSDO (SNOMED): Semantics, terminology definitions for healthcare■ ASTM: CCR / CCD specifications■ ISO/CEN/HL7: EHR requirements and specifications■ ISO

OHT | Approach to Standards

32

Page 32: The OHF Legacy

Application Design

Business Use Case

Clinical Use Case

Clinical Content Model

Clinical Templates

Clinical Archetypes

Reference Model, Types, Terminology

OHT | Clinical Application Layers

33

Page 33: The OHF Legacy

Eclipse Open Source Community

Eclipse Foundation

Eclipse Eco-system

The Eclipse Foundation Enable & Manage Eclipse

-Infrastructure Support

-Intellectual Property

-Legal

-Marketing

-Enable Eco-system

-Enable Open Source

The Eclipse Eco-system The community takes the Open Source Technology and build products for profit and use.

The community includes 800,000 vendors and organizations, 10 Leadership Projects, 150 Members, in 120 countries project.

The economic value of the “free” code is $700,000,000 (USD). The commercial value of the revenue generated to members is in excess of 2 Billion (USD)

The Eclipse Open Source The community builds the technology has over 4 million developers and 120 open source projects. These projects can be conceptually organized into seven different "pillars" or categories: -Enterprise Development -Embedded and Device Development -Rich Client Platform -Rich Internet Applications -Application Frameworks -Application Lifecycle Management (ALM) -Service Oriented Architecture (SOA)

OHT | Based upon Eclipse Experience

Page 34: The OHF Legacy

Open Health Tools Eco-system

Eclipse Eco-system

Eclipse Open Source Community

Open Health Tools

Open Source Community

Non-EclipseOpen Source Community

Private PublicCommercialApplicationsCode & Data

The Open Health Tools Open Source

The community builds common services, frameworks, exemplary tools and example applications.

For example:

Record Locator Services & Hl7 Messaging Terminology Services & Identity Management

The Open Health Tools Eco-system

The community takes the Open Health Tools Technology and builds, packages, and sells the technology as products, applications, tools, for profit and use.

OHT | Communities

35

Page 35: The OHF Legacy

Q & ALet‘s talk

Page 36: The OHF Legacy

Eclipse – Project UOMo

http://www.eclipse.org/uomo/

Units of Measurement API

http://www.unitsofmeasurement.org

UCUM

http://www.unitsofmeasure.org

Links

Page 37: The OHF Legacy

Eclipse STEM

http://www.eclipse.org/stem

Open Health Tools

http://www.openhealthtools.org/

OpenHealth Project

http://www.openhealth.org

Links (2)

Page 38: The OHF Legacy

Contact

[email protected]

or

[email protected]

Twitter: @wernerkeil

Hashtag #EclipseUOMo