Skip to Content
InformationInformation
  • Article
  • Open Access

2 August 2021

26 Pages

Design of an Architecture Contributing to the Protection and Privacy of the Data Associated with the Electronic Health Record

and
Faculty of Engineering, Design and Innovation, Institución Universitaria Politécnico Grancolombiano, Bogotá 110231, Colombia
*
Author to whom correspondence should be addressed.
†
These authors contributed equally to this work.
This article belongs to the Special Issue Blockchain-Based Digital Services

Abstract

The Electronic Health Record (EHR) has brought numerous challenges since its inception that have prevented a unified implementation from being carried out in Colombia. Within these challenges, we find a lack of security, auditability, and interoperability. Moreover, there is no general vision of the patient’s history throughout its life since different systems store the information separately. This lack of unified history leads to multiple risks for patients’ lives and the leakage of private data because each system has different mechanisms to safeguard and protect the information, and in several cases, these mechanisms do not exist. Many researchers tried to build multiple information systems attempting to solve this problem. However, these systems do not have a formal and rigorous architectural design to analyze and obtain health needs through architectural drivers to construct robust systems to solve these problems. This article describes the process of designing a software architecture that provides security to the information that makes up the Electronic Health Record in Colombia (EHR). Once we obtained the architectural drivers, we proposed Blockchain mainly due to its immutable distributed ledger, consensus algorithms, and smart contracts that securely transport this sensitive information. With this design decision, we carried out the construction of structures and necessary architectural documentation. We also develop a Proof of Concept (POC) using Hyperledger Fabric according to the literature analysis review in order to build a primary health network, in addition to a Smart Contract (Chaincode) using the Go programming language to perform a performance evaluation and do a safety analysis that demonstrates that the proposed design is reliable. The proposed design allows us to conclude that it is possible to build a secure architecture that protects patient health data privacy, facilitating the EHR’s construction in Colombia.

1. Introduction

The process of designing an information system for the exchange of EHR offers a highly complex domain since it involves multiple actors and processes that must share sensitive information with patients’ health data in the Colombian country. Each actor’s technological health infrastructures must incorporate the information accumulated, facilitate its exchange, and be compatible with new medical services. All of this has made the medical sector more attractive to attackers and at a higher risk of data theft [1]. Furthermore, as mentioned in [2], healthcare data are notably vulnerable to hacking, and healthcare electronically increases risks. The health sector presented 41.4 million records violated with patient information in 2019, driven by a 49% increase in software piracy.
Medical information is protected by a summary of confidentiality, one of the highest levels of confidentiality. Therefore, security is an essential concept in preserving the privacy, consistency, and integrity of clinical data since, for example, an unauthorized alteration of a patient’s clinical data could put their life at risk. With the approach of a safe and robust architecture, according to the needs found, it will be possible to build multiple digital innovation systems in health and one Single EHR with a security backup, such as telemedicine, electronic prescription, among others.
This research aims to design a secure software architecture that establishes the structure, components, and relationships necessary to exchange information from Electronic Medical Records (EMR) in the Colombian health system. For this purpose, we use Attribute Driven Design (ADD) version 3.0, an architectural design method that offers a guide to satisfy the architectural drivers described above.
According to the review of the architectural design process inputs and needs collected through meetings with hospitals and experts in the health field located in Bogotá city, we choose Blockchain as the reference architecture to satisfy the critical security attributes identified in raising functional requirements and other architectural drivers found. A Blockchain architecture has very robust decentralization and security characteristics. Additionally, its encryption mechanism can be designed to verify the data’s content to ensure that it has not been altered [3]. The authors in [4] indicated that the Blockchain architecture is more reliable than other susceptible information exchange mechanisms regarding the exchange of health information.
Subsequently, we carried out a systematic literature review to select the most appropriate Blockchain framework for the design. This review shows that Hyperledger Fabric is the framework that best adapts to the described system’s needs. Therefore finally, we build a POC using this framework to consolidate the architectural decision.
Therefore, the contributions of our work are summarized as follows:
  • Constructing an architectural design process that solves the problems proposed by creating the EHR in Colombia by obtaining and analyzing the architectural drivers to formalize the essential requirements.
  • Proposal of Blockchain’s use to solve the most crucial quality attributes (QAs) identified through an in-depth systematic literature review.
  • Detailed comparison process of different platforms and reference frameworks to select the most appropriate technology stack to instantiate or implement the proposed architectural model, allowing EHR’s exchange in the Colombian context.
  • We developed a Poc that demonstrates the resolution of one of the essential attributes of the proposed architecture: Security, by evaluating its robustness against some common attacks within this type of network.
This paper’s remainder is organized as follows: The background and related works are introduced in Section 2 and Section 3. The design detail of the proposed architecture is described in Section 4. Section 5 introduces the proposed system. Section 6 analyzes proposed architecture through a POC. Section 7 describes the security and evaluation of the system. Finally, Section 8 gives the conclusion of this paper.

3. System Architectural Design

We presented a diversity of current social problems related to health in the Colombian system and available technological tools that can be used and structured to carry out the solution described in this section.

3.1. Architectural Drivers

3.1.1. Quality Attributes

According to the literature review, we can conclude that the QAs have an enormous effect in establishing how a system will be designed. Therefore, they will be an essential input in the design of the architecture to be proposed.

3.1.2. Utility Tree

In Figure 3, the utility tree designed from the elicited drivers can be observed, a scale of L = Low, M = Medium, and H = High is used to classify each of the two dimensions, and besides, as we will see below the scenarios described in the next section are prioritized in order first to choose those with the following combination (H,H), (H,M) or (M,H) [8].
Figure 3. System Utility Tree.
Once the QAs’ prioritization process has been completed, the QAs that must be taken into account for the design and approach of the architecture are Security, data confidentiality, and interoperability.

3.1.3. Quality Attribute Scenarios

The QA scenarios were obtained by analyzing the requirements and cases obtained from the Colombian EHR law and experts related to the health field. A methodical selection process was performed with these architectural drivers, which describes the Utility Tree of Figure 3. Therefore we propose to choose the attributes described in Table 7 as leading modelers and governors of the architecture.
Table 7. EHR Quality Attribute Scenarios.

3.2. System Architecture Design Process

3.2.1. Step 1—Review of Inputs to the Design Process

In this step, we review the architectural drivers necessary for the design process, including the primary functional requirements and QA scenarios. Table 8 shows the Design purpose and primary functional requirements.
Table 8. Architectural design inputs.
Table 9 illustrates the prioritization of QAs with the support of the utility tree depicted in Figure 3.
Table 9. QA Scenarios according to the utility tree.

3.2.2. Iteration 1: Establish an Overall System Structure

Once we described the inputs to our architectural process, we use the steps described by ADD in this first iteration of the design process to choose the design concepts that satisfy the selected motivators. In this first iteration, we select the appropriate design concepts in order to structure the complete system.
According to the literature review and the analysis of the previous sections’ motivators, the first architectural decision made is to choose the Blockchain Architecture as the reference architecture to satisfy the identified critical security attributes. This style will be the one taken into account for the design and construction of the prototype solution. We select the Technology Stack, which is fundamental in a software architecture design process, to choose the most appropriate framework. We rely on the extensive systematic literature review made in Section 2.7.2 where we conclude that Hyperledger is the most appropriate Architecture for the proposed system.

3.2.3. Construction

A sequence diagram explaining the process of the proposed architecture is sketched in Figure 4.
Figure 4. Sequence Diagram of the proposed system.

4. The Proposed System—Iteration 2

System Architecture

We then select Hyperledger Fabric v2.x as the reference architecture to solve the QAs related to security, scalability, and traceability of clinical data, Figure 5 represents a general description of the system according to the objective of our first iteration of structuring the complete system.
Figure 5. General system architecture.
Figure 5 also depicts the responsibility of each institution within the network, homologating their respective role within the Hyperledger Fabric network. There will be a central entity or organization in charge of managing the network’s certification authority within the network. Therefore, it will be responsible for allowing access to the respective Health Care Provider Entities (EPS) and their respective nodes. In our design, this organization will be the Ministry of Health and Social Protection since it is the governmental entity that regulates the provision of health services in Colombia. Additionally, it will provide the ordering service within our blockchain network to maintain the order and integrity of the transactions within our Blockchain and ensure the consensus protocol’s execution.
Within our architecture and according to the described QAs, we will proceed to build a first hyperledger channel over our blockchain network, which will be in charge of handling the flow process related to the EHR creation, modification by the healthcare actors that have the required permissions, and the patient’s request for their EHR.
We set up a scenario in which there is a network supervising entity. This homologation within the Colombian system would be in charge of the Ministry of Health, and we also involved two organizations or hospitals within the Colombian health system, which would simulate the exchange of patients’ medical records.
The second architectural decision to satisfy the highest priority QAs for the EHR, is to select Docker so that each practitioner in the network is inside a container. This container consists of a set of the image layer. Moreover, it is isolated from the host, which provides an extra layer of security since it is isolated to the host’s errors or attacks. In this way, Smart Contracts will also be executed in an isolated and secure way, thus reinforcing the architecture’s security capabilities. Finally, Docker allows creating the containers associated with the network participants in a simple way once the Docker Compose YAML is configured. Each hospital and health entity has a peer. In these network peers, the distributed ledgers were stored using CouchDB and a Chaincode in charge of simulating an EHR’s storage and content.
The architecture comprises nodes that belong to the ordering service over the network that helps to order the requests or transactions sent by the different health entities. Each health entity is composed of a single node to demonstrate the core functionality of the architecture.
The Certificate Authority is an indispensable component within the proposed architecture, as it controls the enrollment of the health entities within the network and the different actors in charge of sending the blockchain asset (Medical History). In this architectural design. As mentioned in the Ministry of Health is the organization that owns this primary component, as we see in Figure 6 and will be in charge of granting access to the network.
Figure 6. POC Implementation Overview.
Inside each participant, we observe that a Chaincode written in Golang is hosted, which will contain the following functions:
  • Store medical history information in the ledger.
  • Query the medical history information.

5. Results

To analyze the proposed architecture, we proceed to perform a POC associated with the Blockchain network described in Figure 6. The implementation consists of a virtual machine with Ubuntu 20.0.4 LTS, CPU Intel(R) Core(TM) i7-8550U CPU @ 1.80 GHz 1.99GHz, and 8 GB of RAM virtualized using VMware WorkStation 15.5.

5.1. Hyperledger Installation

We used the scripts located in the official Hyperledger Fabric Latin America GitHub to install the Hyperledger Fabric requirements, which can be found at the following URL: https://raw.githubusercontent.com/blockchainempresarial/curso-hyperledger-fabric/master/scripts/prerreq.sh (accessed on 22 August 2020).

5.1.1. Creation of Cryptographic Material

The first step to build a Hyperledger Fabric network is to create the cryptographic material; here, we create the certificates and private keys for each of the components and the organizations’ default users within the network. To perform the security tests to the architecture, we use the Cryptogen tool, a tool provided by Hyperledger that has the functionality to provide the configuration of the networks in Hyperledger to perform proofs of concept [33]. Its use is to create the certifying authority hosted within the Health Ministry node according to the architecture built, and that will be in charge of distributing digital certificates and granting access to the network.
We created a file called crypto-config.yml whose purpose will be to serve as a template or guide for Cryptogen for the creation of cryptographic material, which is a directory of encryption configuration that contains several certificates and keys of the peers and orderers.
There are two main sections within the crypto-config YAML file: “OrdererOrgs”, which is defined as the ordering service, and the “PeerOrgs”, where the standard organizations of the health network are registered. The EnableNodeOUs attribute allows the MSP to classify the participants’ identities into Clients and Peers.
There are two sections in the “crypto-config” file:
  • “OrdererOrgs”, which is the section where we defined the ordering service.
  • “PeerOrgs”, which is the section where the health network’s standard organizations are registered.
The “EnableNodeOUs” attribute allows the MSP to classify the participants’ identities into Clients and Peers.
Within the PeerOrgs section, the number of nodes per organization to be created (Template->Count) and also the default number of transactional users for which the cryptographic material will be created (Users-Count) are set. The structure of the cryptogen file for the cryptographic material can be seen in Scheme 1, which includes the architectural design sketched in Figure 6.
Scheme 1. Structure of the cryptogen file of the POC.

5.1.2. General Configuration of the Genesis Block and the Channel

To create the initial configuration of the network, including the genesis block or initial block of the Blockchain and the channel configuration transaction, we proceed to create the file configtx.yaml (Configuration Transaction) and to use the program configtxgen which allows creating artifacts related to the channel configuration based on this YAML file. We define the orderer type organizations and the standard organizations within the network with their respective peers and initial configurations for this configuration. We also choose the ordering service that we are going to use, among which are: Solo, Kafka, and RAFT; besides, the link to the directory that has the crypto materials such as the policies (MSP) Membership Service Providers of each organization which manages the cryptographic operations, such as signing, verifying, issuing, and chaining.
Once we made the organization configurations, we proceed to set up the genesis block’s general configuration and the channel, using the Profiles section. The Profiles section has attributes such as “Consortiums” where it is specified to which organizations the ordering service or Orderer will provide the service and “HistoriaClinicaChannel” which is the channel to which the configured organizations will join. As indicated in [12], each organization within the network can join more than one channel to segregate the permissions and improve the privacy of the data that will circulate through the health network.

5.1.3. Creation of Anchor Transaction Files

We create the anchor peers of our HCE channel for each health care provider. Members on a channel have one or multiple anchor peers, and all other peers can discover and communicate with them. This configuration avoids having a single point of failure.

5.1.4. Docker Services Definition

In this phase, we configure the file in order to have the peers use CouchDB. We made this design decision to increase performance, one of the QAs that the system has. Moreover, to obtain redundancy on the CA server and avoid bottlenecks and damage to the network, we also selected RAFT as a consensus method to have a fault tolerance attribute for architecture. We should note that in the POC, we used SOLO for security analysis purposes as the first architectural aim.

5.1.5. Channel Setup

We used the “Channel.tx” transaction created through the Configtxgen command to create the channel since it contains the information on how we want to produce it. Following the creation of the channel, we joined the different organizations to transact within the network. It is necessary to use the identities and security certificates created using the cryptographic material to carry out this process.

5.2. Smart Contract Deployment

Peers invoke the chaincode or Smart Contracts when a doctor or healthcare provider within the network wishes to transfer or change an asset or EHR in the general ledger. We created a smart contract using the Go programming language to create and fetch an asset. We selected Go language because it is the Hyperledger Fabric core, so using another language such as Java will be less efficient because Fabric will convert that wrapper written in Java to Go. This architectural decision satisfies the latency and throughput required within the described architectural drivers. We used chaincode v2 for constructing the network, which uses a four-step deployment model.
  • Packaging the ChainCode
  • Installation on each peer (Packaged chaincode)
  • Endorsement Policies (Approve a smartcontract definition for your organization)
  • Chaincode Commit in the network

5.3. Execution and Testing of the Smart Contract

We invoke the Store method inside the Chaincode to test the creation of a medical record; in Figure 7, we can identify the document created using the Smart Contract in our distributed ledger.
Figure 7. Creation of a EHR in the Ledger.

6. Security and Privacy Evaluation

To evaluate the proposed architecture through the POC performed, we rely on [7] which indicates that the approach to characterize security has three characteristics:
  • Confidentiality
  • Integrity
  • Availability
Based on these three characteristics, we will analyze the security performance of this proposal in a descriptive analysis.

6.1. Confidentiality Assessment

The proposed architecture achieves patients’ confidentiality and anonymity through different architectural decisions made in constructing the system:
1.
The patient’s identifier during the entire process of exchanging information with the system is the CA’s public key so that the record of their actions does not contain personal information like their identity document.
2.
The Hyperledger Fabric architecture channels allow for segregation of permissions to participants within the network, adding another layer of security over the patient’s EHR.
According to the literature review made in our descriptive analysis, traditional architectures for the Health Sector do not use these characteristics, which on the other hand, are Blockchain’s pillars.

6.2. Integrity Assessment

Within the proposed architecture, the endorsement policies provide another layer of security. No matter whether Hyperledger Fabric authenticates a participant or node within the channel, if that organization does not gain the proper permissions to endorse a transaction, and if they try executing the chaincode from a Health Care Entity that does not have the right to endorse the transaction in our architecture, the system will reject the operation.
We implemented Secure Hashing for the unique identification of participants in the decentralized network since the proposed architecture uses ECDSA (Elliptic Curve Digital Signature Algorithm) as the encryption algorithm to manage EHR data integrity in our Blockchain architecture.
We used the transport layer security (TLS) cryptographic protocol and hashing of the data to achieve integrity within our architecture, known as Digital Signature, where the receiver obtains the original data and the secure digitally signed hash. The receiver or patient node can recalculate the hash of the original data received and compare it with the received hash to verify the document’s integrity.
Finally, there is no control of the integrity of both the transaction and the content of the patient information in traditional architectures. At the same time, Blockchain is based on a computational model to ensure its transactional integrity.

6.3. Performance Metrics

To test the performance of our architecture, we use Hyperledger Caliper, a benchmarking tool for measuring blockchain performance; it has multiple performance indices for measuring transaction throughput, e.g., number of transactions per second (TPS) or transaction latency [34].
We tested the patient’s Store HCE chaincode method. For this, we used HL7 FHIR release four patient’s as an example to simulate a patient storage transaction in the blockchain network. We took the information samples regarding the latency in milliseconds from related proposed systems [22,31,35] then we established the mean (average) latency of our architecture.
The results showed that our architecture has the third-best performance where the best result is the architecture proposed in [22] and the lower performance system is the one proposed in [22].The mean and other metrics results are shown in Table 10. However, and as is shown in Figure 8 and Figure 9 our solution’s average latency decreases as the number of transaction increases, so, our system demonstrates efficient latency and throughput metrics, for example, when working with 100.000 transactions.
Table 10. Latency and Throughput Statistical information in milliseconds.
Figure 8. Average Latency in seconds—Line chart.
Figure 9. Average Latency in seconds—Barchart.

6.4. Availability Assessment

As a Peer to Peer architecture, Blockchain ensures that the information will be available on each network’s participating nodes. In multiple architectures reviewed, we found a single point of failure that drastically affects information availability. On the contrary, Blockchain, and more specifically Hyperledger Fabric, distribute the information of each of the transactions in ledgers which synchronize their information through the Anchor Peers and the use of the Gossip data dissemination protocol that allows the information to be transmitted to the desired nodes within the network as we observed in the POC carried out.

6.5. Another Security Characteristics

The authors of [36] mentioned that there are four layers of enterprise security that we must consider when building a Blockchain-enabled technology solution, among which are the physical IT infrastructure layer and the middleware layer that includes requirements for encryption levels, encryption in data storage, transfer and data at rest, and visibility of data between network participants. Therefore, following these guidelines, we describe below how the proposed architecture satisfies these security layers with the proposed architecture.
According to our proposed architecture, communications within the health network use the cryptographic material created in Section 5.1.1 composed of the CA’s digital certificates and private keys. Our architecture proposes that the Colombian Ministry of Health provide another additional security ring to host the CA, mainly because the Colombian government infrastructure will guard the CA’s access and provide additional security to the Hyperledger network architecture to satisfy the isolation levels proposed.
Finally, and with Hyperledger Fabric’s help, our architecture ensures that each copy of the ledger has the same data as we observed in the POC; hence, the system reaches the non-repudiation because of the append-only databases that avoid modifications in the sequence of log records. Thanks to each participant’s unique identity within the network, Blockchain signs each action executed with its public and private encryption keys, which guarantees that a sender cannot deny a message. In the specific case of the EHR, the system will record any modification done by a healthcare provider to a patient clinical data permanently.
We observed that traditional architectures are based on the protection of resources, while our Blockchain-based architecture has an architecture oriented towards protecting information itself. What provides exciting features to guarantee the security of sensitive information. Additionally, we saw different approaches through which the proposed architecture provides security to the HCE system, which would be very difficult to implement through traditional architectures.

7. Discussion

Using a Software Architecture design process to satisfy the needs of a system is of considerable usefulness; we could evaluate how integrating architectural processes with the methodical analysis of literature support each of the architectural decisions and diminishes the possibility of electing an unsuccessful architecture. It is also important to mention that a badly constructed architecture would require consequent and costly adjustments to the original model or expose confidential information thanks to a misconstrued architecture.
We conclude that Hyperledger Fabric is a (configurable) pluggable blockchain architecture regarding the project’s technology stack. It allows configuring and exchange the implementations on which software developers and architects want to work, such as the ordering service, which is crucial to operating its architecture. Moreover, as we can see in the results section, it will synchronize within the network any change to an asset in each ledger, which allows for achieving QAs sought in this paper.
Although blockchain architectures can be secure and efficient, there are still problems in the implementation and costs that these can bring, so some organizations still view this with suspicion, among which are the health organizations. This mistrust is because they are novel technologies and provide little support and lack of integration with legacy systems, making it a problem in implementing existing solutions.
However, related to the technical issues associated with efficiency and security, we can demonstrate blockchain-type architectures’ relevance to provide state-of-the-art technology to protect sensitive information.

8. Conclusions

In this paper, we proposed a software architecture design oriented to satisfy the architectural motivators of the EHR in the Colombian context, among others this includes the functional requirements and the QAs. A rigorous literature analysis empowers this architectural design process to make design decisions based on scientific works. We supplemented this analysis with a clear and detailed definition of the QAs through the Quality Scenarios, which allowed choosing some structures or models based on component-and-connector architectural styles. We evidenced this process through the choice of Blockchain as a reference architecture in the POC performed and in the security assessment made.
Applying tactics to refine the architecture design for security, such as the integrity verification of the assets (HCE) in the network through hash values, is one of the proposed architecture’s pillars. Other pillars of this featured architecture are the identification, authentication, and authorization of the actors in the network, and access limits to the participants within the network through the segregation in Hyperledger Channels in order to detect, resist, and react to attacks, and can be a reference framework in contexts requiring secure storage and computation.
We can also conclude that in sectors that have legacy systems, the implementation of Blockchain is complex, as in the Colombian health sector, of which this study is part. The integration of these legacy systems based on traditional architectures poses a complicated technological implementation route due to knowledge factors and process stabilization, discouraging stakeholders from implementing these solutions.
Therefore and as future work, we are interested in building the complete Hyperledger Fabric system in a technological infrastructure according to Colombia’s health system guidelines. We are planning to implement the proposed architectural design in one of Bogotá’s hospital networks to perform the relevant anonymity and security tests on more realistic scenarios at the data and hardware configuration level.
We are also interested in performing an additional architectural design iteration to adopt the architectural drivers for architectural decisions that we did not consider in this paper. For example, the utility tree also describes the interoperability as a secondary QA, which it is interesting to integrate with HL7 FHIR. This interoperability will generate interest from multiple healthcare actors that currently use different health standards.

Author Contributions

Conceptualization and Investigation, E.A.P.R. and L.G.M.-S. Composed the manuscript and contributed to Scheme design and implementation, E.A.P.R. and L.G.M.-S. Both authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Data Availability Statement

Not applicable.

Acknowledgments

We would like to thank Politécnico Grancolombiano University and the Faculty of Engineering for providing me with all the resources and tools that were necessary to carry out the research process. Finally, I would like to thank LUMON SAS and the LUMON LV TECH research group for supporting the development of this article.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
EHRElectronic Health Record
POCProof of Concept
EMRElectronic Medical Records
ADDAttribute Driven Design
ASRArchitecturally Significant Requirements
QAQuality Attribute
DLTDistributed Ledger Technology

References

  1. Certsuperior. Robos de Datos en el Sector Médico. Available online: https://www.certsuperior.com/robos-de-datos-en-el-sector-medico/ (accessed on 10 September 2020).
  2. Coventry, L.; Branley, D. Cybersecurity in healthcare: A narrative review of trends, threats and ways forward. Maturitas 2018, 113, 48–52. [Google Scholar] [CrossRef] [Scilit] [PubMed]
  3. Lee, H.A.; Kung, H.H.; Udayasankaran, J.; Kijsanayotin, B.; Marcelo, A.B.; Chao, L.; Hsu, C.Y. An Architecture and Management Platform for Blockchain-Based Personal Health Record Exchange: Development and Usability Study. J. Med. Internet Res. 2020, 22, e16748. [Google Scholar] [CrossRef] [Scilit] [PubMed]
  4. Esmaeilzadeh, P.; Mirzaei, T. The potential of blockchain technology for health information exchange: Experimental study from patients’ perspectives. J. Med. Internet Res. 2019, 21, e14184. [Google Scholar] [CrossRef] [Scilit] [PubMed]
  5. Salud, M.D. Resolucion 1995 DE 1999. Available online: https://www.minsalud.gov.co/Normatividad_Nuevo/RESOLUCI%C3%93N%201995%20DE%201999.pdf (accessed on 13 March 2020).
  6. Ministerio de Salud y Protección Social—National Government Enacted the Interoperability Law of Electronic Medical Record. Available online: https://www.minsalud.gov.co/English/Paginas/This-is-How-the-Electronic-Medical-Records-Will-Work-in-Colombia.aspx (accessed on 19 March 2021).
  7. Bass, L.; Clements, P.; Kazman, R. Software Architecture in Practice, 3rd ed.; Prentice Hall: Hoboken, NJ, USA, 2012. [Google Scholar]
  8. Cervantes, H.; Kazman, R. Designing Software Architectures: A Practical Approach; Addison-Wesley Professional: Boston, MA, USA, 2016; p. 289. [Google Scholar]
  9. Sajana, P.; Sindhu, M.; Sethumadhavan, M. On Blockchain Applications: Hyperledger Fabric And Ethereum. Int. J. Pure Appl. Math. 2018, 118, 2965–2970. [Google Scholar]
  10. Nakamoto, S. Bitcoin: A Peer-to-Peer Electronic Cash System. Manubot. 2019. Available online: https://git.dhimmel.com/bitcoin-whitepaper/ (accessed on 15 June 2021).
  11. Jabed Morshed Chowdhury, M.; Ferdous, S.; Biswas, K.; Chowdhury, N.; M Kayes, A.S.; Alazab, M.; Watters, P. A Comparative Analysis of Distributed Ledger Technology Platforms. IEEE Access 2019, 7, 167930–167943. [Google Scholar] [CrossRef] [Scilit]
  12. Hyperledger Fabric Docs—Documentation Release Master Hyperledger. 2020. Available online: https://hyperledger-fabric.readthedocs.io/en/release-2.2/ (accessed on 13 September 2020).
  13. Kuo, T.T.; Zavaleta Rojas, H.; Ohno-Machado, L. Comparison of blockchain platforms: A systematic review and healthcare examples. J. Am. Med. Inform. Assoc. 2019, 26, 462–478. [Google Scholar] [CrossRef] [Scilit] [PubMed]
  14. Xia, Q.; Sifah, E.B.; Asamoah, K.O.; Gao, J.; Du, X.; Guizani, M. MeDShare: Trust-Less Medical Data Sharing among Cloud Service Providers via Blockchain. IEEE Access 2017, 5, 14757–14767. [Google Scholar] [CrossRef] [Scilit]
  15. Xia, Q.; Sifah, E.; 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] [Scilit]
  16. Dubovitskaya, A.; Xu, Z.; Ryu, S.; Schumacher, M.; Wang, F. Secure and Trustable Electronic Medical Records Sharing using Blockchain. In AMIA Annual Symposium Proceedings; American Medical Informatics Association: Bethesda, MD, USA, 2017. [Google Scholar]
  17. Fernandes, A.; Rocha, V.; da Conceicao, A.F.; Horita, F. Scalable Architecture for sharing EHR using the Hyperledger Blockchain. In Proceedings of the 2020 IEEE International Conference on Software Architecture Companion (ICSA-C), Salvador, Brazil, 16–20 March 2020; pp. 130–138. [Google Scholar] [CrossRef] [Scilit]
  18. Areej, S. Which Programming Language Is Best to Use for Fabric’s Chaincode? 2020. Available online: https://www.researchgate.net/post/Which-programming-language-is-best-to-use-for-Fabrics-chaincode (accessed on 20 February 2021).
  19. Chen, X.; Zhao, S.; Wang, C.; Song, H.; Jiang, J.; Qi, J.; Li, T.O.; Chan, T.H.H.; Wang, S.; Cui, H. Efficient, DoS-resistant Consensus for Permissioned Blockchains. arXiv 2018, arXiv:1808.02252. [Google Scholar]
  20. Valenta, M.; Sandner, P. Comparison of ethereum, hyperledger fabric and cord. Frankfurt School Blockchain Center 2017, 8, 1–8. [Google Scholar]
  21. Cachin, C. Architecture of the hyperledger blockchain fabric. In Proceedings of the Workshop on Distributed Cryptocurrencies and Consensus Ledgers, Chicago, IL, USA, 25–29 July 2016; Volume 310, p. 4. [Google Scholar]
  22. Stamatellis, C.; Papadopoulos, P.; Pitropakis, N.; Katsikas, S.; Buchanan, W.J. A privacy-preserving healthcare framework using hyperledger fabric. Sensors 2020, 20, 6587. [Google Scholar] [CrossRef] [Scilit] [PubMed]
  23. HYPERLEDGER. Hyperledger Whitepaper. Available online: https://www.hyperledger.org/wp-content/uploads/2018/07/HL_Whitepaper_IntroductiontoHyperledger.pdf (accessed on 4 February 2020).
  24. McAfee. Informe Sobre Amenazas Contra Blockchain. Available online: https://www.mcafee.com/enterprise/es-es/assets/reports/rp-blockchain-security-risks.pdf (accessed on 24 December 2020).
  25. Atzei, N.; Bartoletti, M.; Cimoli, T. International Conference on Principles of Security and Trust; Springer: New York, NY, USA, 2017; pp. 164–186. [Google Scholar]
  26. Nitish, B.; Sugata, S. A Review of Techniques to Mitigate Sybil Attacks. arXiv 2012, arXiv:1207.2617. [Google Scholar]
  27. Hyperledger-fabric. What’s New in Hyperledger Fabric v2.x —Hyperledger-Fabricdocs Master Documentation. Available online: https://hyperledger-fabric.readthedocs.io/en/release-2.2/whatsnew.html (accessed on 30 May 2021).
  28. Stellabelle. Explain Delegated Proof of Stake Like I’m 5|by Stellabelle|HackerNoon.com|Medium. Available online: https://medium.com/hackernoon/explain-delegated-proof-of-stake-like-im-5-888b2a74897d (accessed on 22 August 2020).
  29. Tang, Y.; Zou, Q.; Chen, J.; Li, K.; Kamhoua, C.A.; Kwiat, K.; Njilla, L. ChainFS: Blockchain-Secured Cloud Storage. In Proceedings of the IEEE International Conference on Cloud Computing, San Francisco, CA, USA, 2–7 July 2018; pp. 987–990. [Google Scholar] [CrossRef] [Scilit]
  30. Do, H.G.; Ng, W.K. Blockchain-Based System for Secure Data Storage with Private Keyword Search. In Proceedings of the 2017 IEEE 13th World Congress on Services, Honolulu, HI, USA, 25–30 June 2017; Institute of Electrical and Electronics Engineers Inc.: Piscataway, NJ, USA, 2017; pp. 90–93. [Google Scholar] [CrossRef] [Scilit]
  31. Azaria, A.; Ekblaw, A.; Vieira, T.; Lippman, A. MedRec: Using blockchain for medical data access and permission management. In Proceedings of the 2016 2nd International Conference on Open and Big Data, Vienna, Austria, 22–24 August 2016; pp. 25–30. [Google Scholar] [CrossRef] [Scilit]
  32. Ichikawa, D.; Kashiyama, M.; Ueno, T. Tamper-resistant mobile health using blockchain technology. JMIR mHealth uHealth 2017, 5, e7938. [Google Scholar] [CrossRef] [Scilit] [PubMed]
  33. Hyperledger. Hyperledger Fabric Docs—Cryptogen. Available online: https://hyperledger-fabric.readthedocs.io/en/release-2.2/commands/cryptogen.html (accessed on 17 March 2021).
  34. Matt, Z.; Brian, W.; Mark, M. Hands-On Smart Contract Development with Hyperledger Fabric V2; O’Reilly Media, Inc.: Newton, MA, USA, 2021. [Google Scholar]
  35. Ali, M.; Nelson, J.; Shea, R.; Fredman, M.J. Bootstrapping trust in distributed systems with blockchains. USENIX 2016, 41, 52–58. [Google Scholar]
  36. Nitin, G.; O’Dowd, A.; Novotny, P.; Desrosiers, L.; Venkatraman Ramakrishna, S.A.B. Blockchain—An Enterprise and Industry Perspective— Blockchain with Hyperledger Fabric, 2nd ed.; Packt Publishing Ltd.: San Francisco, CA, USA, 2020. [Google Scholar]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.