Healthc Inform Res.  2013 Dec;19(4):271-277. 10.4258/hir.2013.19.4.271.

Archetype Model-Driven Development Framework for EHR Web System

Affiliations
  • 1Department of Bioreguratory Medicine, Graduate School of Ehime University, Ehime, Japan. skoba@moss.gr.jp
  • 2Department of Medical Informatics, Graduate School of Ehime University, Ehime, Japan.

Abstract


OBJECTIVES
This article describes the Web application framework for Electronic Health Records (EHRs) we have developed to reduce construction costs for EHR sytems.
METHODS
The openEHR project has developed clinical model driven architecture for future-proof interoperable EHR systems. This project provides the specifications to standardize clinical domain model implementations, upon which the ISO/CEN 13606 standards are based. The reference implementation has been formally described in Eiffel. Moreover C# and Java implementations have been developed as reference. While scripting languages had been more popular because of their higher efficiency and faster development in recent years, they had not been involved in the openEHR implementations. From 2007, we have used the Ruby language and Ruby on Rails (RoR) as an agile development platform to implement EHR systems, which is in conformity with the openEHR specifications.
RESULTS
We implemented almost all of the specifications, the Archetype Definition Language parser, and RoR scaffold generator from archetype. Although some problems have emerged, most of them have been resolved.
CONCLUSIONS
We have provided an agile EHR Web framework, which can build up Web systems from archetype models using RoR. The feasibility of the archetype model to provide semantic interoperability of EHRs has been demonstrated and we have verified that that it is suitable for the construction of EHR systems.

Keyword

Electronic Health Records; Internet; Computing Methodologies; Automatic Data Processing

MeSH Terms

Automatic Data Processing
Computing Methodologies
Electronic Health Records
Indonesia
Internet
Semantics

Figure

  • Figure 1 Archetype Definition Language (ADL) parser performance test comparing the Ruby and Java implementations. The Ruby parser requires more CPU time than the Java parser.

  • Figure 2 Example of a Ruby mix-in of the DATE_TIME class in the Assumed Types Library.

  • Figure 3 Sample circular import code in Java. Class A imports Class B and Class B imports Class A circularly.

  • Figure 4 Sample noncircular import code in Ruby. After class A requires class B, both classes are loaded in memory. In this situation, even if class A is required by class B, Ruby does not load class A again.


Reference

1. Beale T. Archetypes: constraint-based domain models for future-proof information systems. In : Proceedings of the 11th OOPSLA Workshop on Behavioral Semantics: Serving the Customer; 2002 Nov 4; Seattle, WA. p. 16–32.
2. Chen R, Klein G. The openEHR Java reference implementation project. Stud Health Technol Inform. 2007; 129(Pt 1):58–62.
3. TIOBE Software. TIOBE Programming Community Index [Internet]. Eindhoven, The Netherlands: TIOBE Software;c2013. cited at 2013 Oct 2. Available from: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html.
4. Matsumoto Y. Ruby programming language [Internet]. [place unknown]: [publisher unknown];c1993. cited at 2013 Oct 2. Available from: https://www.ruby-lang.org/en/.
5. Thomas D, Hansson DH, Breedt L. Agile Web development with Rails. Raleigh (NC): Pragmatic Bookshelf;2005.
6. Hansson DH. How to build a blog engine in 15 minutes with Ruby on Rails [Internet]. [place unknown]: [publisher unknown];2005. cited at 2013 Oct 1. Available from: http://www.youtube.com/watch?v=Gzj723LkRJY.
7. Bryan Ford B. Packrat parsing: simple, powerful, lazy, linear time, functional pearl. ACM SIGPLAN Not. 2002; 37(9):36–47.
8. International Organization for Standardization. Health Informatics: electronic health record communication. Part I. Reference model. Geneva, Switzerland: International Organization for Standardization;2008. (ISO 13606-1:2008).
9. BealeT. HeardS. Archetype Definition Language [Internet]. London: The openEHR Foundation;2007. cited at 2013 Sep 10. Available from: http://www.openehr.org/releases/1.0.1/architecture/am/adl.pdf.
10. Aho AV, Sethi R, Ullman JD. Compilers, principles, techniques, and tools. Reading (MA): Addison-Wesley;1986.
11. Corlan AD. Programming language benchmarks [Internet]. [place unknown]: [publisher unknown];c2013. cited 2013 Oct 3. Available from: http://dan.corlan.net/bench.html.
12. Fulgham B. The computer language benchmarks game [Internet]. [place unknown]: [publisher unknown];c2013. cited 2013 Oct 3. Available from: http://shootout.alioth.debian.org/.
13. Costa CM, Menarguez-Tortosa M, Fernandez-Breis JT. Clinical data interoperability based on archetype transformation. J Biomed Inform. 2011; 44(5):869–880.
Article
14. Marcos M, Maldonado JA, Martinez-Salvador B, Bosca D, Robles M. Interoperability of clinical decision-support systems and electronic health records using archetypes: a case study in clinical trial eligibility. J Biomed Inform. 2013; 46(4):676–689.
Article
15. Truyen E, Joosen W, Jorgensen BN, Verbaeten P. A generalization and solution to the common ancestor dilemma problem in delegation-based object systems. In : Proceedings of the 2004 Dynamic Aspects Workshop; 2004 Mar 23; Lancaster, UK. p. 103–119.
16. Bloch J. Effective Java. 2nd ed. Reading (MA): Addison-Wesley;2008.
17. Pierce BC. Types and programming languages. Cambridge (MA): MIT Press;2002.
Full Text Links
  • HIR
Actions
Cited
CITED
export Copy
Close
Share
  • Twitter
  • Facebook
Similar articles
Copyright © 2024 by Korean Association of Medical Journal Editors. All rights reserved.     E-mail: koreamed@kamje.or.kr