MARC-HI Everest Framework - Ringholm

Download Report

Transcript MARC-HI Everest Framework - Ringholm

MARC-HI Everest Framework

HL7v3 RMIM API Overview Jan 2010

Agenda

• • • Introduction Overview – What is the Everest Framework?

– Components – From MIF to XML Instance – Roadmap Developer Experience

• • • •

What is MARC-HI?

Mohawk Applied Research Centre in Health Informatics – 3 Faculty Members – 3 Full Time Developers – 6 Course release and co-op students Began work with HL7v3 in summer 2007 NSERC operational funding for 2009-2014 Focused on building reference implementation of the CHI EHR Infostructure (HL7v3 using pCS)

Accomplishments to date

• • • • Operational (online sandbox) HIAL supporting approximately 20% of the pCS interactions Acted as HIAL infrastructure for eHealth 2008 and 2009 Have built reference implementations of TLI, Referral, iEHR domain, etc.

Have completed contract based investigation work for CIHI, CHI, 3M, etc.

MARC-HI Everest Framework

What is the Everest Framework?

• Everest is the foundation for an HL7v3 Messaging API – Class/Object representation of structures from pCS HL7v3 MIFs – Improved v3 experience • Extensive documentation in developer’s IDE brought forward from MIFs • Parameterized constructors, operators, and helper functions

What is the Everest Framework?

– Flexible ITS and Transport layers – Current version .NET based, ports to Java underway – Primarily used by higher level APIs, but also used directly by application programmers

Why bother?

• • • Productivity raised 10-100x by simplifying application developer environment (no requirement to learn XML for example) Built-in message conformance testing Enables higher-level business APIs, advanced tooling (interaction wizards, canonical data mapping, automated message creation, automated testing tools, etc.)

Components

• • Data-Types – Hand written (not possible to auto-generate) – Combination of R1 and R2 data type structures – Provide validation, operator overloading and other valuable functionality (compression, formatting data, etc..) RMIM Classes – Automatically generated from MIF v2

Components (Cont’d)

• • Formatters – (De)Serializes class structures a variety of formats (XML, Binary, etc...) – Can be combined – Provide built-in validation support – Optimizes mass processing of HL7v3 structures Connectors – Transports classes to/from remote endpoints using HL7v3 (WS-*, FileSystems, Memory, etc.)

HL7v3 System

Canonical Data RIM Graph ITS Graph Transport Application Data Development Canonical Data RIM Graph ITS Graph Transport

Everest

Canonical Data RIM Graph ITS Graph Transport Application Data Development MARC-HI Everest Canonical Data RIM Graph ITS Graph Transport

GPMR

From MIF to Instance

Data Types

Generated DLL

Vocabulary RMIM Classes Application Code

Formatters

XML ITS 1.x

Data Type R1 No ITS?

MIF v2

Remote System

Sending the Instance

Formatter Connector

Application WCF Code

How does it all fit?

App Data RIM Graph Generated Types Application Data Application Code Development MARC-HI Everest ITS Graph

Formatter

Transport Canonical Data RIM Graph ITS Graph Transport

Connector

• • • •

Everest Roadmap

Everest November CTP (Infoway sponsored) – – Released October 30 2009 to OHT .NET edition – Tutorials (online) – Documentation (Reference Guide) Business model API on top of Everest – Assists developers by abstracting messaging standard Java Edition – Underway Web Services (REST) Edition – Underway

Demonstration at Tooling Demo

• • Everest support site – Downloads – Tutorials – Code documentation library Using Everest in Visual Studio – Hello World example • From RMIM classes to instance • From instance to RMIM classes

Obtaining MARC-HI Everest

• http://everest.marc-hi.ca

• Support available through: – Everest forums (website above) – Email ([email protected]) – Telephone 905-575-1212 x 3653

EHR Infostructure: Conceptual Architecture 19