• No results found

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
5
0
0

Loading.... (view fulltext now)

Full text

(1)

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 aB2i Healthcare, Budapest, Hungary

bBudapest 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

Concept1 - Relation - Concept2 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

1 Corresponding Author: Balázs Bánfai, B2i Healthcare, Andrássy Ave. 35, 1061 Budapest, Hungary;

E-mail: [email protected]

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

(2)

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|

(3)

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.

(4)

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.

(5)

Figure 3. Desktop component embedded in a commercial application.

3.Discussion

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

Figure

Figure 1. Editing and notification.
Figure 2. Component in a web application.
Figure 3. Desktop component embedded in a commercial application.

References

Related documents

The project description will also describe the tiering process that is set forth in CEQA Guidelines Section 15152 and identify the topical areas that will tier-off the analysis

Evidenciando, contudo, que o processo metafórico não sendo um processo apenas linguístico é um processo normal do funcionamento da cognição humana que as línguas também espelham,

This variation can lead to the development and implementation of prescribed flow regimes, including flushing flows to preserve river morphology and minimum flow releases, or

In particular, when a contract allows multiple currencies as eligible collateral as well as its free replacement, the paper has found that the embedded ”cheapest-to- deliver” option

We started with erakas that are and are not potatoes; followed with the butchering process that allowed the existing of edible meat; serums and pancheras that are flows

In dealing with those problems, the researcher interested in using cooperative learning (Team Pair Solo) as the technique in teaching reading to improve

The numerical results for the assessment of the SCR's global response at the critical point in the TDZ are presented, so that the seabed is modeled using a linear seabed

predominant means by which clouds form, cloud development is capped at the TWI level •   As a result, relatively thin clouds. produce less precipitation when TWI