Abstract
Motivation: Systems interoperability is a key challenge in providing continuity of care to all patients. The challenge is addressed with information standards and new approaches to systems integration based on service-oriented architectures. Model-driven development promise utilities that are suitable for software service development in the healthcare domain, but development tools are still immature and their industry uptake is low. The knowledge about how model-driven development tools can become more useful to the healthcare software developers should be strengthened. Approach: This paper presents the ModelHealth toolchain that was created in four design/assess cycles, involving 28 students and 41 professional developers in the period 2007–2010. The toolchain provides design assistance for creating software services based on concepts from the CEN-13940 standard for continuity of care, which facilitates development of interoperable software services. Results: The CEN-13940 standard was successfully incorporated into the ModelHealth Toolchain assisting developers in creating software service design models that adhered to the standard. The developers expressed that improved understanding of the target system, documentation generation, and artifact traceability were essential utilities of the model-driven approach. Conclusion: The paper concludes healthcare domain knowledge can be successfully incorporated in a model-driven development toolchain, providing valuable input to the healthcare software service design process. A set of recommendations on how to incorporate domain specific concepts into model-driven development tools is provided. To our knowledge, no other scientific publications have reported from healthcare specific model-driven tool design and evaluations. Our recommendations extend and nuance existing knowledge on model-driven development tooling in general.
Similar content being viewed by others
Notes
CEN TC 251 website: http://www.centc251.org.
Danish Medcom—The good webservice: http://www.medcom.dk/wm110731.
universAAL website: http://www.universaal.org.
Sys-Con website: http://tv.sys-con.com/node/171304.
TAMS Analyzer for Mac website: http://tamsys.sourceforge.net/.
2–4 attendees in the back of the room left during the presentation.
Open Health Tools (OHF) website: http://www.openhealthtools.org.
References
Aizenbud-Reshef, N., Nolan, B.T., Rubin, J., Shaham-Gafni, Y.: Model traceability. IBM Syst. J. 45(3), 515–526 (2006)
Cao, L., Ramesh, B., Rossi, M.: Are domain-specific models easier to maintain than UML models? IEEE Softw. 26(4), 19–21 (2009)
Carver, J., Jaccheri, L., Morasca, S., Shull, F.: Issues in using students in empirical studies in software engineering education. Paper presented at the Proceedings of the 9th International Symposium on Software Metrics (2003)
CEN TC251: EN 13606-1-4: health informatics—electronic healthcare record communication Part 1–4. European Committee for Standardization (2000)
CEN TC251: EN 13940-1: health informatics—system of concepts to support continuity of care—Part 1: basic concepts, p. 105. European Committee for Standardization (2006)
Ericsson, K.A., Simon, H.A.: Protocol Analysis: Verbal Reports as Data (1985)
Erl, T.: Service-Oriented Architecture Concepts, Technology, and Design. The Prentice Hall Service-Oriented Computing Series. Prentice Hall, Crawfordswille (2006)
European Commission: Commission recommendation of 2 July 2008 on cross-border interoperability of electronic health record systems (notified under document number C(2008) 3282), vol. 32008H0594 (2008)
European Commission: ICT Challenge 5: ICT for health, ageing well, inclusion and governance. http://cordis.europa.eu/fp7/ict/programme/challenge5_en.html (2011). Accessed 10 June 2011
Fister, I. Jr, Fister, I., Mernik, M., Brest, J.: Design and implementation of domain-specific language easytime. Comput. Lang., Syst. Struct. (2011)
Fowler, M.: Domain Specific Languages (2010)
Fowler, M.: UML modes. http://www.martinfowler.com/bliki/UmlMode.html (2003). Accessed 1 September 2012
France, R., Rumpe, B.: Model-driven development of complex software: a research roadmap. Paper presented at the 2007 Future of Software Engineering (2007)
Fuentes-Fernández, L., Vallecillo-Moreno, A.: An introduction to UML profiles. UML Model Eng. 5(1) (2004)
Glass, R.L.: The loyal opposition—on design. IEEE Softw. 16(2), 103–104 (1999)
Grimson, J., Grimson, W., Hasselbring, W.: The SI challenge in health care. Commun. ACM 43(6), 48–55 (2000)
Haggerty, J., Reid, R., Freeman, G., Starfield, B., Adair, C., McKendry, R.: Continuity of care: a multidisciplinary review. Br. Med. J. 327(7425), 1219 (2003)
Hailpern, B., Tarr, P.: Model-driven development: the good, the bad, and the ugly. IBM Syst. J. 45(3), 451–461 (2006)
Hevner, A.R.: A three cycle view of design science research. Scand. J. Inf. Syst. 19(2) (2007)
Hevner, A.R., March, S.T., Park, J., Ram, S.: Design science in information systems research. Manag. Inf. Syst. Q. 28(1), 75–105 (2004)
HL7: Health Level Seven (HL7). http://www.hl7.org. Accessed 17 August 2009
Honey, A., Lund, B.: Service oriented architecture and HL7 v3: methodology. In: HL7 Service Oriented Architecture Special Interest Group (SOA SIG), p. 79 (2006)
Hutchinson, J., Whittle, J., Rouncefield, M., Kristoffersen, S.: Empirical assessment of MDE in industry. In: Proc. of the 33rd Int. Conf. on Software Engineering, pp. 471–480. ACM, New York (2011)
Iivari, J.: Why are CASE tools not used? Commun. ACM 39(10), 94–103 (1996)
ISO TC 215: ISO/CD 13940 Health informatics—system of concepts to support continuity of care. In: Health Informatics, p. 159. ISO TC 215, Working Group 3 (under development). http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=58102
ISO/TC215: Health informatics—service architecture. In: 12967-1/2/3:2009. ANSI (2009)
Ivkovic, I., Kontogiannis, K.: Tracing evolution changes of software artifacts through model synchronization. In: Proceedings of the 20th IEEE International Conference on Software Maintenance, pp. 252–261 (2004)
Jedlitschka, A., Briand, L.: The role of controlled experiments working group results. In: Empirical Software Engineering Issues. Critical Assessment and Future Directions, pp. 58–62 (2007)
Johnston, S.: UML 2.0 profile for software services (2005). http://www.ibm.com/developerworks/rational/library/05/419_soa/. Accessed 1 September 2012
Kawamoto, K., Lobach, D.F.: Proposal for fulfilling strategic objectives of the U.S. roadmap for national action on decision support through a service-oriented architecture leveraging HL7 services. J. Am. Med. Inform. Assoc. 14(2), 146–155 (2007)
Khambati, A., Grundy, J., Warren, J., Hosking, J.: Model-driven development of mobile personal health care applications. In: 23rd IEEE/ACM Int. Conf. on Automated Software Engineering, pp. 467–470. IEEE Computer Society, Los Alamitos (2008a)
Khambati, A., Warren, J., Grundy, J., Hosking, J.: A model driven approach to care planning systems for consumer engagement in chronic disease management (2008b)
Khan, M.U.: Architectural constraints in the model-driven development of self-adaptive applications. IEEE Distrib. Syst. Online 9(7), 1 (2008)
Kitchenham, B., Pfleeger, S.: Personal opinion surveys. In: Shull, F., Singer, J., Sjøberg, D.I.K. (eds.) Guide to Advanced Empirical Software Engineering, pp. 63–92 (2008)
Kitchenham, B.A., Pfleeger, S.L., Pickard, L.M., Jones, P.W., Hoaglin, D.C., El Emam, K., Rosenberg, J.: Preliminary guidelines for empirical research in software engineering. In: IEEE Trans. Softw. Eng., pp. 721–734 (2002)
Kitchenham, B.A., Dyba, T., Jorgensen, M.: Evidence-based software engineering. In: Proc. of the 26th Int. Conf. on Software Engineering, pp. 273–281. IEEE Computer Society, Los Alamitos (2004)
Kleppe, A.: MDA explained: the model driven architecture™: practice and promise (2003)
Ko, A.J., DeLine, R., Venolia, G.: Information needs in collocated software development teams. Paper presented at the Proceedings of the 29th International Conference on Software Engineering (2007)
Kosar, T., Mernik, M., Carver, J.C.: Program comprehension of domain-specific and general-purpose languages: comparison using a family of experiments. Empir. Softw. Eng. 1–29 (2012)
Kripalani, S., LeFevre, F., Phillips, C., Williams, M., Basaviah, P., Baker, D.: Deficits in communication and information transfer between hospital-based and primary care physicians: implications for patient safety and continuity of care. JAMA 297(8), 831 (2007)
Kärnä, J., Tolvanen, J.P., Kelly, S.: Evaluating the Use of Domain-Specific Modeling in Practice (2009)
Limón, A.E., Garbajosa, J.: The need for a unifying traceability scheme. In: European Conference on Model Driven Architecture—Traceability Workshop, Nuremberg, 8 November 2005
MacDonald, A., Russell, D., Atchison, B.: Model-driven development within a legacy system: an industry experience report. In: Proceedings of Software Engineering Conference, Australia, pp. 14–22 (2005a)
MacDonald, A., Russell, D., Atchison, B.: Model-driven development within a legacy system: An industry experience report. In: Proceedings of the Australian Software Engineering Conference, ASWEC, Brisbane, Australia, pp. 14–22. Institute of Electrical and Electronics Engineers Computer Society, Piscataway (2005b)
Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. 37(4), 316–344 (2005)
Miles, M.B., Huberman, A.M.: Qualitative Data Analysis: An Expanded Sourcebook, 2nd edn. Sage, Thousand Oaks (1994)
Miller, J., Mukerji, J.: MDA guide version 1.0.1. In: Miller, J., Mukerji, J. (eds.), pp. 1–62. Object Management Group (OMG) (2003)
Mohagheghi, P., Dehlen, V.: Where is the proof?—A review of experiences from applying MDE in industry. In: Proceedings of the 4th European Conference on Model Driven Architecture: Foundations and Applications, Berlin, Germany, pp. 432–443. Springer, Berlin (2008a)
Mohagheghi, P., Dehlen, V.: Where is the proof?—A review of experiences from applying MDE in industry. In: Proceedings of Model-Driven Architecture-Foundations and Applications: 4th European Conference, Ecmda-Fa 2008, Berlin, Germany, 9–13 June 2008b
Mohagheghi, P., Haugen, Ø.: Evaluating domain-specific modelling solutions. In: Advances in Conceptual Modeling—Applications and Challenges, pp. 212–221 (2010)
Mohagheghi, P., Dehlen, V., Neple, T.: Definitions and approaches to model quality in model-based software development—A review of literature. Inf. Softw. Technol. 51(12), 1646–1669 (2009)
Nasjonal IKT: Systemarkitektur, informasjonsgrunnlag og definerte fellestjenester (Norwegian). http://www.nasjonalikt.no/NasjonalIKT-Tiltak12.htm (2006). Accessed 1 September 2012
Object Management Group (OMG): Meta Object Facility Core Specification Version 2.0 (2006a)
Object Management Group (OMG): Object Constraint Language (OCL), Version 2.0, pp. 1–232. Object Management Group (2006b)
Object Management Group (OMG): UML 2.1.2 Superstructure and Infrastructure, vol. formal/2007-11-04. Object Management Group (OMG) (2007)
OpenEHR: The openEHR Foundation. http://www.openehr.org (2007). Accessed 1 September 2012
Orlikowski, W.: CASE tools as organizational change: investigating incremental and radical changes in systems development. Manag. Inf. Syst. Q. 17(3), 309–340 (1993)
Raghupathi, W., Kesh, S.: Interoperable electronic health records design: towards a service-oriented architecture. E-Serv. J. 5(3), 39–57 (2008)
Ramesh, B., Jarke, M.: Toward Reference Models for Requirements Traceability. IEEE Trans. Softw. Eng. 27(1), 58–93 (2001). doi:10.1109/32.895989
Ryan, G.W., Bernard, H.R.: Data management and analysis methods. In: Denzin, N.K., Lincoln, Y.S. (eds.) Handbook of Qualitative Research, 2nd edn. Sage, Thousand Oaks (2000)
Seaman, C.B.: Qualitative methods. In: Shull, F., Singer, J., Sjøberg, D.I.K. (eds.) Guide to Advanced Empirical Software Engineering, pp. 35–62. Springer, London (2008)
Selic, B.: A systematic approach to domain-specific language design using UML. In: 10th IEEE ISORC, vol. 7 (2007)
Sloane, E., Leroy, G., Sheetz, S.: An integrated social actor and Service Oriented Architecture (SOA) approach for improved Electronic Health Record (EHR) privacy and confidentiality in the US National Healthcare Information Network (NHIN) (2007)
Stahl, T., Völter, M.: Model-Driven Software Development: Technology, Engineering, Management. Wiley, Chichester (2006)
Staron, M.: Adopting model driven software development in industry—a case study at two companies. In: Proceedings of Model Driven Engineering Languages and Systems, vol. 4199, pp. 57–72 (2006a)
Staron, M.: Adopting model driven software development in industry—a case study at two companies. In: Proceedings of the MoDELS/UML Conference (2006b)
Stav, E., Walderhaug, S., Mikalsen, M., Hanke, S., Benc, I.: Development and evaluation of SOA-based AAL services in real-life environments: a case study and lessons learned. Int. J. Med. Inform. (2010) (published online)
Stefanov, D.H., Bien, Z., Bang, W.-C.: The smart house for older persons and persons with physical disabilities: structure, technology arrangements, and perspectives. IEEE Trans. Neural Syst. Rehabil. Eng. 12(2), 228–250 (2004)
The MPOWER Consortium: MPOWER Website. http://www.mpower-project.eu (2007). Accessed 1 September 2012
U.S. Department of Health and Human Services: CONNECT Community Portal. http://www.connectopensource.org/ (2011). Accessed 1 September 2012
U.S. Department of Health and Human Services, Food and Drug Administration Center for Devices, Radiological Health Center for Biologics Evaluation and Research: General Principles of Software Validation; Final Guidance for Industry and FDA Staff (2002)
van den Bos, J., van der Storm, T.: Bringing domain-specific languages to digital forensics. In: Proc. of the 33rd Int. Conf. on Software Engineering, pp. 671–680. IEEE, New York (2011)
Walderhaug, S., Mikalsen, M., Benc, I., Loniewski, G., Stav, E.: Factors affecting developers’ use of MDSD in the healthcare domain: evaluation from the MPOWER project. In: Bailey, T. (ed.) From Code-Centric to Model-Centric Development, Workshop at European Conference on Model-Driven Architecture, Berlin, Germany. European Software Institute, Zamudio (2008a)
Walderhaug, S., Stav, E., Johansen, U., Olsen, G.K.: Traceability in model-driven software development. In: Tiako, P.F. (ed.) Designing Software-Intensive Systems—Methods and Principles, pp. 133–160. IGI Global, Information Science Reference, Hersey (2008b)
Walderhaug, S., Stav, E., Mikalsen, M.: Reusing models of actors and services in smart homecare to improve sustainability. Stud. Health Technol. Inform. 136, 107–112 (2008c)
Walderhaug, S., Stav, E., Mikalsen, M.: Reusing models of actors and services in smart homecare to improve sustainability. In: Andersen, S.K., Klein, G.O., Schulz, S., Aarts, J., Mazzoleni, M.C. (eds.) Studies in Health Technology and Informatics, Medical Informatics Europe 2008, Gothenburg, Sweden, pp. 107–112. IOS Press, Amsterdam (2008d)
Walderhaug, S., Hartvigsen, G., Stav, E.: Model-driven traceability in healthcare information systems development. Stud. Health Technol. Inform. 160(Pt 1), 242–246 (2010)
Walker, J., Pan, E., Johnston, D., Adler-Milstein, J., Bates W., D., Middleton, B.: The value of health Care Information Exchange and Interoperability. Health Tracking 5(10) (2005)
Warmer, J.B.: Object Constraint Language, Getting Your Models Ready for MDA, 2nd edn. (2003)
Winkler, S., Pilgrim, J.: A survey of traceability in requirements engineering and model-driven development. Softw. Syst. Model. 9, 529–565 (2009). doi:10.1007/s10270-009-0145-0
Winograd, T.: Bringing Design to Software. ACM, New York (1996)
World Wide Web Consortium (W3C): Web Services Description Language (WSDL) Version 2.0 Part 1: core language. In: Chinnic, R., Moreau, J.-J., Ryman, A., Weerawarana, S. (eds.) W3C (2007)
Acknowledgements
The research presented herein was made possible by the EU Grant IST-034707—the MPOWER project (The MPOWER Consortium 2007). A special thanks to the University of Tromsø, Professor Gunnar Hartvigsen and the master students at the computer science department. Thanks to DIPS ASA for giving me the opportunity to use of their limited time during their developer conference. Finally, thanks to Dr. Erlend Stav, Dr. Geir Kjetil Hanssen, Marius Mikalsen, Dr. Babak Farschian and the other members of the BAMSE research group at SINTEF ICT in Trondheim, Norway. Discussions, valuable input and reviews are essential elements that aid keeping the focus throughout a long research trail.
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix A: Interview guide (semi-structured)
-
Please tell me about your education with focus on software engineering courses, programming languages and other relevant course
-
What do you think about the exercise?
-
Did you understand the exercise scenario
-
∘
Was the difficulty ok?
-
∘
-
What do you thing about the first part of the exercise: the computation independent modelling
-
∘
Use case modelling
-
■
Did you use the actors library
-
■
Did you find the actors you were looking for
-
■
-
∘
Feature modelling
-
∘
Trace link modelling
-
∘
-
What do you think about the second part: platform specific modelling
-
∘
Information modelling
-
■
Which background information did you use to create the information model
-
■
Did you get all the details necessary?
-
■
-
∘
Service modelling
-
■
How did you identify services
-
■
How did you identify interface operations
-
■
Service model template
-
■
Which information did you use for message design
-
■
Did you use the traceability information
-
■
-
∘
-
What did you think about the final part: platform specific modeling
-
∘
Generating RTF and HTML documentation
-
■
What do you think was the most useful?
-
■
-
∘
Using HTML documentation for traceability
-
∘
DDL Transformation
-
∘
WSDL Transformation
-
∘
-
Using the DDL and WSDL files for database and
-
∘
General comments?
-
∘
-
Would you like to learn more about MDD
-
∘
Take more courses at the university?
-
∘
-
Any other comments?
Appendix B: Experiment Scenario description
MedList—Shared medication list
A common problem for patients, and especially elderly, is the management of medication. The problems include:
-
(1)
Read information about dosage and description about when and how the medication should be taken
-
(2)
Manage updated medication: change in dosage and amount
-
(3)
Share problems with medication between the patient’s family, visiting nurses and the GP.
-
(4)
Report back to GP if medication has been taken or not.
In Ulvilla, a nice village just outside of Verdal in Nord-Trøndelag, the happy couple Odd and Anna lives in a small house on their farm Elnes Nedre. They retired seven years ago, and now their oldest son Harald is running the farm together with his wife Åse.
Odd had a stroke 5 years ago, and has since then been on medication. Just recently he got a new type of medicine from his GP, Dr. Abbas. Odd and Anna went to see Dr. Abbas together, but none of them really understood what he said, and they were afraid to ask—after all he is a respected doctor in Verdal. As a result of this uncertainty, Odd takes the medication too often—“to be on the safe side”.
After one week of “misuse”, Odd feels sick and need to see the doctor. It is soon revealed that he as taken to much medicine. Harald and Åse are really angry, and after some phone calls, a new research project is started: MedList. This project will address the problems 1–4 in the list above.
The project will:
-
(a)
Build upon a SOA platform, using web services in the local health network
-
(b)
Have an easy to use client installed at the GP, patient and the patient’s relatives
-
(c)
Share information about medication between the defined actors.
Appendix C: Professional survey questionnaire
The questionnaire (in Norwegian) is available from the author on request.
Appendix D: Interview analysis
Raw material and analysis results are available on request to the author.
Rights and permissions
About this article
Cite this article
Walderhaug, S. Design and evaluation of the ModelHealth toolchain for continuity of care web services. Autom Softw Eng 20, 185–235 (2013). https://doi.org/10.1007/s10515-012-0115-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10515-012-0115-6