Final Degree Project
Total Page:16
File Type:pdf, Size:1020Kb
FINAL DEGREE PROJECT TITLE: Smart clinical alarms service for healthcare professionals DEGREE: IT Engineering Degree AUTHOR: Rafael Mulero Vellido ACADEMIC DIRECTOR: Xavier Masip Bruin ENTERPRISE DIRECTOR: David Vidal DATE OF PRESENTATION: July, 2017 LAST NAME: Mulero Vellido NAME: Rafael DEGREE: IT Engineering Degree CURRICULUM: 2010 DIRECTOR: Xavier Masip Bruin DEPARTMENT: Computer Architecture PROJECT QUALIFICATION EXAMINING BOARD PRESIDENT SECRETARY CHAIRPERSON Jordi Garc´ıaAlmi~nana Eva Marin Tordera Ariadna M. Llorens Garc´ıa DATE OF PRESENTATION: July 10th, 2017 This project takes into account environmental issues: []Yes [x]No RESUM En aquest Treball de Final de Grau (TFG) es mostra el proc´esde creaci´oi imple- mentaci´od'un servei que tindr`acom a objectiu informar als professionals m`edics sobre l'estat dels seus pacients en temps real, accelerant el temps de reacci´oen els casos en qu`ela salut d'aquests necessiti d'una actuaci´oimmediata. El servei seguir`aun model client-servidor on el servidor rebr`adades cl´ıniquessobre els pacients hospitalitzats i, en cas de qu`eaquestes dades indiquin algun estat greu o anormal de salut, generar`auna alarma que ser`aenviada a l’aplicaci´oclient instal·lada a l'smartphone dels professionals m`edicsassignats als pacients. Aquest TFG s'ha dut a terme a l'Hospital Cl´ınici Provincial de Barcelona (HCPB) com a proposta del Departament de Sistemes d'Informaci´o(DSI) del mateix hos- pital amb l'objectiu de crear un servei ´utilper l'`ambitsanitari. Paraules clau (m`axim10): Hospital Sistema d'Alarmes Sistema de Suport a Smartphone Cl´ıniques la Decisi´oCl´ınica Ehealth Android Web ABSTRACT The Final Degree Project (FDP) presented below shows the process of creation and implementation of a service that will aim to inform physicians about the status of their patients in real time, speeding up the reaction time in cases where the health of these need immediate action. The service will follow a client-server model where the server will receive inpatient clinical data and, in case that this data gives signs of some critical or abnormal health status, will generate an alarm that will be sent to the client application installed on the smartphone from the physicians who are in charge of the patients. This FDP has been done in Hospital Cl´ınici Provincial de Barcelona (HCPB) as a proposal from the Information System Department (DSI) of the hospital itself with the goal of creating a useful service for the healthcare sector. Keywords (10 maximum): Hospital Clinical Alarm Clinical Decision Smartphone System Support System Ehealth Android Web Acknowledgement I would like to thank all the people that have been involved, directly or indirectly, in this journey that has last for seven years. Thanks to Hospital Clinic i Provincial de Barcelona for giving me the opportunity of creating this project being part of the institution. Specially I would like to thank to David Vidal and Santiago Iriso, director and physician from the Information System Department from the hospital, for helping me to carry on this project and for all the support given during these months. Thanks to all the UPC professors for all the knowledge I have acquired during all these years. Specially I would like to thank to Xavi Masip, co-director of this project, for all the opportunities that he has offered me for building my career. Thanks to my family for being there in all the good and bad moments. Specially to my parents and my girlfriend, whom I love with all of my heart. Finally, I would also like to thank to all my colleagues from all the promotions in which I have been into UPC and to Carlos, Felipe, Ferran, Jessica and Olga from Hospital Clinic for making this journey a little less tough than it could have been. Table of contents List of Figures 9 List of Tables 12 1 Introduction 15 1.1 Objectives . 16 1.2 Motivation . 16 1.3 Area of application . 16 1.4 State of the art . 17 1.5 Document structure . 18 2 Project planning 19 2.1 Work packages . 19 2.2 PERT diagram . 20 2.3 Gantt diagram . 21 2.4 Work methodology . 23 3 Requirements 24 3.1 User requirements . 24 3.2 Technical requirements . 29 3.3 Decisions . 30 4 System design 35 4.1 Introduction . 35 4.2 Database design . 35 4.3 Server design (administration) . 38 4.4 Server design (processing) . 50 4.5 Client application design . 56 4.6 Architecture . 76 5 System implementation 79 5.1 Server implementation . 79 5.2 Client implementation . 86 6 Validation and testing 91 6.1 Server security . 91 6.2 Requesting information to the server . 92 6.3 Client testing . 93 6.4 Data processing . 95 6.5 Push notifications . 95 7 Conclusions 96 7.1 Future work . 97 8 References 98 A Annexes 100 A.1 Acronyms . 100 List of Figures 2.1 Project PERT diagram . 21 2.2 Gantt diagram of the project . 21 4.1 DB relational model . 36 4.2 Notifications state diagram . 37 4.3 "Authentication" scenario UML diagram . 40 4.4 "Users" scenario UML diagram . 41 4.5 "Subscriptions" scenario UML diagram . 44 4.6 ”Notifications” scenario UML diagram . 45 4.7 Query requests sequence diagram . 48 4.8 Modification requests sequence diagram . 48 4.9 Server class diagram . 49 4.10 "Processing" scenario UML diagram . 50 4.11 SEQ-SER-PRO-01 diagram . 51 4.12 SEQ-SER-PRO-02 diagram . 52 4.13 SEQ-SER-PRO-03 diagram . 53 4.14 SEQ-SER-PRO-04 diagram . 55 4.15 Server UML class diagram . 56 4.16 Android app wireframes . 57 4.17 "Authentication" scenario UML scenario . 57 4.18 SEQ-APP-AUT-01 diagram . 59 4.19 SEQ-APP-AUT-02 diagram . 60 4.20 "Subscriptions" scenario UML diagram . 60 4.21 SEQ-APP-SUB-01 diagram . 62 4.22 SEQ-APP-SUB-02 diagram . 63 4.23 ”Notifications” scenario UML diagram . 64 4.24 SEQ-APP-NOT-01 diagram . 65 4.25 SEQ-APP-NOT-02 diagram . 66 4.26 SEQ-APP-NOT-03 diagram . 68 4.27 "Push notifications" scenario UML diagram . 68 4.28 SEQ-APP-NPU-01 diagram . 69 4.29 SEQ-APP-NPU-02 diagram . 70 4.30 "Users" scenario UML diagram . 71 4.31 SEQ-APP-USR-01 diagram . 72 4.32 SEQ-APP-USR-02 diagram . 73 4.33 SEQ-APP-USR-03 diagram . 74 4.34 SEQ-APP-USR-04 diagram . 75 4.35 Integration architecture . 76 4.36 HIS architecture . 76 4.37 SCAS architecture . 78 5.1 Java server side code (1) . 79 5.2 Java server side code (2) . 80 5.3 web.xml and ServeiAutenticacio.java snippet . 81 5.4 ConsultaSQL and RespostaSQL . 81 5.5 Messenger interface . 82 5.6 Controller and driver implementations . 83 5.7 Example of the DB exceptions handling using the controller . 83 5.8 Types of conditions . 84 5.9 Graphical example of the meta-alarms computation . 85 5.10 server.xml and web.xml modifications . 85 5.11 context.xml and web.xml modifications . 86 5.12 AngularJS files distribution . 87 5.13 Components relations . 88 5.14 index.html snippet . 88 5.15 Different modules relations . 88 5.16 Android classes distribution . 89 5.17 Server and app encryption mechanism . 90 5.18 Grouped notifications example . 90 List of Tables 2.1 Deliverables table . 22 2.2 Milestones table . 22 3.1 System requirements (SYS) . 24 3.2 Alarm requirements (ALR) . 24 3.3 Client application requirements (APP) . ..