Generating HAPI extension for HL7 custom Z segments v 0.3

Slides:



Advertisements
Similar presentations
National Institute of Standards and Technology Technology Administration U.S. Department of Commerce 1 Patient Care Medical Devices Test Effort Integrating.
Advertisements

HL7 V2 Implementation Guide Authoring Tool Proposal
HL7 V2 Conformance Testing Robert Snelick NIST January 20 th, 2004
Other Web Application Development Technologies. PHP.
MARKETPLACE TRANSITION FROM CLASSIC INTERFACE TO PHOENIX INTERFACE.
Introduction to Eclipse. Start Eclipse Click and then click Eclipse from the menu: Or open a shell and type eclipse after the prompt.
Page 1 of 12 To the ETS - Correspondence Online Training Course Welcome The Correspondence functionality is an online service that enables clients to receive.
Overview Environment for Internet database connectivity
Work Orders Throughout this slide show there will be hyperlinks (highlighted in blue). Follow the hyperlinks to navigate to the specified Topic or Figure.
Overview This presentation will be answering these main questions about AutoDoc: What does it do? What is it? How does it do it? Starting from the finish.
Microsoft Office Illustrated Fundamentals Unit C: Getting Started with Unit C: Getting Started with Microsoft Office 2010 Microsoft Office 2010.
Information System Design Lab 5&6. User Interface Design.
Web Toolkit Julie George & Ronald Lopez 1. Requirements  Java SDK version 1.5 or later  Apache Ant is also necessary to run command line arguments 
MultiVision 1 MultiVision Training Importing and Managing DXF and Shape Files.
1 XML Web Services Practical Implementations Bob Steemson Product Architect iSOFT plc.
JavaScript FaaDoOEngineers.com FaaDoOEngineers.com.
© Paradigm Publishing, Inc Excel 2013 Level 2 Unit 2Managing and Integrating Data and the Excel Environment Chapter 7Automating Repetitive Tasks.
XSL XSLT and XPath 11-Apr-17.
Using Eclipse. Getting Started There are three ways to create a Java project: 1:Select File > New > Project, 2 Select the arrow of the button in the upper.
CUMREC 2005 Creating A Suite of Convenience Services for Clients and Developers Deb Nelson – Systems Analyst Larry Newhouse – Information Systems Leader.
The Web Warrior Guide to Web Design Technologies
Services Oriented Transport / ITS (HL7v3 CQ / Transports) v 0.1 Darius Kemeklis Technical Direction / System Architecture Electronic Data Systems / U.S.
Browsers and Servers CGI Processing Model ( Common Gateway Interface ) © Norman White, 2013.
Eclipse Introduction Dwight Deugo Nesa Matic
Implementation of One Stop Search by XSLT By Dave Low University of Hong Kong 9-Dec-2003.
Python and Web Programming
Introduction To Form Builder
Eclipse IDE. 2 IDE Overview An IDE is an Interactive Development Environment Different IDEs meet different needs BlueJ and DrJava are designed as teaching.
03 Using Eclipse. 2 IDE Overview An IDE is an Interactive Development Environment Different IDEs meet different needs BlueJ and DrJava are designed as.
Microsoft Office Word 2013 Expert Microsoft Office Word 2013 Expert Courseware # 3251 Lesson 4: Working with Forms.
ADVANCED MICROSOFT POWERPOINT Lesson 6 – Creating Tables and Charts
Form Handling, Validation and Functions. Form Handling Forms are a graphical user interfaces (GUIs) that enables the interaction between users and servers.
Javascript and the Web Whys and Hows of Javascript.
Chapter 3 Navigating a Project Goals & Objectives 1.Get familiar with the navigation of the project. How is everything structured? What settings can you.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
The NetBeans IDE CSIS 3701: Advanced Object Oriented Programming.
INTRODUCTION TO FRONTPAGE. TOPICS TO BE DISCUSSED……….  Introduction Introduction  Features Features  Starting Front Page Starting Front Page  Components.
Programming with Microsoft Visual Basic 2012 Chapter 12: Web Applications.
Web Application Access to Databases. Logistics Test 2: May 1 st (24 hours) Extra office hours: Friday 2:30 – 4:00 pm Tuesday May 5 th – you can review.
JavaScript, Fourth Edition
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
Website Development with Dreamweaver
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
The trkNavigator plugin 22/10/ CERN - DataBase meeting Simone Paoletti INFN - Sez. Firenze.
Domain 3 Understanding the Adobe Dreamweaver CS5 Interface.
© 2005 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Data Structures for Java William H. Ford William R. Topp Appendix E The EZJava.
CITA 330 Section 6 XSLT. Transforming XML Documents to XHTML Documents XSLT is an XML dialect which is declared under namespace "
Introduction to the Visual Studio.NET IDE (LAB 1 )
Chapter 19: Visual Lisp. After completing this Chapter, you will be able to do the following: What is AutoLISP Launching Visual LISP Terminology and Fundamental.
OV Copyright © 2007 Element K Content LLC. All rights reserved. Microsoft Office Outlook Page Contacts Page Calendar Page.
VistA Imaging Workstation Configuration. October The information in this documentation includes functionality of the software after the installation.
Visual Basic.NET BASICS Lesson 1 A First Look at Microsoft Visual Basic.NET.
Microsoft Visual Basic 2005 BASICS Lesson 1 A First Look at Microsoft Visual Basic.
Moby Web Services Iván Párraga García MSc on Bioinformatics for Health Sciences May 2006.
Visual Basic for Application - Microsoft Access 2003 Programming applications using Objects.
Porting a large scale enterprise application from Tcl/Tk 8.4 to 8.5 Prashant Thakre, Tushar Gupta {prashant_thakre, Gaurav Bansal.
Dom and XSLT Dom – document object model DOM – collection of nodes in a tree.
1 Installing Java on Your PC. Installing Java To develop Java programs on your PC: Install JDK (Java Development Kit) Add the directory where JDK was.
Applications Kay Kasemir ORNL/SNS Using Information and pictures from Matthias Clausen, Jan Hatje, and Helge Rickens (DESY) October 2007.
Working in PowerPoint 2007 March 1, Objectives  Describe the Microsoft PowerPoint 2007 environment using correct terminology.  Become familiar.
Test Automation Using Selenium Presented by: Shambo Ghosh Ankit Sachan Samapti Sinhamahapatra Akshay Kotawala.
Unity Application Generator How Can I… Export variables of a Control module with all parameters, modify the some of the parameters like Initial values.
ATS Application Programming: Java Programming
How to Define Separate Order Counters for Separate Sub-Libraries
HAPI on eclipse.
Core LIMS Training: Advanced Administration
Microsoft PowerPoint 2016 Lesson 1.
Windows Internet Explorer 7-Illustrated Essentials
Presentation transcript:

Generating HAPI extension for HL7 custom Z segments v 0.3 Darius Kemeklis Technical Director / System Architecture Delivery Service / Common Services Team Electronic Data Systems / Veteran Affairs Health Administration (darius.kemeklis@med.va.gov)

Generic Z segment HAPI APIs There are two ways to read custom Z segments using HAPI: Generic HAPI-only API: ADT_A01 adt = (ADT_A01)er7Parser.parse( ADT_A08 ); ADT_A01_PR1ROL procedure = adt.getADT_A01_PR1ROL(); GenericSegment seg = (GenericSegment)procedure.get("ZEL"); Type t = ((Varies)seg.getField(9,0)).getData(); Generic HAPI-based XML API: DefaultXMLParser xmlParser = new DefaultXMLParser(); String xmlMessage = xmlParser.encode( adt ); executeXpath( xmlMessage, "/ADT_A01/ADT_A01.PROCEDURE/ZEL/ZEL.9/text()" ); //Vet status 6 April 2017

Generated specialized Z segment APIs XSLT auto-generates Java specialized Z segment APIs based on HAPI using: Input: MWB Conformance Profile for all VA Z segments Process: XSLT takes conformance profile as an input and creates a java class source file with specializes APIs based on HAPI for each Z segment in conformance profile Result: Specialized Z segment APIs based on HAPI for each custom Z segment in the conformance profile Pros: Generates add-on java classes in seconds No need to custom-code each Z segment Uses HAPI infrastructure / No changes to existing HAPI libs – minimal work Can be incorporated into MWB Generates single Java API for all HeV efforts to use when working with Z segments 6 April 2017

Generated specialized Z segment APIs (cont.) The client code looks just like other HAPI client code: ADT_A01 adt = (ADT_A01)er7Parser.parse( ADT_A08 ); ADT_A01_PR1ROL procedure = adt.getADT_A01_PR1ROL(); ZEL zel = (ZEL)procedure.get("ZEL"); ST typeOfPatient = zel.getTypeOfPatient(); The client code looks just like other HAPI client code. Clients do not need to know the exact structure of the message If message structure changes, but no the content – no change on client. 6 April 2017

MWB how-to Open MWB Go to /Maint/Libraries/Show Conformance Files/Select “VistaSD&DZSegs.mcf” Go to /Maint/Libraries/Rebuild Lib From Segs Go to /Tools/Compile Message Fill-in HL7 Version text box with “2.4” (See result on the right) 6 April 2017

MWB how-to (cont. 1) Go to Display/Reports tab Select “Spec XML” from the drop-down 6 April 2017

MWB how-to (cont. 2) Click on the right side tool bar button “Generate HL7 registry profile” 6 April 2017

MWB how-to (cont. 3) Go to /File/Apply XSL To Report Select javaZ.1.0.xsl Click on the toolbar “Browser” button (the one before the green hl7 button) to produce a report Generates ONE java source file using XSLT. Reason: XSLT 1.0 does not have capability to output info into multiple files. MSXML used within MWB does not have custom extensions to output info into multiple files ToDo: Split file into separate discrete java src files – Peter Rontey will help here. 6 April 2017

Standalone how-to Download and unpack Saxon8 from http://saxon.sourceforge.net/ Input: safe MWB generated HL7 Conformance Profile as explained in previous slides into a separate xml file (example: VHAZSegmentCPs.xml). Process: use following command line: java –jar %SAXON8_HOME%/saxon8.jar VHAZSegmentCPs.xml javaZ.2.0.xsl Output: generates Z segment java src files in Z segment java src {$basePath}/ca/uhn/hl7v2/model/v24/segment.* Where basePath is a variable in javaZ.2.0.xsl. Default “./” Internally both javaZ.1.0.xsl and javaZ.2.0.xsl include/use javaZ.core.xsl. 6 April 2017

Tools To Do’s Tool’s To Do’s: Split XSLT 1.0 based output concatenated file into multiple java files within MWB Tighter integration with MWB – maybe a button or menu item More Testing Automated build/test scripts 6 April 2017

Auto-generating specialized Z segment HAPI-based APIs will allow: Conclusion Auto-generating specialized Z segment HAPI-based APIs will allow: Project teams to concentrate on the business part of message handling instead of on the message handling semantics itself. No need to custom-code and maintain specialized Z segment APIs. ….? Questions ? …. 6 April 2017