ART-DÉCOR Templates in Everest Project “Sherpas” Justin Fyfe – Mohawk College of Applied Arts and Technology May 2014 WGM.

Slides:



Advertisements
Similar presentations
Helmut König, Siemens Medical Solutions
Advertisements

HL7 V2 Implementation Guide Authoring Tool Proposal
HL7 Templates A means to Manage Complexity. Objectives What is an HL7 Template? What types of constraints can HL7 Templates define? What types of HL7.
Advanced XSLT II. Iteration in XSLT we sometimes wish to apply the same transform to a set of nodes we iterate through a node set the node set is defined.
Advanced XSLT II. Iteration in XSLT we sometimes wish to apply the same transform to a set of nodes we iterate through a node set the node set is defined.
Introduction to the BinX Library eDIKT project team Ted Wen Robert Carroll
JD Edwards Service JD Edwards Service SAP Service SAP Service Java Appl. Service Java Appl. Service.Net Appl. Service.Net Appl. Service CICS Service.
MARC-HI Everest Framework HL7v3 API Architecture Overview February 2, 2010.
XS - Platform What is XS – Manager ?
MARC-HI Everest Framework
Electronic Submission of Medical Documentation (esMD) Clinical Document Architecture R2 and C-CDA Comparison April 24, 2013.
JAXB Java Architecture for XML Binding Andy Fanton Khalid AlBayat.
SRDC Ltd. 1. Problem  Solutions  Various standardization efforts ◦ Document models addressing a broad range of requirements vs Industry Specific Document.
Web Services with Apache CXF Part 2: JAXB and WSDL to Java Robert Thornton.
Future Directions for Leveraging Advanced XML Tools and Building Custom XML Solutions Denise Draper DAT321 Microsoft Corporation.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Session 1 - Introduction and Data Access Layer
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
Everest 1.2 Update – Progress – New Features Justin Fyfe Duane Bender January 2013 WGM.
Model-Driven Health Tools (MDHT) CDA Tools Overview
NHS CFH Approach to HL7 CDA Rik Smithies Chair HL7 UK NProgram Ltd.
Object and component “wiring” standards This presentation reviews the features of software component wiring and the emerging world of XML-based standards.
Everest Bridging Internal Assets and External Requirements Justin Fyfe March 2013 RIMBAA OOC.
Agenda Introduction to MDHT MDHT Capabilities MDHT support using Consolidated CDA 1.
® IBM Tivoli Directory Integrator Tivoli Directory Integrator Exercise 2 – Mapping to inetOrgPerson Eddie Hartman
December 15, 2011 Use of Semantic Adapter in caCIS Architecture.
Virtual techdays INDIA │ Nov 2010 Developing Office Biz Application using WPF on Windows 7 Sarang Datye │ Sr. Consultant, Microsoft Sridhar Poduri.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
Introduction to MDA (Model Driven Architecture) CYT.
Tools for Diagrammatic Specifications Stian Skjerveggen Supervisors: Yngve Lamo, Adrian Rutle, Uwe Egbert Wolter.
Modeling Tools for Healthcare Technical Overview April 8, 2009.
1 © 2008 Avaya Inc. All rights reserved. IPOffice Configuration Service Emil Ratnam.
MARC-HI Everest Framework HL7v3 RMIM API Overview Jan 2010.
Copyright © 2011, SAS Institute Inc. All rights reserved. Using the SAS ® Clinical Standards Toolkit 1.4 to work with the CDISC ODM model Lex Jansen SAS.
TUTORIAL Dolphy A. Fernandes Computer Science & Engg. IIT Bombay.
Web Services with Apache CXF Part 2: JAXB and WSDL to Java Robert Thornton.
HOME EVIDENCE EXECUTION MICROSOFT SOLUTIONS SERVICES PARTNERS Custom Field Controls and SharePoint Web Content Management Chakkaradeep Chandran Robert.
MDHT Architecture Diagram Rama Ramakrishnan 1. Introduction The intent is to capture the high level architecture of the MDHT. The following diagrams are.
HIT Standards Committee S&I and CDA – Update and Discussion November 16 th, 2011 Doug Fridsma, MD, PhD.
Networking and Health Information Exchange Unit 5b Health Data Interchange Standards.
Standards Analysis Summary vMR –Pros Designed for computability Compact Wire Format Aligned with HeD Efforts –Cons Limited Vendor Adoption thus far Represents.
1 Overview of XSL. 2 Outline We will use Roger Costello’s tutorial The purpose of this presentation is  To give a quick overview of XSL  To describe.
Schematron Tim Bornholtz. Schema languages Many people turn to schema languages when they want to be sure that an XML instance follows certain rules –DTD.
CDA Structured Text. Classes involved in structured text & coded entries.
Web Services with Apache CXF Part 2: JAXB and WSDL to Java Robert Thornton.
Using Detailed Clinical Models to bridge the gap between clinicians and HIT: ISO NIWP 191 open for voting ISO WG1, Edinburgh, 26/27 April 2009 William.
Apache Struts. J2EE Web Application using MVC design pattern Why MVC? Separate components = easier maintenance – Model component holds object data – View.
CS 157B: Database Management Systems II February 11 Class Meeting Department of Computer Science San Jose State University Spring 2013 Instructor: Ron.
OHT – HL7 Charter HL7 Tooling Project – Status Report 9 th December 2008 Ravi Natarajan Ken Lunn NHS CfH.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
Dictionary based interchanges for iSURF -An Interoperability Service Utility for Collaborative Supply Chain Planning across Multiple Domains David Webber.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
ISA 95 Working Group Process Centric Exchanges Gavan W Hood July 23, 2015 GWH 2.1.
©2001 Priority Technologies, Inc. All Rights Reserved Meteor Status Miami Face to Face Meeting January 16 – 18, 2002.
Experience with XML Schema Ashok Malhotra Schema Usage  Mapping XML Schema and XML documents controlled by the Schema to object classes and instances.
Using DSDL plus annotations for Netconf (+) data modeling Rohan Mahy draft-mahy-canmod-dsdl-01.
Experience with LCLS Sergei Chevtsov, EPICS Argonne.
CCD and CCR Executive Summary Jacob Reider, MD Medical Director, Allscripts.
1 Model Driven Health Tools Design and Implementation of CDA Templates Dave Carlson Contractor to CHIO
SOAP, Web Service, WSDL Week 14 Web site:
Summary Report Project Name: Infoway Message Builder API Brief Project Description: Intended to simplify the implementation of HL7 v3 messaging –Simulation.
Model-Driven Health Tools (MDHT) CDA Tools Overview John T.E. Timm (IBM Research) and David A. Carlson (Veterans.
Networking and Health Information Exchange
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
Templates & Implementation Guides
Chapter 2 Figures C-CDA Companion Guide.
Execute your Processes
The JSF Tools Project – WTP (internal) release review
WCF Data Services and Silverlight
#01# ASP.NET Core Overview Design by: TEDU Trainer: Bach Ngoc Toan
Presentation transcript:

ART-DÉCOR Templates in Everest Project “Sherpas” Justin Fyfe – Mohawk College of Applied Arts and Technology May 2014 WGM

Everest – A Brief Generic framework for generating HL7v3 (and CDA) instances Features Overview: –.NET and Java implementation Compact (Windows Phone) edition available –Formatting R1 and R2 data-types representation XML ITS 1.0 –Transport SOAP (via WCF/Spring) File System Pub/sub MSMQ Started in 2008 as a generic solution –Over 9,000 downloads currently on Tech Exchange –In use in many implementation (primarily C#)

Everest at 5,000 m.NET Framework GPMR Everest Core Library Connectors Formatters WCF MSMQ XML ITS 1.0 DT R1 DT R2 RMIM Structures CDA CodeDom

CDA In Everest Optimizer GPMR C# Java.DLL.JAR POCD_MT000040UV.MIF

Using the Generated RMIM Classes ClinicalDocument document = new ClinicalDocument(); document.TemplateId = LIST.CreateList(new II(" ")); document.Code = new CE (" ", " ") { DisplayName = "Summarization of episode note" }; document.Component = new Component2(); document.Component.SetBodyChoice(new StructuredBody()); // Vital Signs section Section vitalSigns = new Section(); vitalSigns.TemplateId = LIST.CreateList(new II(" ")); vitalSigns.Code = new CE ("8716-3", " "); vitalSigns.Title = "Vital Signs"; vitalSigns.Text = " Todo "; vitalSigns.Text.Representation = EncapsulatedDataRepresentation.XML; document.Component.GetBodyChoiceIfStructuredBody().Component.Add( new Component3(ActRelationshipHasComponent.HasComponent, true) { Section = vitalSigns } ); // Comment entry Entry commentEntry = new Entry(x_ActRelationshipEntry.HasComponent, false); Act commentAct = new Act(x_ActClassDocumentEntryAct.Act, x_DocumentActMood.Eventoccurrence); commentAct.TemplateId = LIST.CreateList(new II(" ")); commentAct.Code = new CD (" ", " ") { DisplayName = "Annotation comment" }; commentAct.Text = "This is a test"; commentEntry.ClinicalStatement = commentAct; vitalSigns.Entry.Add(commentEntry);

Rendered in XML Vital Signs Todo This is a test

Common Roadblocks Developers on the forums and via asked common questions: –How do I … ? Quite a bit of questions about how to represent a particular CDA template using Everest –I have a jurisdiction that does X differently than the standard, how do I represent this? Lots of common questions were asked about how to represent jurisdictional constraints in Everest Some common themes –Jurisdiction has a “custom” schema for their extended attributes –Jurisdiction has a “custom” series of elements represented in a word document –Jurisdiction had computable representations and Java renderings but no C# equivalent Everest had some way to address this: –Writing extended classes which implemented the templates/custom bits –Writing scaffolding code –We wanted a more automated way to do this.

Sherpas The name: –Everest was named after tallest mountain in the world HL7v3 was considered by many to be equally difficult to implement –This toolkit would help developers climb that mountain … = Sherpas What is it? –A template processor that binds CDA templates to Everest RMIM classes –A series of helper classes that handle formatting/validation (as extensions to Everest)

Sherpas Generation Optimizer GPMR C#.DLL POCD_MT000040UV.MIF <temp <cla </cla <temp <cla </cla Y-DECOR.XML SherpaTC.DLL

Vanilla Everest ClinicalDocument document = new ClinicalDocument(); document.TemplateId = LIST.CreateList(new II(" ")); document.Code = new CE (" ", " ") { DisplayName = "Summarization of episode note" }; document.Component = new Component2(); document.Component.SetBodyChoice(new StructuredBody()); // Vital Signs section Section vitalSigns = new Section(); vitalSigns.TemplateId = LIST.CreateList(new II(" ")); vitalSigns.Code = new CE ("8716-3", " "); vitalSigns.Title = "Vital Signs"; vitalSigns.Text = " Todo "; vitalSigns.Text.Representation = EncapsulatedDataRepresentation.XML; document.Component.GetBodyChoiceIfStructuredBody().Component.Add( new Component3(ActRelationshipHasComponent.HasComponent, true) { Section = vitalSigns } ); // Comment entry Entry commentEntry = new Entry(x_ActRelationshipEntry.HasComponent, false); Act commentAct = new Act(x_ActClassDocumentEntryAct.Act, x_DocumentActMood.Eventoccurrence); commentAct.TemplateId = LIST.CreateList(new II(" ")); commentAct.Code = new CD (" ", " ") { DisplayName = "Annotation comment" }; commentAct.Text = "This is a test"; commentEntry.ClinicalStatement = commentAct; vitalSigns.Entry.Add(commentEntry);

Using Sherpas (live demo?) CCDClinicalDocument document = new CCDClinicalDocument(); document.Component = new CCDClinicalDocument_Component(); document.Component.BodyChoice = new CCDClinicalDocument_Component_BodyChoice(); // Vital Signs VitalSignsSection vitalSigns = new VitalSignsSection( classCode: ActClassDocumentSection.DOCSECT, moodCode: ActMoodEventOccurrence.Eventoccurrence, title: "Vital Signs", text: " Todo ", entry: null ); vitalSigns.Text.Representation = EncapsulatedDataRepresentation.XML; document.Component.BodyChoice.AddVitalSignsSectionComponent( new VitalSignsSectionComponent(false, vitalSigns) ); // Comment entry Comment commentAct = new Comment(false); commentAct.Text = "This is a test"; vitalSigns.AddCommentEntry15(new CommentEntry15(x_ActRelationshipEntry.HasComponent, true, commentAct));

Rendered in XML Vital Signs Todo This is a test

Sherpas Features Helper MethodsConstraint ValidationDocumentation Helper Methods Allow developers to see what choices of sections/entries/statements can be used in a particular context Helper Methods Allow developers to see what choices of sections/entries/statements can be used in a particular context Constraint Validation Gives developers an opportunity to provide *basic* validation of their models in memory while developing, or parsing. Constraint Validation Gives developers an opportunity to provide *basic* validation of their models in memory while developing, or parsing.

Current Status Very early stages of development –Started work after Jan WGM Sherpas is able to process: –Simple DÉCOR format files such as CCD or CCDA –Graph (Model => XML) DÉCOR template RMIM structures –Parse (XML => Model) DÉCOR RMIM structures based on “templateId” Todo: –More testing, esp. on parsing –Complex template operations (splicing, combining, resolving based on xpath, etc.) –Complex template constraints (expressed as XPath) –Huge demand to generate “templates from XSD” –Some demand to generate Sherpas templates from MDHT definitions

Questions?