Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

The OHF Legacy

5.594 Aufrufe

Veröffentlicht am

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)

Veröffentlicht in: Gesundheit & Medizin, Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

The OHF Legacy

  1. 1. The OHF LegacyEclipse UOMo, STEM and OpenHealth Tools Werner Keil Eclipse Day Kraków 13th September 2012
  2. 2. UOMo STEM Open Health Tools2 © 2007-2012 Creative Arts & Technologies Images based on © Universal Pictures
  3. 3. 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
  4. 4. Who am I?Werner Keil • Consultant – Coach • Creative Cosmopolitan • Open Source Evangelist • Software Architect • Java Godfather • UOMo Project Lead • … Twitter @wernerkeil4 © 2007-2012 Creative Arts & Technologies
  5. 5. 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
  6. 6. What do these disasters have in common?• Patriot Missile The cause was an inaccurate calculation of the time since boot due to a computer arithmetic error.• Ariane 5 Explosion The 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
  7. 7. What do these disasters have in common?• 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 agencys 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 3 rd party contractors are involved or projects are developed Offshore7 © 2007-2012 Creative Arts & Technologies
  8. 8. NASA “Star Wars” Initiative, 1983 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.8 © 2007-2012 Creative Arts & Technologies
  9. 9. 1985 Mirror on underside of SDI Experiment: shuttle The Plan Big mountain in Hawaii9 © 2007-2012 Creative Arts & Technologies
  10. 10. 1985 SDI Experiment: What really happened10 © 2007-2012 Creative Arts & Technologies
  11. 11. 1985: What happened?11 © 2007-2012 Creative Arts & Technologies
  12. 12. Unit Tests wouldn„t find these… Despite their name• 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.13 © 2007-2012 Creative Arts & Technologies
  13. 13. 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_INCH14 © 2007-2012 Creative Arts & Technologies
  14. 14. Eclipse UOMo One Small Step…
  15. 15. Unit-API | Operations 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()
  16. 16. Eclipse UOMo 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 SensorML17 © 2007-2011 Creative Arts & Technologies
  17. 17. Eclipse UOMo 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 System18 © 2007-2012 Creative Arts & Technologies
  18. 18. UOMo UCUM Unified Code for Units of Measure The Unified Code for Units of Measure is inspired by and heavily based on • ISO 2955-1983 • ANSI X3.50-1986 • HL7s extensions called ISO+19 © 2007-2012 Creative Arts & Technologies
  19. 19. HL7 DSL 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 directly20 © 2007-2012 Creative Arts & Technologies
  20. 20. UOMo Examples DEMO
  21. 21. STEM is Open Sourcehttp://www.eclipse.org/stem/downloads.php
  22. 22. STEM is a Framework Epidemiological Compartment Models Standard SEIR model Standard SIR model Births Births S E I R S I R Deaths Deaths S: susceptible E: exposed but not yet infectious I: infectious R: recovered
  23. 23. The Many Vectors of Infectious Disease Human Flu Swine Flu “Mixing Cell
  24. 24. US Counties (3109) Edges Common Border Edges Interstate Highway Edges Air Travel Edges
  25. 25. Goal: Evaluation of Public Health Policies Masks No Air travelHCN/HL7Weather VaccinateAir Traffic Masks/No AirMultiple parallel scenarios identically initializedfrom current real world conditions and simulateeach simultaneously forward in time. ?
  26. 26. Simulations Based on ICDC Influenza Dataas initial condition
  27. 27. Recent H1N1 Outbreak
  28. 28. STEM in Action DEMO
  29. 29. VISION OF OPEN HEALTH TOOLSVision:To enable a ubiquitous ecosystem where members ofthe Health and IT professions can collaborate to buildopen, standards-based interoperable systems thatenable patients and their care providers to haveaccess to vital and reliable medical information at thetime and place it is needed.
  30. 30. OHT | Stakeholder Communities Community of Health Professionals Community of National Community of Vendors Health Services Consumers Providers Patients Community of Regional, State and Local Physicians Community of Open Source Health Services Technology Developers Community of Standards Organizations
  31. 31. OHT | Approach to Standards Strategy: ■ 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. 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
  32. 32. OHT | Clinical Application Layers Business Use Case Clinical Use Case Clinical Content Model Application Design Clinical Templates Clinical Archetypes Reference Model, Types, Terminology
  33. 33. OHT | Based upon Eclipse Experience The Eclipse Eco-system Eclipse Open Source Community The community takes the Open Source Technology and build products for profit and use. The community includes 800,000 vendors and Eclipse Foundation organizations, 10 Leadership Projects, 150 Members, in 120 countries project. The economic value of the “free” code is $700,000,000 Eclipse Eco-system (USD). The commercial value of the revenue generated to members is in excess of 2 Billion (USD) The Eclipse Open Source The Eclipse Foundation Enable & Manage Eclipse The community builds the technology has over 4 million developers and 120 open source projects. These -Infrastructure Support projects can be conceptually organized into seven different "pillars" or -Intellectual Property categories: -Legal -Enterprise Development -Marketing -Embedded and Device Development -Rich Client Platform -Enable Eco-system -Rich Internet Applications -Enable Open Source -Application Frameworks -Application Lifecycle Management (ALM) -Service Oriented Architecture (SOA)
  34. 34. OHT | Communities Open Health Tools Open Source Community Open Health Tools Private Public Non-Eclipse Eco-system Commercial Open Applications Source Code & Data Eclipse Open Source Community Community Eclipse Eco-systemThe Open Health Tools Open Source The Open Health Tools Eco-systemThe community builds common services, frameworks, The community takes the Open Health Toolsexemplary tools and example applications. Technology and builds, packages, and sells the For example: technology as products, applications, tools, forRecord Locator Services & Hl7 Messaging profit and use.Terminology Services & Identity Management
  35. 35. Let„s talkQ&A
  36. 36. Links Eclipse – Project UOMo http://www.eclipse.org/uomo/ Units of Measurement API http://www.unitsofmeasurement.org UCUM http://www.unitsofmeasure.org
  37. 37. Links (2) Eclipse STEM http://www.eclipse.org/stem Open Health Tools http://www.openhealthtools.org/ OpenHealth Project http://www.openhealth.org
  38. 38. Contact werner@catmedia.us or uomo@catmedia.us Twitter: @wernerkeil Hashtag #EclipseUOMo