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.
Buy single article
Instant access to the full article PDF.
Price includes VAT for USA
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
Dolin RH, Alschuler L (2011) Approaching semantic interoperability in health level seven. J Am Med Inform Assoc 18(1):99–103
Dolin RH et al (2006) HL7 clinical document architecture, release 2. J Am Med Inform Assoc 13(1):30–39
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
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
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
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
Abou-Saleh F, Cheney J, Gibbons J, McKinna J, Stevens P (2018) “Introduction to bidirectional transformations,” in Bidirectional Transformations. Springer, Cham, pp 1–28
Cleve A, Kindler E, Stevens P, Zaytsev V (2019) Multidirectional transformations and synchronizations. Dagstuhl Rep 8(12):1–43
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
Gibbons J, Stevens P (2018) Eds., Bidirectional transformations: International Summer School, Oxford, UK, July 25–29, 2016, Tutorial Lectures. Springer International Publishing
Stevens P (2010) Bidirectional model transformations in QVT: semantic issues and open questions. Softw Syst Model 9(1):7
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
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
Hildebrandt S et al (2013) A survey of triple graph grammar tools. Electron Commun EASST 57
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
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
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
Zan (2017) BiFluX: a bidirectional functional update language for XML. Inf Media Technol 12:1–23
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
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
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
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
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
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
Ruttan J (2012) “OSCAR,” in The Architecture of Open Source Applications, vol. Volume II: Structure, Scale and a Few More Fearless Hacks
Fyfe J (2013) Advanced Everest - Developer’s handbook. Lulu.com
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
Schürr A (1995) “Specification of graph translators with triple graph grammars,” in Graph-Theoretic Concepts in Computer Science, pp 151–163
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
Bahga A, Madisetti VK (2015) Healthcare data integration and informatics in the cloud. Computer 48(2):50–57
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
The presented research has been funded in part by the Natural Science and Engineering Research Council of Canada (NSERC).
Conflict of Interest
The authors declare that they have no conflict of interest.
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
About this article
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). https://doi.org/10.1007/s41666-019-00065-0
- Software engineering
- Health information systems
- Electronic medical record
- Bidirectional transformations