Towards a Blockchain Assisted Patient Owned System for Electronic Health Records
Abstract
:1. Introduction
- Design and implementation of a patient-centric EHR web portal front-end platform.
- Integrating the above patient-centric EHR into the Ethereum blockchain platform and its smart contract.
- Ensuring that a patient’s health record is secure, consistent, and available across healthcare providers and decided upon by the patient.
- Perform experiments on security, privacy and interoperability of the proposed blockch- ain-enabled framework.
2. State-of-the-Art
2.1. Blockchain
2.2. Ethereum Blockchain
2.3. Related Work
3. Proposed Ethereum Blockchain Assisted Framework
3.1. Basic Introduction to the Proposed Framework
3.2. Design Consideration
3.3. Proposed Blockchain Framework for EHR in Detail
- The administrative module implements intuitive and easy-to-use application user interfaces. It has six sub-modules which enables the administrator to perform the tasks managing hospital accounts. Below is a list of all administrator sub-modules
- Dashboard Module—This module loads and lists all registered hospitals on the consortium blockchain network. The administrator can explore these hospital records and manage the hospital by using the explore link provided by the displayed hospital element on the dashboard.
- Create-Hospital-Record Module—This module enables the administrator to create or add a hospital record. It is a fully validated web form and holds the programming logic used to register and create hospital records.
- Hospital-Record-Details Module—This module empowers the administrator to view hospital records and perform other administrative tasks addressing the particular needs of the hospital at the time. This administrative task may include add staff or employees to the hospital, edit hospital record, suspend hospital account, etc.
- Edit-Hospital-Record Module—This module enables the administrator to make a change to hospital records.
- Create-Hospital-Staff-Record Module—The administrator uses the module to add hospital staff records to the currently selected hospital records
- Administrator-Menu Module—The module is embedded into every other module in the administrator module. There are two variants. The first variant is used on the Administrator-Dashboard and Create-Hospital-Record module while the other variant is used with the Hospital-Record-Details and Create-Hospital-Staff-Record Module.
- Hospital ModuleIn the administrative module, the hospital module implements user-friendly and easy-to-use application user interfaces. It has seven sub-modules which enables the logged users to perform the tasks that help the hospital manage their clients. Below is a list of all hospital sub-modules:
- Request-Access-to-Patient-Medical-Records Module: This module allows logged in hospital staff (Doctors) to request access to the patient medical record. The module implements a search functionality to enable the doctor to retrieve the patient record using the public key or account token. The application uses the provided token to search the patient’s records from the back-end and if the patient record exists, the doctor then requests access to the patient record and awaits the approval for the request. In the case where the user account is not found, the doctor is prompted to register the patient and create the patient medical report, and request access to the patient record. Upon approval of the request made by the doctor, the doctor can now access and view patient medical records.
- Patient-Medical-Record Module: The logged hospital staff granted access to patient medical records the proceed to view the patient details and medical history information. This module also equips the hospital staff with a set of tools to update patient records after due consultation with the patient and to schedule an appointment for a subsequent meeting with the patient. After successful completion of the consultation, when the doctor exits the patient medical record page, the doctor’s access authorization is revoked. The doctor will need to request access again if he/she must access the record again.
- Add-Medical-Report Module: This module enables the logged hospital staff to create a medical record based on the consultation and findings during the session the doctor had with the patient and update the patient medical history.
- Dashboard Module: This module equips the logged hospital staff with the stats on how many patients the hospitals have attended for the day, the number of scheduled appointments for the day, and the number of appointments the hospital is expected to keep for that day. This module also lists to the doctor all approved medical record access requests and the list of appointments that have been kept for the day by the hospital.
- Hospital-Appointment Module: This module shows the hospital appointment logs for the logged user use. The appointments for the current day in view are listed first, then all other appoints are listed below the day’s appointments.
- Schedule-Appointment Module: This module enables the logged-in hospital staff to create an appointment for the patient’s next visit to the hospitals. This module is a fully validated form and when completed with appropriate data generates an appointment record.
- Hospital-Menu Module: The module is embedded into every other module in the hospital module. The module is a list of links giving the logged user access to other resources.
- Patient ModuleThe patient module implements user-friendly and easy-to-use application user interfaces that enable logged-in patient users to interact with the application. It has six sub-modules and these include:
- Dashboard Module: This module shows the logged patient notifications i.e., alert logged users that new request to access their record by a hospital and or displays the appointment the patient has for the day. This module also displays profile information for the logged-in user.
- Grant-Access-to-Request Module: This module enables the logged user to access all requests made by hospitals to access their medical records and also provides the mechanism for approving and rejecting the request from the hospitals. When a request is approved by a patient the request is active for that day and the access is revoked when the requesting hospital completes the consultation with the patient. Note the patient can cancel any request initially granted by the patient at any time and that action is validated on the system.
- Patient-Medical-History Module—This module enables the logged user to view their medical history. The logged user cannot modify or tamper with the information in their medical history, they can only view the records.
- Patient-Menu Module—The module is embedded into every other module in the patient module. The module is the list of links giving the logged user access to other resources.
4. Implementation and Results
- It was a progressive framework that allowed for the quick development of web interfaces with a better user experience.
- It was a multi-platform UI technology as it supported both web and mobile platforms.
- It was lightweight and thus guaranteed a higher performance compared to other UI technologies.
- It had cross-platform support.
- It was flexible and easy to integrate with an existing application.
4.1. Evaluations
4.1.1. Functional Testing
- Deployment Test:For the deployment test, we verified that the smart contract has a valid address and the name of the application is set to define the smart contract.
- Administrator Entity Test:For the administrator entity test, four different tests were written to ensure that the administrator entity would be deployed properly and function as anticipated in the production environment. For the administrator entity, three different tests were written to ensure that the administrator entity would be deployed properly and function as anticipated in the production environment. In the first test, it was verified that the default administrator account was created. In the second test, it was verified that attempts to create the new administrator account were successful. In the third test, it was verified that the administrator login worked fine.
- Hospital Entity Test:The smart contract defined a ’create’ functionality for the hospital entity and the test written was to ensure that it created hospital record work as expected. A second test was written to retrieve all hospital records in the back-end. Below are the test details. The following were verified in these tests: (1) the hospital account could be created and (2) the hospital accounts could be listed.
- Hospital Staff Entity Test:Three different tests were written to ensure that the smart contract implementation of the Hospital staff records was well defined and it worked as expected. The following were verified in these tests: (1) it was checked that the hospital staff account was created, (2) the list of the hospital staff accounts could be retrieved, (3) the hospital login worked.
- Patient Entity Test:For the patient entity, three different tests were written to ensure that the patient entity would be deployed properly and functioned as anticipated in the production environment. The following were verified: (1) it was checked that a patient account was created, (2) the list of patients could be retrieved and (3) patient login worked fine.
- Patient Medical Record Entity Test:For the Patient Medical Record entity, two different tests were written to ensure that the patient medical record entity would be deployed properly and functioned as anticipated in the production environment. The following were verified: (1) patient medical records could be created and (2) the patients’ medical records could be retrieved.
- Access Patient Medical Record Request Entity Test:In these tests, two cases of access to patient medical record were verified: (1) a request for access to patient medical record could be made and (2) the approval or denial of access to the patient medical record was working fine.
- Scheduled Appointments Entity Test:In these tests, two cases were verified: (1) an appointment with a patient could be scheduled and (2) the appointment logs could be viewed.
4.1.2. Smart Contract Execution Evaluations
4.1.3. Security Evaluations
4.1.4. Interoperability Evaluations
4.1.5. Discussion
5. Conclusions
Author Contributions
Funding
Conflicts of Interest
References
- de Aguiar, E.J.; Faical, B.S.; Krishnamachari, B.; Ueyama, J. A Survey of Blockchain-Based Strategies for Healthcare. ACM Comput. Surv. 2020, 53, 1–3. [Google Scholar] [CrossRef] [Green Version]
- Commission Recommendation on a European Electronic Health Record Exchange Format. Available online: https://ec.europa.eu/digital-single-market/en/news/recommendation-european-electronic-health-record-exchange-format (accessed on 6 February 2019).
- Samarin, A. Exchange of Electronic Health Records Using Deposit Box Concept. 1 July 2016. Available online: http://improving-bpm-systems.blogspot.com/2016/07/electronic-health-records-ehr.html (accessed on 14 October 2020).
- De Lusignan, S.; Mold, F.; Sheikh, A.; Majeed, A.; Wyatt, J.C.; Quinn, T.; Cavill, M.; Gronlund, T.A.; Franco, C.; Chauhan, U.; et al. Patients’ online access to their electronic health records and linked online services: A systematic interpretative review. BMJ Open 2014, 4, e006021. [Google Scholar] [CrossRef] [PubMed]
- Marcos, M.; Maldonado, J.A.; Martínez-Salvador, B.; Boscá, D.; Robles, M. Interoperability of clinical decision-support systems and electronic health records using archetypes: A case study in clinical trial eligibility. J. Biomed. Inform. 2013, 46, 676–689. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Li, J. A Service-Oriented Approach to Interoperable and Secure Personal Health Record Systems. In Proceedings of the IEEE Symposium on Service-Oriented System Engineering (SOSE), San Francisco, CA, USA, 6–9 April 2017; pp. 38–46. [Google Scholar]
- Azarm, M.; Backman, C.; Kuziemsky, C.; Peyton, L. Breaking the Healthcare Interoperability Barrier by Empowering and Engaging Actors in the Healthcare System. Procedia Comput. Sci. 2017, 113, 326–333. [Google Scholar] [CrossRef]
- Guo, Y.; Hu, Y.; Afzal, J.; Bai, G. Using P2P technology to achieve eHealth interoperability. In Proceedings of the IEEE ICSSSM11, Tianjin, China, 25–27 June 2011; pp. 1–5. [Google Scholar]
- Gupta, S.; Sadoghi, M. Blockchain Transaction Processing. Encycl. Big Data Technol. 2019, 366–376. [Google Scholar] [CrossRef]
- Shahnaz, A.; Qamar, U.; Khalid, A. Using Blockchain for Electronic Health Records. IEEE Access 2019, 7, 147782–147795. [Google Scholar] [CrossRef]
- Hsieh, G.; Chen, R. Design for a secure interoperable cloud-based Personal Health Record service. In Proceedings of the 4th IEEE International Conference on Cloud Computing Technology and Science Proceedings, Taipei, Taiwan, 3–6 December 2012; pp. 472–479. [Google Scholar]
- Azaria, A.; Ekblaw, A.; Vieira, T.; Lippman, A. MedRec: Using blockchain for medical data access and permission management. In Proceedings of the IEEE International Conference on Open and Big Data (OBD), Vienna, Austria, 22–24 August 2016; pp. 25–30. [Google Scholar]
- Xia, Q.; Sifah, E.B.; Smahi, A.; Amofa, S.; Zhang, X. BBDS: Blockchain-based data sharing for electronic medical records in cloud environments. Information 2017, 8, 44. [Google Scholar] [CrossRef]
- Zhou, L.; Wang, L.; Sun, Y. MIStore: Blockchain-Based Medical Insurance Storage System. J. Med. Syst. 2018, 42, 1–17. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Alevtina, D.; Xu, Z.; Ryu, S.; Schumacher, M.; Wang, F. Secure and Trustable Electronic Medical Records Sharing using Blockchain. In Proceedings of the Annual Symposium Proceedings, AMIA Symposium, Washington, DC, USA, 4 November 2017; pp. 650–659. [Google Scholar]
- Eberhardt, J.; Tai, S. On or Off the Blockchain? Insights on Off-Chaining Computation and Data. In Service-Oriented and Cloud Computing. ESOCC 2017; De Paoli, F., Schulte, S., Broch Johnsen, E., Eds.; Lecture Notes in Computer Science; Springer: Cham, Switzerland, 2017; Volume 10465. [Google Scholar] [CrossRef] [Green Version]
- Nielsen, J. Usability Engineering; Morgan Kaufmann: San Francisco, CA, USA, 1993; ISBN 0-12-518406-9. [Google Scholar]
- Kościelny, C.; Kurkowski, M.; Srebrny, M. An Electronic Signature and Hash Functions. In Modern Cryptography Primer: Theoretical Foundations and Practical Applications; Springer: Berlin/Heidelberg, Germany, 2013; pp. 127–145. [Google Scholar]
- Our Implementation Code. Available online: https://github.com/Tomilayohub/hospital_records (accessed on 5 February 2021).
- Chakraborty, T.; Jajodia, S.; Katz, J.; Picariello, A.; Sperli, G.; Subrahmanian, V.S. FORGE: A Fake Online Repository Generation Engine for Cyber Deception. IEEE Trans. Dependable Secur. Comput. 2019. [Google Scholar] [CrossRef]
- Albanese, M.; Erbacher, R.; Jajodia, S.; Molinaro, C.; Persia, F.; Picariello, A.; Sperlì, G.; Subrahmanian, V.S. Recognizing Unexplained Behavior in Network Traffic. In Network Science and Cybersecurity; Springer: New York, NY, USA, 2014; pp. 39–62. [Google Scholar]
- Abdelkefi, A.; Jiang, Y.; Sharma, S. SENATUS: An Approach to Joint Traffic Anomaly Detection and Root Cause Analysis. In Proceedings of the 2018 2nd Cyber Security in Networking Conference (CSNet), Paris, France, 24–26 October 2018. [Google Scholar]
Reference | Technologies Used | Feature Explored (✓) or not (✕) |
---|---|---|
[3] | Cloud, and deposit box | I (✓), S (✕), R(✕), C(✕) |
[6] | Service Oriented Architecture | I (✓), S (✓), R (✕), C (✕) |
[5] | Archetype-Based Solution | I (✓), S (✓), R (✕), C (✓) |
[11] | Cloud-Based Solution | I (✓), S (✓), R (✕), C (✕) |
[7] | Cloud and Web Service API | I (✓), S (✓), R (✕), C (✓) |
[8] | Peer to Peer Communication | I (✓), S (✕), R (✓), C (✓) |
[12] | Blockchain | I (✓), S * (✕), R (✓), C (✓) |
[13] | Blockchain | I (✓), S ** (✕), R (✓), C (✓) |
[10,14] | Ethereum blockchain | I (✓), S (✓), R (✓), C (✓) |
Required Software | Version |
---|---|
Solidity | v0.5.0 |
Truffle Suite | v5.0.2 |
Nodejs | v14.15.1 |
Web3js | v8.1.8 |
Visual Studio Code | v1.51.1 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Fatokun, T.; Nag, A.; Sharma, S. Towards a Blockchain Assisted Patient Owned System for Electronic Health Records. Electronics 2021, 10, 580. https://doi.org/10.3390/electronics10050580
Fatokun T, Nag A, Sharma S. Towards a Blockchain Assisted Patient Owned System for Electronic Health Records. Electronics. 2021; 10(5):580. https://doi.org/10.3390/electronics10050580
Chicago/Turabian StyleFatokun, Tomilayo, Avishek Nag, and Sachin Sharma. 2021. "Towards a Blockchain Assisted Patient Owned System for Electronic Health Records" Electronics 10, no. 5: 580. https://doi.org/10.3390/electronics10050580
APA StyleFatokun, T., Nag, A., & Sharma, S. (2021). Towards a Blockchain Assisted Patient Owned System for Electronic Health Records. Electronics, 10(5), 580. https://doi.org/10.3390/electronics10050580