Design and Implementation of Clinical Databases with openEHR (tutorial)

Pablo Pazos Gutiérreza, Koray Atalagb, Luis Marco-Ruizc, Erik Sundvalld,eSérgio Miranda Freiref

a openEHR en Español, Asociación Chilena de Informática en Salud, CaboLabs

bThe University of Auckland, New Zealand

c Norwegian Centre for Integrated Care and Telemedicine, University Hospital of North Norway

dLinköping University, Sweden eRegion Östergötland, Sweden

fState University of Rio de Janeiro, Brazil

 

 

Abstract

Databases for Clinical Information Systems are difficult to design and implement, especially when the design involves the implementation of a formal specification or standard. The openEHR specifications offer a very expressive and generic model for clinical data structures, allowing semantic interoperability and compatibility with other standards like HL7 CDA, FHIR, and ASTM CCR. But openEHR is not only for data modeling, it specifies an EHR Computational Platform designed to create highly modifiable future-proof EHR systems, and to support long term economically viable projects, with a knowledge-oriented approach that is independent from specific technologies. Software Developers find a great complexity in designing openEHR compliant databases since the specifications do not include any guidelines in that area. The authors of this tutorial are developers that have overcome these complexities. This tutorial will expose different requirements, design principles, technologies and techniques. The tutorial will also explain the main challenges of implementing an openEHR-based Clinical Database with  examples and lessons learned to help designers and developers to overcome those challenges.

Keywords:

Electronic Health Record; Clinical Database Design; openEHR; Clinical Information Systems; EHR.

 

Tutorial Description

The main motivation for this tutorial is to help bridge the gap between the openEHR formal specifications and concrete database implementation. This tutorial is a good fit for the Medinfo 2015 conference because a) openEHR is an EHR standard adopted by the Brazilian government and by other countries [1], b) it is gaining momentum within the Latin America eHealth community because of the dissemination and training activities created by the openEHR 'en Español' community [2]), and c) it is supported by ACHISA(? expand acronym).

This tutorial will expose the key challenges software developers have when designing and implementing Clinical Databases for Clinical Information Systems, including EHR data requirements, data organization, use, modification and evolution. Next, the tutorial will be centered on using the openEHR specifications [3] to tackle some of those challenges, adding further complexities to the database design and implementation. The rest of the tutorial focus on giving proven solutions and lessons learned to create openEHR-based Clinical Databases.

We'll not only cover clinical data storage, but how to query the data and use it for healthcare (documentation, order management, Clinical Decision Support, healthcare plan follow-up for chronic diseases and other conditions, etc.) and secondary uses (clinical research, education, public health, quality assurance, and complying with medico-legal requirements).

The main content of the tutorial will include an overview of different technologies (relational, document-oriented, key/value) and techniques to actually design and implement openEHR-based databases, including lessons learned from implementation experiences and good practices that may help to tackle implementation problems. We'll overview the key concepts of the openEHR specifications that affect database design (EHR, Folder, Composition, Entry, Item Structure, Data Value) and the openEHR dual-model (information + archetypes). This will help attendees to understand how to design Clinical Databases to create systems that provide services for storing health records and query those records in the “openEHR way”, by creating queries that use clinical concept definitions (Archetypes) instead of relying on a specific database technology (SQL, XQuery, JSON-based queries, OO queries, etc.), making queries a generic, reusable and shareable artifact between implementations.

We'll explain how to implement some functional requirements related to health record versioning (to support modifications, amendments and corrections at the database level), clinical data validation and indexing to improve query performance.

We will end with the conclusions about the different approaches to Clinical openEHR Database design and implementation.

During the tutorial, audience participation and discussion will be encouraged.

Tutorial Structure

This tutorial will be organized by the following structure, that is based on the openEHR Clinical Database Design and Implementation course content [4].

Introduction

  • Requirements for data access

-      EHR purposes from ISO 18308 [5], guiding different uses of clinical data in healthcare (primary and secondary uses).

-      Information System classification by data-base uses (write-oriented, read-oriented, read/write-oriented).

-      Organization and access to clinical informa-tion (chronologic, by health problem, by medical specialty, by logical or physical lo-cation, by episode).

  • Requirements for data structures

-      Paper-based health record structure analysis.

-      Minimal EHR content from ISO 18308.

-      Clinical records organization and main enti-ties from the openEHR Information Model (Free text vs. semi-structure vs. fully structured clinical records, support for different data types and temporal series, times in the EHR).

  • Requirements for EHR audit.
  • Design principles for openEHR databases

-      Introduction to Archetypes and Operational Templates (big archetypes).

-      Data and metadata in the database.

-      Generic data storage and data query design using openEHR Archetypes and Information Model.

-      OpenEHR Information Model details (com-positions, sections, entries, structures, items, data values).

 

Technologies and Techniques

  • Different kinds of database management systems (re-lational, document-oriented, object-oriented, key/value, graphs, multidimensional, etc.)
  • The Object-Relational Mapping technique

-      Mapping classes, relationships and inheri-tance for an OO model into a relational da-tabase.

-      Database schema generation techniques and normal forms.

-      Examples of implementation.

  • openEHR data in XML and JSON

-      Communication and storage of XML and JSON documents.

-      Tools to work with XML and JSON.

-      Examples of implementation.

  • Working with openEHR Archetypes in software

-      Introduction to the Archetype Definition Language (ADL).

-      Parsing and using archetypes for data valida-tion and terminology extraction.

 

Advanced concepts

  • EHR change control and versioning, implementation at the database level.
  • Data indexing and performance.
  • Synchronization / Replication for high availability and backup.
  • System integration and the Extraction-Transformation-Loading (ETL) process using openEHR.

 

Specific educational goals

The main goal of this tutorial is to narrow the gap between the openEHR specifications and real world Clinical Database design and implementation for software developers.

Secondary goals include: sharing experiences and lessons learned, enabling discussion about Clinical Database implementation (a topic that is not discussed or taught often enough), and spreading the use of eHealth standards at the database level on Clinical Information System development.

Expected outcomes

After the tutorial, we expect attendees to have a better understanding of the openEHR specifications and scope, to know the main requirements of clinical data structures and database technologies that meet those requierments. Also to learn techniques and good practices that can be used to create different kinds of openEHR-compliant clinical data repositories.

Expected Attendees

Software Developers, Database Managers, Software Architects, Technical Leaders, Decision Support Specialists, and Business Intelligence Experts, participating in healthcare informatics projects or planning to.

 

Tutorial Speakers

Pablo Pazos Gutiérrez, Ingeniero en Computación, UdelaR,Montevideo,Uruguay.

Clinical Informatics Consultant at CaboLabs Medical Informatics and Standards, Lecturer at Chilean Association of Healthcare Informatics (ACHISA), Coordinator at the openEHR-ES community, Qualified member of the openEHR Foundation - Localization Programme Member for LatAm.

Luis Marco-Ruiz, M.Sc.; Norwegian Center for Integrated Care and Telemedicine, University Hospital of North Norway; Department of Clinical Medicine, Faculty of Health Sciences, University of Tromsø; Qualified member of the openEHR Foundation; Tromsø, Norway

Koray Atalag, MD, PhD, FACHI: Senior Research Fellow in Biomedical Informatics at Auckland Bioengineering Institute and National Institute for Health Innovation at the University of Auckland, New Zealand; openEHR Localisation Programme Leader

Erik Sundvall, MSc, PhD - Researcher, Department of Biomedical Engineering, Linköping University and information architect in Region Östergötland, Sweden. Erik coordinates the openEHR software program: http://openehr.org/programs/software/

Sergio Miranda Freire, DSc, Associate Professor, Departament of Health Information Technology Education, State University of Rio de Janeiro, Brazil

Sergio and Erik have research interests in scalability and storage solutions for archetype-based EHR systems and have been testing and evaluating different noSQL storage and query approaches for openEHR data.

 

References

[1]   Who is using openEHR? http://www.openehr.org/who_is_using_openehr/healthcare_providers_and_authorities

[2]   Comunidad de openEHR en Español http://openehr.org.es

[3]   openEHR Specifications, openEHR Foundation. http://openehr.org/programs/specification/releases/1.0.2

[4]   Curso de Diseño e Implementación de Bases de Datos Clínicas con openEHR, edición 2014, Asociación Chilena de Informática en Salud (ACHISA).

[5]   ISO/TC 215, ISO 18308: Health informatics – Requirements for an electronic health record architecture.