1 / 43

RIMBAA Overview

RIMBAA Overview. Full source: www.ringholm.com/download/RIMBAA_overview_tutorial.ppt. Slide contents published under the Creative Commons / Attribute-Share Alike license Source: www.ringholm.com/download/RIMBAA_overview_tutorial.ppt. René Spronk. Trainer / Senior Consultant Ringholm bv

clio
Download Presentation

RIMBAA Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. RIMBAA Overview Full source: www.ringholm.com/download/RIMBAA_overview_tutorial.ppt Slide contents published under the Creative Commons / Attribute-Share Alike license Source: www.ringholm.com/download/RIMBAA_overview_tutorial.ppt

  2. René Spronk Trainer / Senior Consultant Ringholm bv Haarlem, the Netherlands Tel. +31 (0)318 589 789 Fax: +31 (0)318 548 090 eMail: Rene.Spronk@Ringholm.com Web: http://www.Ringholm.com Twitter: @Ringholm • HL7/IHE roles: • HL7 Fellow • Co-chair of the international HL7 RIMBAA Working Group • Co-chair of various Committees, HL7 Germany, HL7 Netherlands • Member of HL7 UK, HL7 FR, HL7 CH, HL7 NO • Contributor to the IHE Laboratory Technical Framework • HL7 volunteer of the year - 2008

  3. The International RIMBAA Work Group • Promotes RIMBAA architectures , and • Gathers, documents and publishes best practices when it comes to the (model driven) implementation of HL7 version 3 • Product presentations • Open forum discussions • Page: http://wiki.hl7.org/index.php?title=RIMBAA RIMBAA WG Activities

  4. Key Objectives Understand some of the architectural approaches and techniques for using the HL7 RIM data model in clinical data repositories Show some of the ‘best practices’ collected by the HL7 RIMBAA Workgroup Note: interoperability is “out of scope” of this presentation .. and “in scope” for RIMBAA

  5. The HL7 RIM Scope, Origins of the Reference Information Model Slide contents published under the Creative Commons / Attribute-Share Alike license Source: www.ringholm.com/download/RIMBAA_overview_tutorial.ppt

  6. RIM (1995-1999)

  7. Sources of the RIM: data(base) models ..and UK / Australian national healthcare data models.

  8. RIM (current version, 2001+)

  9. The RIM as a model for persistence • All healthcare domains can be represented and integrated using one single ISO standard information model (the RIM) • This means one does not have to develop and support different databases and interfaces between systems for different healthcare domains • RIM Based Application Architecture (RIMBAA)

  10. RIM in UML

  11. Essential components of the RIM • Class Diagram • Constraint Language • State transition diagrams • Definitions (classes, attributes, ..) • Data type definitions • Vocabularies (notably:structural vocabularies, e.g. ActClass) Slide courtesy of Nicolas Canu (HL7 France)

  12. Use of RIM (-based) models RIMBAA

  13. Application Layer Full source: www.ringholm.com/download/RIMBAA_overview_tutorial.ppt Slide contents published under the Creative Commons / Attribute-Share Alike license Source: www.ringholm.com/download/RIMBAA_overview_tutorial.ppt

  14. RIM – Generated Code • RIM • MIF or XSD based class/code generators • Includes support for constraint language • State transitions • Constraint on RIM classes • Vocabulary definitions/bindings • Terminology Server functionality, CTS II • Data type • Custom library, partly XSD generated

  15. Constraint Language • To express additional constraints • OCL, ADL, Gello • No solution has been formally adopted • Typical (OCL) example: • The Person object should have either an id or a name • context Person • inv: id.hasContent or name.hasContent

  16. Data Types – custom code • Custom library with support for data types • Mostly: ISO data types, patched to support data types R1 as well • Relationship with Terminology Server (C* data types) • Needs custom coding: data types MIF is abstract.

  17. MDD - Application Generation Generic Software Components -Terminology -Data types Software application RIM Persistence Database

  18. MDD –Prescription Example • RIM based model for Prescription • Business workflow • Exchange Pattern Software application

  19. Class Generators Class generators – XML Schema driven Every major development platform provides tools to generate classes from XML Schemas E.g. JAXB, .NET Framework/Mono (XSD.EXE), XML Beans… Class Generators – Model driven Model Driven Software development environments allow classes to be generated from (UML-) models E.g. MARC Everest API Generator (XML ITS/RIM ITS), MDHT (for CDA)

  20. Example: Philips Research (1/2) • Object model of MIF was generated from the MIF schemas, including read and write methods. • MIF files are read as instances of the MIF model and mapped to object models. • Applications are built using C# classes generated from the object models.

  21. Example: Philips Research (2/2) Object models generated from MIF:

  22. Persistence Layer Full source: www.ringholm.com/download/ implementation_mechanics.ppt Slide contents published under the Creative Commons / Attribute-Share Alike license Source: www.ringholm.com/download/RIMBAA_overview_tutorial.ppt

  23. Database models (Relational) RIM or RIM-based model: Conceptual Data Model RIM • Logical Data Model • Not DBMS specific, no tables, no keys LDM ORM – Object Relational Mapping PDM • Physical Data Model • DBMS specific, tables, keys

  24. Conceptual Data model - RIM • Enormous flexibility, at the cost of a very abstract structure. • makes enforcement of data integrity rules very difficult making it necessary to rely on stored procedures and application logic to enforce rules. • Low number of tables • less programming work, easier to learn, easier to add new functionality. More data in each table, need to tune queries. • Main use-case: • If you're creating a data store for ad-hoc queries, mining and exploration of all sorts of data from all sorts of different sources

  25. RIM – Interoperability Focus • Data types • Defined for ‘worst case’ interoperabilty scenarios; within one system this scenario doesn’t apply • HIST<X>; other means of supporting versioning • Normalization of data types • Context Conduction • RIM • Lacks certain classes for non-interoperability settings; change proposals are being made

  26. OLTP versus OLAP • OLTP: Online Transaction Processing • Persists a “stack of messages” • Fast processing • Query processing requires plowing through a series of relevant transactions • OLAP: Online Analytical Processing • Persists an object graph • Very flexible when it comes to querying

  27. OLTP + OLAP

  28. OLAP + Data mart / view model User Interface User Interface Commands Query RIM Services RIM (OLAP) View Model /Datamart Events View Model /Datamart

  29. Data Marts

  30. Database Models • EAV (“RDF Triples”) • Pure EAV considered to be too slow • XML • Example implementation • RDBMS (ER) • Focus of the presentation

  31. Example: RIM persistence -OntoReason / MD Anderson

  32. Example: IBM (1/2)

  33. Example: IBM (2/2)

  34. Example: UMCG – RDBMS & XML XML in column(e.g. SQL-Server 2005) With XPathindex columns

  35. Persistence LayerData Types Full source: www.ringholm.com/download/RIMBAA_overview_tutorial.ppt Slide contents published under the Creative Commons / Attribute-Share Alike license Source: www.ringholm.com/download/RIMBAA_overview_tutorial.ppt

  36. Hiding the complexities of the persistence model Goal: SQL that is based on ISO/R2 data types, and more complex class structures Object/Relational Mapping Wrap database objects (tables, columns, fields…) in OO classes Examples: Hibernate (Java), nHibernate (.NET), HyperJAXB, Jakarta OJB, JPOX Type definitions in databases User Defined Types (e.g. to hide data type specifics)

  37. UDT – Data Types • User Defined Types (at the DBMS level) • A form of ORM at the database level • Allows for the definition of CD with SNOMED support, II with an OID check, or PQ with UCUM validation. • Native support for HL7 datatypes in SQL. • Full nullFlavor support

  38. UDT Example: PQ

  39. UDT Example: IVL<PQ>

  40. Summary Full source: www.ringholm.com/download/RIMBAA_overview_tutorial.ppt Slide contents published under the Creative Commons / Attribute-Share Alike license Source: www.ringholm.com/download/RIMBAA_overview_tutorial.ppt

  41. Centralized archives with medical information (research/EHR) • National Cancer Registry, USA • BioBank, UK • Philips Research, NL • CDC NEDDS, USA • DRV Bund, DE • Toolkits for application development • PHI Technology, IT • MDHT, USA • MARC-HI Everest, CA • Oracle HTB, US • dbMotion, IL • HIS/PAS systems • Axolotl Elysium, USA • CSC Clinical Suite, DK • Siegele Software, AT • PCS, AT Who uses RIMBAA ?

  42. Summary The RIM is appropriate as a persistence model if there is a requirement for a generic data model (research, EHRs) Combine with views/datamarts for specific domains or target audiences Implementation of data types (library, persistence) is key MDD (Application Generation) based on RIM-based models is definitely an option

  43. Any Questions ? • Or: post your question/suggestions via • E-mail rimbaa@ringholm.com • Twitter: @Ringholm

More Related