Applying Bidirectional Transformations to the Design of Interoperable EMR Systems


Interoperability between heterogeneous health information systems has remained an elusive goal despite decades of exchange standards development and implementation initiatives. Empirical studies have shown that in many cases, implemented interoperability interfaces fail to function correctly. Unfortunately, the health informatics literature provides little guidance on how to best design and assure interoperability interfaces. Still, healthcare is not the only industry that requires the exchange of highly complex semantic data structures. Similar requirements can be observed in the engineering industry, where complex data models maintained by various types of development tools and environments must be synchronized over a product’s life cycle. Research on how to best address this challenge has led to the development of the concept of bidirectional transformations (BX) and associated design theories, methods, and tools. While BX approaches have received little attention in e-Health interoperability applications to date, we believe that they can also facilitate the implementation and assurance of interoperability in that domain. In this paper, we cast the health information exchange (HIE) challenge as a BX problem, review applicable BX theories, and discuss their practical applications from the perspective of software engineers who are tasked with constructing and assuring bidirectional interoperability interfaces for health information systems. We further design a proof-of-concept interoperability interface using BX design methods in the context of a real-world interoperability standard initiative. We compare the new BX-based interoperability interface with a preexisting, conventionally designed implementation. We find that the BX design offers similar runtime performance while providing improved maintainability, testability, and modularity.

This is a preview of subscription content, log in to check access.

Fig. 1
Fig. 2
Fig. 3


  1. 1.

    Kuperman GJ (2011) Health-information exchange: why are we doing it, and what are we doing? J Am Med Inform Assoc 18(5):678–682

    Article  Google Scholar 

  2. 2.

    Dolin RH, Alschuler L (2011) Approaching semantic interoperability in health level seven. J Am Med Inform Assoc 18(1):99–103

    Article  Google Scholar 

  3. 3.

    Dolin RH et al (2006) HL7 clinical document architecture, release 2. J Am Med Inform Assoc 13(1):30–39

    Article  Google Scholar 

  4. 4.

    D’Amore JD et al (2014) Are meaningful use stage 2 certified EHRs ready for interoperability? Findings from the SMART C-CDA collaborative. J Am Med Inform Assoc 21(6):1060–1068

    Article  Google Scholar 

  5. 5.

    Toffanello A, Gonçalves R, Kitajima A, Puttini R, Aguiar A (2017) An architecture for semantically interoperable electronic health records. Stud Health Technol Inform 245:235–239

    Google Scholar 

  6. 6.

    Botts N et al (2014) Data quality and interoperability challenges for eHealth exchange participants: observations from the Department of Veterans Affairs’ virtual lifetime electronic record health pilot phase. AMIA Annu Symp Proc 2014:307–314

    Google Scholar 

  7. 7.

    Czarnecki K, Foster JN, Hu Z, Lämmel R, Schürr A, Terwilliger JF (2009) “Bidirectional transformations: a cross-discipline perspective,” in Proceedings of the 2Nd International Conference on Theory and Practice of Model Transformations, Berlin, Heidelberg, pp. 260–283

  8. 8.

    Abou-Saleh F, Cheney J, Gibbons J, McKinna J, Stevens P (2018) “Introduction to bidirectional transformations,” in Bidirectional Transformations. Springer, Cham, pp 1–28

    Google Scholar 

  9. 9.

    Cleve A, Kindler E, Stevens P, Zaytsev V (2019) Multidirectional transformations and synchronizations. Dagstuhl Rep 8(12):1–43

    Google Scholar 

  10. 10.

    Hermann F et al (2014) “Triple graph grammars in the large for translating satellite procedures,” in Theory and Practice of Model Transformations, pp 122–137

  11. 11.

    Gibbons J, Stevens P (2018) Eds., Bidirectional transformations: International Summer School, Oxford, UK, July 25–29, 2016, Tutorial Lectures. Springer International Publishing

  12. 12.

    Stevens P (2010) Bidirectional model transformations in QVT: semantic issues and open questions. Softw Syst Model 9(1):7

    Article  Google Scholar 

  13. 13.

    Bohannon A, Pierce BC, Vaughan JA (2006) “Relational Lenses: a Language for updatable views,” in Proceedings of the Twenty-fifth ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems, New York, pp 338–347

  14. 14.

    Schürr A, Klar F (2008) 15 years of triple graph grammars. In: Ehrig H, Heckel R, Rozenberg G, Taentzer G (eds) Graph transformations. Berlin Heidelberg, Springer, pp 411–425

    Google Scholar 

  15. 15.

    Hildebrandt S et al (2013) A survey of triple graph grammar tools. Electron Commun EASST 57

  16. 16.

    Foster JN, Pilkiewicz A, Pierce BC (2008) “Quotient lenses,” in Proceedings of the 13th ACM SIGPLAN international conference on Functional programming, New York, pp 383–396

  17. 17.

    Bohannon A, Foster JN, Pierce BC, Pilkiewicz A, Schmitt A (2008) “Boomerang: resourceful lenses for string data,” in Proceedings of the 35th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, New York, NY, USA, pp 407–419

  18. 18.

    Ko H-S, Zan T, Hu Z (2016) “BiGUL: a formally verified core language for putback-based bidirectional programming,” in Proceedings of the 2016 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, New York, pp 61–72

  19. 19.

    Zan (2017) BiFluX: a bidirectional functional update language for XML. Inf Media Technol 12:1–23

  20. 20.

    Ho J, Weber J, Price M (2017) “BXE2E: A bidirectional transformation approach for medical record exchange,” in Theory and Practice of Model Transformation, pp 155–170

  21. 21.

    Hofmann M, Pierce B, Wagner D (2011) “Symmetric lenses,” in Proceedings of the 38th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, New York, pp 371–384

  22. 22.

    Batot E, Sahraoui H, Syriani E, Molins P, Sboui W (2016) “Systematic mapping study of model transformations for concrete problems,” in 2016 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD), pp 176–183

  23. 23.

    Giese H, Hildebrandt S, Neumann S, Wätzold S (2012) Industrial case study on the integration of SysML and AUTOSAR with triple graph grammars. Universitätsverlag Potsdam

  24. 24.

    Terwilliger JF (2013) Bidirectional by necessity: data persistence and adaptability for evolving application development. In: Lämmel R, Saraiva J, Visser J (eds) Generative and transformational techniques in software engineering IV. Berlin Heidelberg, Springer, pp 219–270

    Google Scholar 

  25. 25.

    Beine M, Hames N, Weber JH, Cleve A (2014) “Bidirectional transformations in database evolution: a case study ‘at scale,’” in 17th International Conference on Extending Database Technology (EDBT), Athens, Greece, p 8

  26. 26.

    Ruttan J (2012) “OSCAR,” in The Architecture of Open Source Applications, vol. Volume II: Structure, Scale and a Few More Fearless Hacks

  27. 27.

    Fyfe J (2013) Advanced Everest - Developer’s handbook.

  28. 28.

    Anjorin A, Leblebici E, Kluge R, Schuerr A, Stevens P (2015) “A systematic approach and guidelines to developing a triple graph grammar,” in CEUR Workshop Proceedings, vol. 1396

  29. 29.

    Schürr A (1995) “Specification of graph translators with triple graph grammars,” in Graph-Theoretic Concepts in Computer Science, pp 151–163

  30. 30.

    Klar F, Lauder M, Königs A, Schürr A (2010) Extended triple graph grammars with efficient and compatible graph translators. In: Engels G, Lewerentz C, Schäfer W, Schürr A, Westfechtel B (eds) Graph Transformations and Model-Driven Engineering: Essays Dedicated to Manfred Nagl on the Occasion of his 65th Birthday. Springer Berlin Heidelberg, Berlin, Heidelberg, pp 141–174

    Google Scholar 

  31. 31.

    Bahga A, Madisetti VK (2015) Healthcare data integration and informatics in the cloud. Computer 48(2):50–57

    Article  Google Scholar 

  32. 32.

    Schloeffel P, Beale T, Hayworth G, Heard S, Leslie H (2006) “The Relationship between CEN 13606, HL7, and OpenEHR,” HIC 2006 HINZ 2006 Proc., p 24

Download references


The presented research has been funded in part by the Natural Science and Engineering Research Council of Canada (NSERC).

Author information



Corresponding author

Correspondence to Jens H. Weber.

Ethics declarations

Conflict of Interest

The authors declare that they have no conflict of interest.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Weber, J.H., Ho, J. Applying Bidirectional Transformations to the Design of Interoperable EMR Systems. J Healthc Inform Res 4, 138–150 (2020).

Download citation


  • Interoperability
  • Software engineering
  • Health information systems
  • Electronic medical record
  • Bidirectional transformations