JACIII Vol.16 No.1 pp. 42-47
doi: 10.20965/jaciii.2012.p0042


Ruby Implementation of the OpenEHR Specifications

Shinji Kobayashi* and Akimichi Tatsukawa**

*Department of Bioregulatory Medicine, Graduate School of Medicine, Ehime University, Shitsukawa, To-on city, Ehime 791-0295, Japan

**Department of Medical Informatics and Economics, Graduate School of Medicine, The University of Tokyo, Hongo 7-chome, Tokyo 113-8655, Japan

June 24, 2011
October 12, 2011
January 20, 2012
electronic health records, openEHR, ISO/CEN 13606, Ruby, open-source software

The openEHR project has developed specifications for future-proof interoperable Electronic Health Record (EHR) systems [1]. This project provides the specifications and implementation on which the ISO/CEN 13606 standards are based. The implementation has been formally described in Eiffel, C# and Java, but not in scripting languages (which are popular because of their higher efficiency and faster development). We have used the Ruby language to implement the openEHR specifications for the efficient development of new healthcare computing environments, and to investigate the universal applicability of these specifications. Our Ruby implementation covers almost all of the specifications and the Archetype Definition Language parser, and although some problems have emerged, most of them have been resolved. We are attempting to apply this platform to Ruby on Rails to obtain a rapid development environment for an EHR system.

Cite this article as:
Shinji Kobayashi and Akimichi Tatsukawa, “Ruby Implementation of the OpenEHR Specifications,” J. Adv. Comput. Intell. Intell. Inform., Vol.16, No.1, pp. 42-47, 2012.
Data files:
  1. [1] The openEHR Foundation. “The openEHR project,” 1998.
  2. [2] T. Beale, “Archetypes: constraint-based domain models for futureproof information systems,” In In the Eleventh OOPSLAWorkshop on Behavioural Semantics, 2002.
  3. [3] R. Chen and G. Klein, “The openEHR Java Reference Implementation Project,” Stud Health Technol Inform., Vol.129, No.1, pp. 58-62, 2007.
  4. [4] TIOBE Software, “TIOBE Programming Community Index.” tpci/index.html
  5. [5] Y. Matsumoto. “Ruby Programming Language,” 1993.
  6. [6] D. Thomas, D. H. Hansson, and L. Breedt, “Agile Web Development with Rails,” Pragmatic Bookshelf, 2005.
  7. [7] D. Thomas, “Creating a weblog in 15 minutes with Rails 2.”
  8. [8] B. Ford, “Packrat parsing: simple, powerful, lazy, linear ti functional pearl,” SIGPLAN Not., Vol.37, pp. 36-47, September 2002.
  9. [9] T. Beale, S. Heard, D. Kalra, and D. Lloyd. “The openEHR Architecture, Support Terminology,” 2008.
  10. [10] J. Maldonado, D. Moner, D. Boscá, J. Fernández-Breis, C. Angulo, and R. Robles, “A multi-reference model archetype editor based on formal semantics,” Int. J. of Medical Informatics, Vol.78, No.8, pp. 559-570, 2009.
  11. [11] T. Beale, “Archetype definition languagem,” 2007.
  12. [12] A. V. Aho and J. D. Ullman, “Compilers: Principles, Techniques, and Tools,” Addison-Wesley, 1986.
  13. [13] A. D. Corlan, “Programming language benchmarks.”
  14. [14] B. Fulgham, “Computer Language Benchmarks Game.”
  15. [15] R. Fielding, “Architectural Styles and the Design of Network-based Software Architectures,” Ph.D. thesis, University of California, Irvine, 2000.
  16. [16] E. Truyen, W. Joosen, B. Jrgensen, and P. Verbaeten, “A Generalization and Solution to the Common Ancestor Dilemma Problem in Delegation-Based Object, Systems,” In Proc. of the 2004 Dynamic Aspects Workshop 2004, pp. 103-119, 2004.
  17. [17] J. Bloch, “Effective Java second edition,” Pearson Education, 2008.
  18. [18] B. Pierce, “Types and Programming Languages,” MIT Press, 2002.

*This site is desgined based on HTML5 and CSS3 for modern browsers, e.g. Chrome, Firefox, Safari, Edge, Opera.

Last updated on Mar. 01, 2021