Implementing reusable software components for SNOMED CT diagram and expression concept representations



Similar documents
Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

VICCI. The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview. Dipl.-Inf. Christoph Seidl

COCOVILA Compiler-Compiler for Visual Languages

An eclipse-based Feature Models toolchain

Modeling Cloud Messaging with a Domain-Specific Modeling Language

SNOMED CT. The Language of Electronic Health Records

Metamodels and Modeling Multiple Kinds of Information Systems

A Tool Suite for the Generation and Validation of Configurations for Software Availability

A Brief Analysis of Web Design Patterns

A Framework of Model-Driven Web Application Testing

A Service Oriented Approach for Guidelines-based Clinical Decision Support using BPMN

Co-Creation of Models and Metamodels for Enterprise. Architecture Projects.

Generating Aspect Code from UML Models

SNOMED CT Introduction. Dr Linda Bird, IHTSDO Implementation Specialist

The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt

Terminology Services in Support of Healthcare Interoperability

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins

XFlash A Web Application Design Framework with Model-Driven Methodology

A model driven approach for bridging ILOG Rule Language and RIF

Increasing Development Knowledge with EPFC

Model-Driven Health Tools (MDHT) CDA Tools Overview.

Foundations of Model-Driven Software Engineering

Interface Terminology to Facilitate the Problem List Using SNOMED CT and other Terminology Standards

Representing XML Schema in UML A Comparison of Approaches

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *

Textual Modeling Languages

A Cloud Architecture for an Extensible Multi-Paradigm Modeling Environment

COURSE GUIDE:Model-Driven Software Development (MDE)

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Model-Driven Development - From Frontend to Code

Quality Assurance of Software Models within Eclipse using Java and OCL

A Product Line and Model Driven Approach for Interoperable EMR Messages Generation

Source Code Translation

IBM Rational Web Developer for WebSphere Software Version 6.0

How To Use Networked Ontology In E Health

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

Simplifying e Business Collaboration by providing a Semantic Mapping Platform

Requirements Exchange: From Specification Documents to Models

CrownPeak Java Web Hosting. Version 0.20

Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence

Clinical Knowledge Manager. Product Description 2012 MAKING HEALTH COMPUTE

Information systems modelling UML and service description languages

Creating visualizations through ontology mapping

GenericServ, a Generic Server for Web Application Development

Electronic Healthcare Design and Development

A Novel Approach to Developing Applications in the Pervasive Healthcare Environment through the Use of Archetypes

ONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS

Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note

Software Development Kit

Jos Warmer, Independent

Roles in Software Development using Domain Specific Modelling Languages

Live Model Pointers A requirement for future model repositories

Recent Advances in Eclipse QVTO!

Improving EHR Semantic Interoperability Future Vision and Challenges

Chap 1. Introduction to Software Architecture

Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville

Practical Implementation of a Bridge between Legacy EHR System and a Clinical Research Environment

EHR Standards Landscape

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development

Meta-Model specification V2 D

UML FOR OBJECTIVE-C. Excel Software

Towards Collaboration on Accessible UML Models

Patterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering

SERVICE ORIENTED AND MODEL-DRIVEN DEVELOPMENT METHODS OF INFORMATION SYSTEMS

Object-Process Methodology as a basis for the Visual Semantic Web

CoSMIC: An MDA Tool Suite for Application Deployment and Configuration

ARCHITECTURAL DESIGN OF MODERN WEB APPLICATIONS

Concept and Implementation of a Graphical Editor for Composite Application Templates

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Winery A Modeling Tool for TOSCA-based Cloud Applications

Building Applications with Protégé: An Overview. Protégé Conference July 23, 2006

A Review of an MVC Framework based Software Development

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation

today 1,700 special programming languages used to communicate in over 700 application areas.

Client-server 3-tier N-tier

An Approach to Software Architecture Description Using UML

Lecture 9: Requirements Modelling

Development of Tool Extensions with MOFLON

A methodology for secure software design

Section C. Requirements Elicitation

Transforming PICTURE to BPMN 2.0 as Part of the Model-driven Development of Electronic Government Systems

Repository for Business Processes and Arbitrary Associated Metadata

Revel8or: Model Driven Capacity Planning Tool Suite

Koen Aers JBoss, a division of Red Hat jbpm GPD Lead

Ontology-based Archetype Interoperability and Management

Health Care Information System Standards

Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools

EMC Documentum Composer

UML Modelling of Automated Business Processes with a Mapping to BPEL4WS

Scenario-based Requirements Engineering and User-Interface Design

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

Instrumentation Software Profiling

Supporting in- and off-hospital Patient Management Using a Web-based Integrated Software Platform

Introduction à EMF Eclipse Modeling Framework

Software Requirements Specification of A University Class Scheduler

An Eclipse plug-in for Public Administration software system modelling and simulation

Selbo 2 an Environment for Creating Electronic Content in Software Engineering

This is an author-deposited version published in : Eprints ID : 15447

Language-Driven, Technology-Enhanced Instructional Systems Design

Transcription:

1028 e-health For Continuity of Care C. Lovis et al. (Eds.) 2014 European Federation for Medical Informatics and IOS Press. This article is published online with Open Access by IOS Press and distributed under the terms of the Creative Commons Attribution Non-Commercial License. doi:10.3233/978-1-61499-432-9-1028 Implementing reusable software components for SNOMED CT diagram and expression concept representations Balázs BÁNFAI a,1, Roland PORCIÓ a, Tibor KOVÁCS b a B2i Healthcare, Budapest, Hungary b Budapest University of Technology and Economics, Hungary Abstract. SNOMED CT is a vital component in the future of semantic interoperability in healthcare as it provides the meaning to EHRs via its semantically rich, controlled terminology. Communicating the concepts of this terminology to both humans and machines is crucial therefore formal guidelines for diagram and expression representations have been developed by the curators of SNOMED CT. This paper presents a novel, model-based approach to implementing these guidelines that allows simultaneous editing of a concept via both diagram and expression editors. The implemented extensible software component can be embedded both both desktop and web applications. Keywords. SNOMED CT, diagram representation, Compositional Grammar, software modelling, reusable implementation, Snow Owl Introduction SNOMED Clinical Terms (SNOMED CT) [1] is considered the most comprehensive, multilingual clinical healthcare terminology in the world. It is maintained by the International Health Terminology Standards Development Organization (IHTSDO) [1] with the primary purpose to ensure interoperability and to provide the semantics to an interoperable electronic health record. SNOMED CT can be characterized as a multilingual thesaurus with an ontological foundation structured as a multi-axial subtype hierarchy. The ontology is composed of rational statements in the form of Concept 1 - Relation - Concept 2 where multiple relation types can connect the concepts. Concept relationships can express hierarchical or other types of relationships enabling not only the hierarchical grouping of the related concepts but also logical reasoning via programmatic classification. As communicating the concepts of SNOMED CT is a very important aspect of the development of the terminology, IHTSDO has developed specifications for representing concepts both as diagrams [2] as well as textual expressions [3] defined by a formal compositional grammar. Both representations are meant to formalize communication while eliminating ambiguity; the diagrammatic representation is targeted for humans whereas the expression is designed primarily to be machine- 1 Corresponding Author: Balázs Bánfai, B2i Healthcare, Andrássy Ave. 35, 1061 Budapest, Hungary; E-mail: bbanfai@b2international.com

B. Bánfai et al. / SNOMED CT Diagram and Expression Concept Representations 1029 readable. In addition to conformance to the specifications, the authors aimed to satisfy the following requirements: Concepts simultaneously editable via the expression and diagram editors while keeping both representations in sync Editing possible both locally and remotely over the internet Support for concurrent modification in case of a distributed deployment Embeddable into both desktop and web applications Extensible to accommodate future extensions of the specifications or additional user requirements 1. Methods Each SNOMED CT concept encapsulates a unique clinical meaning, which is identified by a unique and immutable numeric identifier. Concept identifiers do not carry implicit meaning; the meaning of the concept is defined by its relationships to other concepts within the terminology. Each concept can have multiple human-readable descriptions including the unique and mandatory Fully Specified Name. For example: CONCEPT Concept ID 22298006 Fully Specified Name - Myocardial infarction (disorder) DESCRIPTIONS Preferred Term - Myocardial infarction Synonyms - Myocardial infarct, MI - Myocardial infarction, Infarction of heart, Cardiac infarction, Heart attack RELATIONSHIPS Myocardial infarction IS A Myocardial disease (disorder) Necrosis of anatomical site (disorder) Ischemic heart disease (disorder) The defining ATTRIBUTES are Associated morphology - Infarct (morphologic abnormality) Finding site - Myocardium structure (body structure) 1.1. SNOMED CT Compositional Grammar and Diagramming SNOMED CT concepts can be described as a SNOMED CT Compositional Grammar expression. The syntax of SNOMED CT Compositional Grammar [3] is specified in Augmented Backus-Naur Form (ABNF). A concept definition minimally consists of the concept identifier, optionally followed by a human-readable description of the concept. Multiple parentage is expressed by concatenating the parents using the plus sign and refinements to the concepts can be appended after a colon following the concept: 57809008 Myocardial disease + 414545008 Ischemic heart disease + 609410002 Necrosis of anatomical site : 116676008 Associated morphology = 55641003 Infarct, 363698007 Finding site = 74281007 Myocardium structure

1030 B. Bánfai et al. / SNOMED CT Diagram and Expression Concept Representations The diagramming guidelines define the graphical notation for representing a concept definition where the concept being defined is shown at the top left connected to a series of expressions via operators. It is allowed to omit the defined concept. Hollow arrows represent parentage by pointing to the parent concept, whereas other types of relationships are represented by a rounded rectangle between two regular arrows pointing from source to target. 1.2. Solution Approach The authors have selected the Eclipse Modeling Project as the technological foundation for implementing the Model-View-Controller (MVC) [4] pattern required by the editors. At the core of the Eclipse Modeling Project lies the Eclipse Modeling Framework (EMF) [5], a modeling framework and code generation facility built around its Ecore meta-model. Ecore is an implementation of the Object Management Group (OMG) Essential Meta-Object Facility (EMOF) standard [6]. Ecore models are extensible by definition and can either be built from scratch or generated from existing XML schemas, UML models, Xtext domain specific languages (DSLs) or annotated Java interfaces. Models described by Ecore have built-in support for reflective editing, change notification, validation and serialization. The authors have defined a common model as an Xtext DSL [7] by adopting the SNOMED CT Compositional Grammar syntax. Xtext then generates an EMF model for the DSL, which serves as the common target for both the diagram and expression editors. User modification of the diagram or textual expressions generates events that are caught by listeners. These listeners notify the editor to perform the necessary modifications on the model. Grammar changes are converted using an Xtext DSL Parser that is also responsible for validating the input. As long as the expression is invalid, the graphical editing is disabled. Notifications about model changes have been developed via EMF Adapters [5] that implement the Observer design pattern [4]. For creating the textual representation of the model, an Xtext Serializer is configured which is capable of converting the given model and formatting the output based on the grammar rules. Figure 1 shows the implemented architecture and the communication between the main components of the library. Figure 1. Editing and notification.

B. Bánfai et al. / SNOMED CT Diagram and Expression Concept Representations 1031 1.3. Desktop and Web Clients For desktop editing the authors have selected the Eclipse Graphical Editing Framework (GEF) [7] as it tightly integrates with EMF. The actual diagram elements have been developed as custom figures. For the expression entry the StyledText component was used. For the web editing the Vaadin framework [8] was selected. The framework is suitable for creating efficient and desktop-like applications and it supports the creation of customized Google Web Toolkit (GWT) [9] components. The textual editor is a customized RichTextArea widget, while the graphical editor implements the Canvas component. The client side (web browser) is responsible for the representation of the data and user event creation, while the server side handles the events from the client, updates the model based on the events, inform the editors if the model was changed and performs the model conversion and validation. 2. Results The implemented editors do not make assumptions whether the model has been accessed locally or remotely which makes it suitable for a standalone environment as well as for client-server architectures. Via the notification mechanism, both editors are kept in sync. Validation of the user modifications is carried out automatically and the errors are shown both in the expression and in a pop-up window. The invalid part of expression is highlighted and underlined with a red squiggle and error messages are shown in the lower right corner in a pop-up window. A demo web application is shown in Figure 2. In addition to the web application, the created desktop component was also embedded into Snow Owl [10] (Figure 3), a commercial medical ontology authoring solution. The selected concept in the left side concept navigator is visualized. The expressions or the diagrams can be exported or printed directly from both the web and desktop components. Figure 2. Component in a web application.

1032 B. Bánfai et al. / SNOMED CT Diagram and Expression Concept Representations 3. Discussion Figure 3. Desktop component embedded in a commercial application. Java components have been implemented to simultaneously view and edit SNOMED CT concepts both as a diagram and as an expression. The solution conforms to the relevant IHTSDO specifications. The heavily utilized Eclipse modeling software libraries proved to be an excellent choice to fulfill the requirements as the implemented common EMF model supports concurrent editing, change notification, validation and serialization. The Java library developed can be embedded both into desktop as well as into web applications. The introduced approach and the developed model can also be extended to accommodate future requirements of the evolving standards. The authors are not aware of any implementation at present that conforms to the formal specifications published by IHTSDO while fulfilling the non-functional requirements stated in this document. References [1] International Health Terminology Standards Development Organization [Internet]. Welcome to IHTSDO. IHTSDO; [updated 2014 Jan 20; cited 2014 Jan 21]. Available from: http://www.ihtsdo.org [2] International Health Terminology Standards Development Organization [Internet]. SNOMED CT Diagramming Guideline. IHTSDO; [cited 2014 Jan 21]. Available from: http://www.ihtsdo.org [3] International Health Terminology Standards Development Organization [Internet]. SNOMED CT Technical Implementation Guide. IHTSDO; [cited 2014 Jan 21]. Available from: http://www.ihtsdo.org [4] Gamma E, Helm R, Johnson R, Vlissides J. Design Patterns: Elements of Reusable Object-Oriented Software. Boston: Pearson Education; 1994. [5] Steinberg D, Budinsky F, Paternostro M, Merks E. EMF - Eclipse Modeling Framework. 2nd ed. New Jersey: Pearson Education; 2008. [6] Object Management Group [Internet]. OMG s MetaObject Facility. OMG; [updated 2014 Jan 09; cited 2014 Jan 20]. Available from: http://www.omg.org/mof/ [7] Gronback RC. Eclipse Modeling Project A Domain-Specific Language (DSL) Toolkit. New Jersey: Pearson Education; 2009. [8] Holan J, Kvasnovsky O. Vaadin 7 Cookbook. Birmingham: Packt Publishing Ltd; 2013. [9] Google [Internet]. Google Web Toolkit Project. Google; [updated 2014 Jan 14; cited 2014 Jan 20]. Available from: http://www.gwtproject.org [10] B2i Healthcare Ltd [Internet]. Snow Owl Terminology Authoring Tool. B2i Healthcare Ltd; [updated 2013 Sep 17; cited 2014 Jan 21]. Available from: http://www.b2international.com/portal/snow-owl