<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.0 20040830//EN" "http://dtd.nlm.nih.gov/publishing/2.0/journalpublishing.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article" dtd-version="2.0">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">JMIR</journal-id>
      <journal-id journal-id-type="nlm-ta">J Med Internet Res</journal-id>
      <journal-title>Journal of Medical Internet Research</journal-title>
      <issn pub-type="epub">1438-8871</issn>
      <publisher>
        <publisher-name>JMIR Publications</publisher-name>
        <publisher-loc>Toronto, Canada</publisher-loc>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="publisher-id">v24i4e35013</article-id>
      <article-id pub-id-type="pmid">35416782</article-id>
      <article-id pub-id-type="doi">10.2196/35013</article-id>
      <article-categories>
        <subj-group subj-group-type="heading">
          <subject>Original Paper</subject>
        </subj-group>
        <subj-group subj-group-type="article-type">
          <subject>Original Paper</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>Blockchain-Based Architecture Design for Personal Health Record: Development and Usability Study</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="editor">
          <name>
            <surname>Eysenbach</surname>
            <given-names>Gunther</given-names>
          </name>
        </contrib>
      </contrib-group>
      <contrib-group>
        <contrib contrib-type="reviewer">
          <name>
            <surname>Uddin</surname>
            <given-names>Ashraf</given-names>
          </name>
        </contrib>
        <contrib contrib-type="reviewer">
          <name>
            <surname>Kuo</surname>
            <given-names>Tsung-Ting</given-names>
          </name>
        </contrib>
      </contrib-group>
      <contrib-group>
        <contrib id="contrib1" contrib-type="author" corresp="yes" equal-contrib="yes">
          <name name-style="western">
            <surname>Costa</surname>
            <given-names>Thiago Bulhões da Silva</given-names>
          </name>
          <degrees>PhD</degrees>
          <xref rid="aff1" ref-type="aff">1</xref>
          <address>
            <institution>Instituto do Coração</institution>
            <institution>Hospital das Clínicas</institution>
            <institution>Faculdade de Medicina, Universidade de São Paulo</institution>
            <addr-line>Av. Dr. Enéas Carvalho de Aguiar, 44</addr-line>
            <addr-line>Cerqueira César</addr-line>
            <addr-line>São Paulo, 05403-900</addr-line>
            <country>Brazil</country>
            <phone>55 (11) 2661 5333</phone>
            <email>thiagobscosta@gmail.com</email>
          </address>
          <ext-link ext-link-type="orcid">https://orcid.org/0000-0003-1850-3530</ext-link>
        </contrib>
        <contrib id="contrib2" contrib-type="author" equal-contrib="yes">
          <name name-style="western">
            <surname>Shinoda</surname>
            <given-names>Lucas</given-names>
          </name>
          <degrees>MSc</degrees>
          <xref rid="aff1" ref-type="aff">1</xref>
          <ext-link ext-link-type="orcid">https://orcid.org/0000-0002-5464-1693</ext-link>
        </contrib>
        <contrib id="contrib3" contrib-type="author">
          <name name-style="western">
            <surname>Moreno</surname>
            <given-names>Ramon Alfredo</given-names>
          </name>
          <degrees>PhD</degrees>
          <xref rid="aff1" ref-type="aff">1</xref>
          <ext-link ext-link-type="orcid">https://orcid.org/0000-0002-0548-9365</ext-link>
        </contrib>
        <contrib id="contrib4" contrib-type="author">
          <name name-style="western">
            <surname>Krieger</surname>
            <given-names>Jose E</given-names>
          </name>
          <degrees>PhD</degrees>
          <xref rid="aff1" ref-type="aff">1</xref>
          <ext-link ext-link-type="orcid">https://orcid.org/0000-0001-5464-1792</ext-link>
        </contrib>
        <contrib id="contrib5" contrib-type="author">
          <name name-style="western">
            <surname>Gutierrez</surname>
            <given-names>Marco</given-names>
          </name>
          <degrees>PhD</degrees>
          <xref rid="aff1" ref-type="aff">1</xref>
          <ext-link ext-link-type="orcid">https://orcid.org/0000-0003-0964-6222</ext-link>
        </contrib>
      </contrib-group>
      <aff id="aff1">
        <label>1</label>
        <institution>Instituto do Coração</institution>
        <institution>Hospital das Clínicas</institution>
        <institution>Faculdade de Medicina, Universidade de São Paulo</institution>
        <addr-line>São Paulo</addr-line>
        <country>Brazil</country>
      </aff>
      <author-notes>
        <corresp>Corresponding Author: Thiago Bulhões da Silva Costa <email>thiagobscosta@gmail.com</email></corresp>
      </author-notes>
      <pub-date pub-type="collection">
        <month>4</month>
        <year>2022</year>
      </pub-date>
      <pub-date pub-type="epub">
        <day>13</day>
        <month>4</month>
        <year>2022</year>
      </pub-date>
      <volume>24</volume>
      <issue>4</issue>
      <elocation-id>e35013</elocation-id>
      <history>
        <date date-type="received">
          <day>16</day>
          <month>11</month>
          <year>2021</year>
        </date>
        <date date-type="rev-request">
          <day>22</day>
          <month>12</month>
          <year>2021</year>
        </date>
        <date date-type="rev-recd">
          <day>14</day>
          <month>2</month>
          <year>2022</year>
        </date>
        <date date-type="accepted">
          <day>7</day>
          <month>3</month>
          <year>2022</year>
        </date>
      </history>
      <copyright-statement>©Thiago Bulhões da Silva Costa, Lucas Shinoda, Ramon Alfredo Moreno, Jose E Krieger, Marco Gutierrez. Originally published in the Journal of Medical Internet Research (https://www.jmir.org), 13.04.2022.</copyright-statement>
      <copyright-year>2022</copyright-year>
      <license license-type="open-access" xlink:href="https://creativecommons.org/licenses/by/4.0/">
        <p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work, first published in the Journal of Medical Internet Research, is properly cited. The complete bibliographic information, a link to the original publication on https://www.jmir.org/, as well as this copyright and license information must be included.</p>
      </license>
      <self-uri xlink:href="https://www.jmir.org/2022/4/e35013" xlink:type="simple"/>
      <abstract>
        <sec sec-type="background">
          <title>Background</title>
          <p>The importance of blockchain-based architectures for personal health record (PHR) lies in the fact that they are thought and developed to allow patients to control and at least partly collect their health data. Ideally, these systems should provide the full control of such data to the respective owner. In spite of this importance, most of the works focus more on describing how blockchain models can be used in a PHR scenario rather than whether these models are in fact feasible and robust enough to support a large number of users.</p>
        </sec>
        <sec sec-type="objective">
          <title>Objective</title>
          <p>To achieve a consistent, reproducible, and comparable PHR system, we build a novel ledger-oriented architecture out of a permissioned distributed network, providing patients with a manner to securely collect, store, share, and manage their health data. We also emphasize the importance of suitable ledgers and smart contracts to operate the blockchain network as well as discuss the necessity of standardizing evaluation metrics to compare related (net)works.</p>
        </sec>
        <sec sec-type="methods">
          <title>Methods</title>
          <p>We adopted the Hyperledger Fabric platform to implement our blockchain-based architecture design and the Hyperledger Caliper framework to provide a detailed assessment of our system: first, under workload, ranging from 100 to 2500 simultaneous record submissions, and second, increasing the network size from 3 to 13 peers. In both experiments, we used throughput and average latency as the primary metrics. We also created a health database, a cryptographic unit, and a server to complement the blockchain network.</p>
        </sec>
        <sec sec-type="results">
          <title>Results</title>
          <p>With a 3-peer network, smart contracts that write on the ledger have throughputs, measured in transactions per second (tps) in an order of magnitude close to 10<sup>2</sup> tps, while those contracts that only read have rates close to 10<sup>3</sup> tps. Smart contracts that write also have latencies, measured in seconds, in an order of magnitude close to 10<sup>1</sup> seconds, while that only read have delays close to 10<sup>0</sup> seconds. In particular, smart contracts that retrieve, list, and view history have throughputs varying, respectively, from 1100 tps to 1300 tps, 650 tps to 750 tps, and 850 tps to 950 tps, impacting the overall system response if they are equally requested under the same workload. Varying the network size and applying an equal fixed load, in turn, writing throughputs go from 10<sup>2</sup> tps to 10<sup>1</sup> tps and latencies go from 10<sup>1</sup> seconds to 10<sup>2</sup> seconds, while reading ones maintain similar values.</p>
        </sec>
        <sec sec-type="conclusions">
          <title>Conclusions</title>
          <p>To the best of our knowledge, we are the first to evaluate, using Hyperledger Caliper, the performance of a PHR blockchain architecture and the first to evaluate each smart contract separately. Nevertheless, blockchain systems achieve performances far below what the traditional distributed databases achieve, indicating that the assessment of blockchain solutions for PHR is a major concern to be addressed before putting them into a real production.</p>
        </sec>
      </abstract>
      <kwd-group>
        <kwd>electronic health record</kwd>
        <kwd>personal health record</kwd>
        <kwd>blockchain</kwd>
        <kwd>smart contract</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec sec-type="introduction">
      <title>Introduction</title>
      <sec>
        <title>Background</title>
        <p>Two closely related concepts have been drawing the attention of the biomedical and health informatics community: electronic health record (EHR) and health information exchange (HIE). The former, broadly speaking, covers all the repositories of digital data concerning retrospective, concurrent, and prospective information for ongoing support for patient health care [<xref ref-type="bibr" rid="ref1">1</xref>,<xref ref-type="bibr" rid="ref2">2</xref>]. Some examples of these digital repositories are electronic medical record [<xref ref-type="bibr" rid="ref3">3</xref>,<xref ref-type="bibr" rid="ref4">4</xref>], electronic patient record [<xref ref-type="bibr" rid="ref5">5</xref>,<xref ref-type="bibr" rid="ref6">6</xref>], and the personal health record (PHR). In particular, PHR systems are thought and developed to allow health data to be controlled and at least partly collected by the patient [<xref ref-type="bibr" rid="ref7">7</xref>-<xref ref-type="bibr" rid="ref9">9</xref>]. The latter, in turn, covers all electronic protocols for transferring data among hospitals, clinics, and other health organizations in order to share standard information regarding patient’s treatment [<xref ref-type="bibr" rid="ref10">10</xref>]. The Office of the National Coordinator for Health Information Technology defines 3 strategies for HIE: direct, query-based, and consumer-mediated. In particular, consumer-mediated HIE allows patients to retrieve their health information, share it with health care providers and stakeholders they trust, and then make better decisions in partnership [<xref ref-type="bibr" rid="ref11">11</xref>]. Even though it is a contentious issue yet, patients should ideally have full control of their own health data—authorizing access, sharing, and use—to reach an actual patient-centered HIE [<xref ref-type="bibr" rid="ref12">12</xref>,<xref ref-type="bibr" rid="ref13">13</xref>].</p>
        <p>Despite having been separately presented, an EHR repository and an HIE protocol can be incorporated into the same system as a matter of fact. In general, they comprise systems to store, retrieve, and share health data and, invariably, lead to interoperability, scalability, reliability, privacy, and security issues regarding those data. Interoperability can reduce or even eliminate handmade administrative tasks, avoid duplicate clinical services, and facilitate access to relevant information, thereby decreasing cost and waste and improving coordinate and unplanned care [<xref ref-type="bibr" rid="ref14">14</xref>]. Scalability can impact the scale and the transmission of health data, limiting the overall latency and throughput [<xref ref-type="bibr" rid="ref15">15</xref>]. Reliability can increase confidence in health organizations and contribute to the total testing process, thereby reducing diagnostic errors and supporting malpractice litigation [<xref ref-type="bibr" rid="ref15">15</xref>,<xref ref-type="bibr" rid="ref16">16</xref>].</p>
        <p>In particular, privacy and security relating to EHRs have been especially important issues because health data are undoubtedly sensitive. Patients must have their personal information guaranteed by civil rights, that is, only used and disclosed under their consent to indeed have privacy. In this sense, health care providers and regulators should be previously authorized before they are able to examine such information. Furthermore, patients must be protected from unauthorized access, modification, and exclusion of their stored data to really be safe. In general, lack of security can result in data theft and leakage [<xref ref-type="bibr" rid="ref17">17</xref>]. According to the US Department of Health and Human Services Office for Civil Rights, millions of people have had sensitive information stolen and exposed owing to recurrent database attacks on the health care industry [<xref ref-type="bibr" rid="ref18">18</xref>]. Although traditional cloud-assisted EHR has been a promising paradigm developed to address these issues, cloud environments rely on trusted and centralized third entities, which do not take full responsibility for privacy and security protection and only ensure it as much as possible [<xref ref-type="bibr" rid="ref19">19</xref>,<xref ref-type="bibr" rid="ref20">20</xref>]. However, blockchain-based systems, originally created to replace the trusted third party of the financial transactions [<xref ref-type="bibr" rid="ref21">21</xref>,<xref ref-type="bibr" rid="ref22">22</xref>], have been spreading to other fields, arousing the interest of the biomedical and health informatics community because they are tightly related to privacy and security concerns over EHR and HIE [<xref ref-type="bibr" rid="ref19">19</xref>]. Maintaining a distributed, tamper-resistant, and continuously growing ledger, blockchain networks are systems designed to have decentralized storage and management, avoiding the single point of failure and encouraging health care providers and patients to mutually collaborate without the control of a central intermediary. They are also systems created to have a permanent audit trail and a well-defined and consensual set of transaction rules (smart contracts), supplying and certifying health data provenance and establishing formal criteria to handle sensitive information [<xref ref-type="bibr" rid="ref23">23</xref>-<xref ref-type="bibr" rid="ref26">26</xref>].</p>
        <p>In view thereof, the aforesaid community has already provided an increasing number of blockchain uses: a decentralized record management to handle electronic medical records [<xref ref-type="bibr" rid="ref27">27</xref>], a PHR smartphone app to empower patients to take control of their own health data [<xref ref-type="bibr" rid="ref28">28</xref>], an architecture model to provide a PHR in which patients maintain a unified register of their health history even from different organizations [<xref ref-type="bibr" rid="ref29">29</xref>], a mobile health system to remotely perform cognitive behavioral therapy for insomnia [<xref ref-type="bibr" rid="ref30">30</xref>], a teledermatology platform to support diagnosis of skin diseases [<xref ref-type="bibr" rid="ref31">31</xref>], a privacy-preserving location sharing for telecare medical information systems [<xref ref-type="bibr" rid="ref32">32</xref>], an authentication service to seal biomedical database requests and the respective responses [<xref ref-type="bibr" rid="ref33">33</xref>], a pharmaceutical supply chain management to prevent counterfeit medicines [<xref ref-type="bibr" rid="ref34">34</xref>], a framework to share medical images [<xref ref-type="bibr" rid="ref35">35</xref>], a platform to remotely watch patient vital signs [<xref ref-type="bibr" rid="ref36">36</xref>], and an EHR to manage and share data from cancer treatment [<xref ref-type="bibr" rid="ref37">37</xref>], indicating a wide range of promising applications.</p>
      </sec>
      <sec>
        <title>Related Works and Our Contribution</title>
        <p>There are several contributions proposing blockchain-based architecture designs to address existing problems with EHR. However, most of them have targeted electronic medical records and electronic patient records, and only few approached PHR [<xref ref-type="bibr" rid="ref38">38</xref>,<xref ref-type="bibr" rid="ref39">39</xref>]. Combining traditional database storage, blockchain framework, and smartphone app, Yue et al [<xref ref-type="bibr" rid="ref28">28</xref>] were among the first to suggest an architecture model to empower the patient’s ability to control and share health data. Despite adopting access control policies in different usage scenarios, the authors did not provide a detailed description of the blockchain infrastructure or perform a system assessment.</p>
        <p>Roehrs et al [<xref ref-type="bibr" rid="ref29">29</xref>] presented a distributed and interoperable model, named the OmniPHR, in which patients can gather their health data to optimally manage their health history and in which health care providers, with the patient’s consent, can access such data, regardless of the institutional source. Although the work pointed out several relevant concepts about the PHR, it only simulated a peer-to-peer network infrastructure using OverSim [<xref ref-type="bibr" rid="ref40">40</xref>] and did not, in fact, implement a blockchain routine with the timestamped hashing blocks and the smart contracts. To remotely apply cognitive behavioral therapy for insomnia, Ichikawa et al [<xref ref-type="bibr" rid="ref30">30</xref>] developed a mobile health system based on a Hyperledger Fabric blockchain infrastructure [<xref ref-type="bibr" rid="ref41">41</xref>] to store the collected data. With a 4-node network, the authors evaluated the tamper resistance under simulated fault by taking 1 node down and subsequently, uploading new data and verifying the information recovery by lifting that node up and, from this, querying the update of the previous data [<xref ref-type="bibr" rid="ref30">30</xref>]. Even though the work had proposed a PHR system and tested its failure resilience, it did not provide performance indicators—throughput and latency under workload [<xref ref-type="bibr" rid="ref42">42</xref>-<xref ref-type="bibr" rid="ref44">44</xref>]—to assess the distributed network infrastructure.</p>
        <p>Liang et al [<xref ref-type="bibr" rid="ref45">45</xref>] developed a mobile app for users to store their personal health data in a cloud database, from wearable or medical devices and manual inputs as well and to share it with health care providers and health insurance companies they trust. Similar to [<xref ref-type="bibr" rid="ref30">30</xref>], Hyperledger Fabric was the blockchain framework used to implement a permissioned distributed network. Besides Fabric, to improve scalability and integrity, Merkle tree protocol, via Chainpoint [<xref ref-type="bibr" rid="ref46">46</xref>], was the tree-based data structure used to aggregate hashed records into leaf nodes until reaching a single root—the final hash to be saved in the blockchain. To evaluate performance, the work measured the average time cost during simultaneous recording. In another work, Liang et al [<xref ref-type="bibr" rid="ref47">47</xref>] elaborated a web application for PHR. The authors built a patient-centered architecture out of a trusted environment, supplied by Intel Software Guard Extension [<xref ref-type="bibr" rid="ref48">48</xref>] to maintain health data and control access logs regarding these data, and out of a permanent blockchain network supplied by Tierion [<xref ref-type="bibr" rid="ref49">49</xref>] to record both hashes of that data, certifying integrity and raw copies of that logs, thereby ensuring traceability. To evaluate performance and estimate overload, the work adopted 2 measures: the average time cost to handle a concurrent number of records and the average time cost to handle a large number of access tokens.</p>
        <p>Uddin et al [<xref ref-type="bibr" rid="ref50">50</xref>] proposed an end-to-end eHealthcare architecture for continuous patient monitoring, including a patient-centered component to oversee access control policies, coordinate sensors and devices, and ultimately, decide which data stream should be stored on a blockchain. Inspired by Bitcoin and Ethereum environments [<xref ref-type="bibr" rid="ref21">21</xref>,<xref ref-type="bibr" rid="ref51">51</xref>], the authors designed a customized blockchain infrastructure by using Java programming language, with which they implemented a selection of only trusted mining nodes to perform proof of work as consensus protocol. They compared their customized system with Bitcoin’s algorithm performance, analyzing surviving generations value and central processing unit and memory monitoring as metrics [<xref ref-type="bibr" rid="ref50">50</xref>].</p>
        <p>Using an Ethereum-based blockchain network [<xref ref-type="bibr" rid="ref51">51</xref>], Omar et al [<xref ref-type="bibr" rid="ref52">52</xref>] developed a privacy-preserving platform in which patients control all health data stored on and retrieved from a blockchain, while having their identity protected by cryptographic functions. Besides that, the authors suggested specific protocols to attain pseudonymity, privacy, integrity, accountability, and security throughout platform transactions. To analyze performance, they evaluated the transaction and execution costs of smart contracts by varying the string length of the data block and employing Ethereum’s crypto-fuel as a metric [<xref ref-type="bibr" rid="ref52">52</xref>].</p>
        <p>Roehrs et al [<xref ref-type="bibr" rid="ref53">53</xref>] extended the OmniPHR model devised in their prior work to a production scenario, considering a private blockchain network in which only verified and authenticated participants can access and manage it. Notwithstanding Ethereum and Hyperledger Fabric had been pondered as suitable blockchain platforms, the authors preferred to develop their own infrastructure by using open application programming interfaces such as Apache Kafka [<xref ref-type="bibr" rid="ref54">54</xref>], Apache Zookeeper [<xref ref-type="bibr" rid="ref55">55</xref>], and others. To evaluate performance over many queries, the work observed how throughput and latency varied from 50 to 500, from 1000 to 10,000, and from 13,000 to 40,000 concurrent requests.</p>
        <p>Through an Ethereum-based blockchain architecture, Lee et al [<xref ref-type="bibr" rid="ref56">56</xref>] proposed an international cross-area platform to arrange data from different health care services and manage authorizations for HIE among patients, health care providers, and stakeholders. By considering a test scenario in which a person had traveled from her/his home country to a foreign one and suddenly needed medical attention, the patient, registered on the platform, successfully granted a physician authorization to access her/his PHR. The physician, in turn, also registered on the platform, searched the requested PHR, and according to it and the current patient condition, provided a diagnosis and ordered treatment and medication [<xref ref-type="bibr" rid="ref56">56</xref>].</p>
        <p>Alongside the preceding papers, our work builds a blockchain-based architecture out of a permissioned distributed network in order to supply a PHR system for patients to securely collect, store, share, and manage their health data. Despite the similarities, it brings a novel ledger-oriented architecture model using Hyperledger Fabric, emphasizing the importance of suitable ledgers and smart contracts to operate the overall blockchain. In addition, it provides a detailed assessment of a 3-peer network—applying throughput and latency—under workload, ranging from 100 to 2500 simultaneous record submissions, and analyses, in this case for a fixed load, the impact of increasing the network, ranging from 3 to 13 peers. At the end, our work discusses the necessity of standardizing evaluation metrics to facilitate the comparison between related works.</p>
      </sec>
    </sec>
    <sec sec-type="methods">
      <title>Methods</title>
      <sec>
        <title>Blockchain and Smart Contracts</title>
        <p>Blockchain is a distributed, tamper-resistant, and continuously growing ledger for recording desirable assets and transactions in cryptographically chained blocks. It results from a protocol to add data blocks, using public-key cryptography and hash functions, and from a protocol to validate them, using a consensus algorithm on a peer-to-peer network [<xref ref-type="bibr" rid="ref21">21</xref>]. In this sense, each new block contains the timestamp, the hash of the previous block, and the list of the retrospective and current digitally signed assets and transactions. Each new one is also verified by the majority of the peers in order to provide a reliable full history of the register. Once the assets and transactions are validated by consensus, the new block is recorded in the chain and becomes immutable. Subsequently, the updated ledger is shared by all peers and, thenceforth, can be attested without the need of a central authority [<xref ref-type="bibr" rid="ref57">57</xref>,<xref ref-type="bibr" rid="ref58">58</xref>].</p>
        <p>Blockchain networks can be arranged either into a permissionless or a permissioned mechanism for selecting participants, to ensure the honest majority assumption, that is, the conjecture that the majority of the peers will be honest and run the consensus protocol correctly [<xref ref-type="bibr" rid="ref59">59</xref>]. On the one hand, a permissionless blockchain network—a domain of the cryptocurrencies and financial markets [<xref ref-type="bibr" rid="ref60">60</xref>]—does not have administrators managing membership or banning illegitimate peers; it is literally open to anyone who wants to be part of it [<xref ref-type="bibr" rid="ref58">58</xref>,<xref ref-type="bibr" rid="ref61">61</xref>]. In these circumstances, the network maintains incentive alignments as long as participants self-select but must expend computational resources, as in the proof of work, or even money, as in the proof of stake, to run the consensus protocol [<xref ref-type="bibr" rid="ref59">59</xref>]. On the other hand, a permissioned blockchain network—a domain of the business and institutional practices [<xref ref-type="bibr" rid="ref60">60</xref>]—has external administrators managing membership and defining which peers have read and write permission on the blockchain [<xref ref-type="bibr" rid="ref58">58</xref>,<xref ref-type="bibr" rid="ref61">61</xref>]. Although choosing the participants is outside the scope of the consensus protocol, the network establishes a consortium whereby members obey publicly documented policies to achieve group decision-making [<xref ref-type="bibr" rid="ref59">59</xref>].</p>
        <p>Smart contracts, in turn, are prespecified rules that allow a blockchain to be conducted in a consensual manner by all network participants. In practice, these rules represent transactions, which automatically operate digital assets and can be constructively used to state a bylaw among parties with common goals, attaining a decentralized autonomous organization [<xref ref-type="bibr" rid="ref51">51</xref>]. Encoding state transition functions, smart contracts are logically and effectively implemented as executable programs in both domain-specific and general-purpose languages and owe their security to the accomplishment of the consensus protocol [<xref ref-type="bibr" rid="ref41">41</xref>]. Despite opening a way to make digital codes into laws or official statements, blockchain and smart contracts are emerging technologies still. Therefore, they neither are legally binding documents nor have a jurisprudential agreement to be interpreted [<xref ref-type="bibr" rid="ref61">61</xref>].</p>
        <p>As already suggested in the introduction, Ethereum and Hyperledger Fabric have been the main open-source platforms used to develop blockchain frameworks into EHR and HIE [<xref ref-type="bibr" rid="ref23">23</xref>-<xref ref-type="bibr" rid="ref26">26</xref>,<xref ref-type="bibr" rid="ref38">38</xref>,<xref ref-type="bibr" rid="ref39">39</xref>]. Providing a built-in, Turing-complete, and domain-specific language (Solidity) to write smart contracts and distributed applications, Ethereum is an alternative to the first-generation scripting systems without full programming capabilities [<xref ref-type="bibr" rid="ref51">51</xref>]. In the beginning, it was launched to create permissionless networks [<xref ref-type="bibr" rid="ref62">62</xref>], implementing a consensus protocol (Ethash) based on the proof of work, in which a hash puzzle needs to be solved by a prover and validated by a set of verifiers [<xref ref-type="bibr" rid="ref22">22</xref>]. To mediate this computation and avoid network abuse, Ethereum has an internal cryptocurrency (Ether) to charge transaction fees and reward nodes competing to append new blocks to the chain [<xref ref-type="bibr" rid="ref63">63</xref>]. By the advent of the permissioned networks, Ethereum was also adapted to support general purpose languages such as Go and C++ [<xref ref-type="bibr" rid="ref23">23</xref>] and run a consensus protocol based on the proof of authority, in which only a set of known verifiers can be selected to validate a new block [<xref ref-type="bibr" rid="ref22">22</xref>].</p>
        <p>Hosted by the Linux Foundation, Hyperledger Fabric, in turn, is a decentralized operating system to create permissioned networks. It allows smart contracts (chaincodes) and distributed applications to be written in Go, Java, and Node. Using an ordering service implementation based on a crash-tolerance consensus [<xref ref-type="bibr" rid="ref22">22</xref>], it has an endorsement policy in which the smart contracts themselves, via chaincode lifecycle and private communication mechanisms (channels), specify a set of nodes to endorse transactions. In this sense, the nodes in Hyperledger Fabric have different functions: the client nodes to propose, orchestrate, and broadcast transactions, the peer nodes to execute and validate transactions as well as to maintain the ledger and the smart contracts, and the ordering service nodes to mediate state updates and dependencies during transaction execution. To control the identity of these nodes, Hyperledger Fabric has a membership service provider to handle certificate authorities and public key infrastructure and, from them, issue credentials for authentication and authorization [<xref ref-type="bibr" rid="ref41">41</xref>,<xref ref-type="bibr" rid="ref62">62</xref>].</p>
        <p>As already mentioned, we opt for the latter platform to implement our permissioned network. Most of the existing platforms, including Ethereum, implement a traditional active replication for the consensus protocol, which first orders and broadcasts transactions to all peers and second waits for each peer to perform such transactions sequentially (order-execute paradigm), limiting performance and requiring an additional mechanism to prevent denial-of-service attacks from untrusted codes [<xref ref-type="bibr" rid="ref41">41</xref>]. Executing transactions only on a subset of peers, Hyperledger Fabric implements an execute-order-validate paradigm, which first performs and verifies the transactions, then orders through a consensus protocol, and finally validates such transactions by the application-specific trust assumptions [<xref ref-type="bibr" rid="ref41">41</xref>]. Although there are scalability issues, Hyperledger Fabric has indeed exhibited better throughput and latency values than Ethereum and other blockchain platforms [<xref ref-type="bibr" rid="ref42">42</xref>,<xref ref-type="bibr" rid="ref43">43</xref>,<xref ref-type="bibr" rid="ref62">62</xref>]. In addition to these characteristics, it provides an entire set of privacy-preserving mechanisms to create and submit private transactions [<xref ref-type="bibr" rid="ref41">41</xref>,<xref ref-type="bibr" rid="ref62">62</xref>]—a decisive quality that influenced our decision.</p>
      </sec>
      <sec>
        <title>Blockchain-Based Architecture Design for PHR</title>
        <p>Using Hyperledger Fabric release 2.2, our blockchain network is structured with N peer nodes (P1, P2, …, PN), with N greater than or equal to 3, and an ordering service node. The peer nodes are the basic elements of the network because they store ledgers (L) and smart contracts (S) [<xref ref-type="bibr" rid="ref64">64</xref>]. Ideally, each peer infrastructure must be under the responsibility of a different corporation. In this sense, they can represent N interested parties—the government, health organizations, civil society institutions, hospitals, among others—acting for the maintenance and evolution of a PHR. Thus, the peer nodes provide network services such as the writing and reading of the ledgers for administrators and users relating to these parties. In theory, there is no upper bound for N other than that imposed by the hardware and software running the consensus protocol. In this sense, we first investigate a 3-peer network because it is the smallest one in which the majority assumption is reasonable and, second, analyze the impact of increasing N.</p>
        <p>The peers are associated with their respective client nodes (CL1, CL2, …, CLN)—the elements outside the network that allow an application to be connected to the blockchain, that is, an external application accesses ledgers and smart contracts via client-peer connection. By means of a software development kit [<xref ref-type="bibr" rid="ref65">65</xref>], Hyperledger Fabric supplies an application programming interface with instructions to perform the aforementioned connection in order to submit transactions as well as to receive responses after these transactions are finished or interrupted earlier due to the lack of consensus. In addition, Hyperledger Fabric conceives of a channel (C) as a primary communication pathway by which peers and clients can establish a consortium with well-defined policies, thus providing a mechanism for isolating assets and transactions from the rest of the network. In this context, each smart contract and the respective ledger can be separately invoked on a specific channel only by users previously registered in the consortium, thereby ensuring interoperability and privacy [<xref ref-type="bibr" rid="ref64">64</xref>].</p>
        <p>The peers get assigned to the consortium—the government, health organizations, civil society institutions, and hospitals in our example—by their respective certificate authorities (CA1, CA2, …, CAN), the elements that generate public and private key infrastructure to issue identities via digital certificates [<xref ref-type="bibr" rid="ref66">66</xref>]. Hyperledger Fabric has adopted the X.509 standard [<xref ref-type="bibr" rid="ref67">67</xref>] as its primary certificate system. Whenever one of the consortium members establishes a client-peer connection to access the blockchain resources, these certificate authorities attest to the channel the digital identity of the applicant and her/his rights to use the required smart contract. As already mentioned, the Fabric component mapping identities with their own rights is the membership service provider, which inspects who participates in the network and their channels, identifying roles and limits of all administrators and users [<xref ref-type="bibr" rid="ref64">64</xref>].</p>
        <p>Lastly, the ordering service node mediates the interaction between peers during a transaction submission and ensures a consistent ledger after performing the consensus protocol. In Hyperledger Fabric, the endorsement policy occurs as a result of a 3-phase process: (1) proposal, (2) ordering and packing, and (3) validation and commit. Roughly speaking, in the first phase, a client node submits a transaction proposal, which is distributed to the endorsement peers and is independently executed by them, returning a set of endorsed responses—inconsistent responses can be already detected and discarded, finishing the workflow early. In the second phase, the ordering service node collects these responses and packages them into blocks, preparing for the next step. In the third phase, the ordering service node finally distributes the blocks to the peers, which in turn validate them to verify the endorsement phase and, only after that, commit to the ledger—failed transactions terminate the workflow without writing on the blockchain [<xref ref-type="bibr" rid="ref64">64</xref>]. <xref rid="figure1" ref-type="fig">Figure 1</xref> summarizes our architecture design, just omitting the ordering service node for a better visualization. The N peers in our network are configured to participate in the endorsement phase.</p>
        <p>Turning the analysis to the ledgers and smart contracts, our approach considers 3 classes: (1) for personally identifiable information (PII), (2) for health record information (HRI), and (3) for record sharing information (RSI) (<xref rid="figure2" ref-type="fig">Figure 2</xref>). By opting for 2 or more ledgers (3 in our case), blockchains also evolve in an intricate and unpredictable way, which makes any attempt to tamper with health records even more difficult and unlikely as long as the system is in use. Besides the tamper resistance, such configuration permits the blockchain network to be structured in an oriented-ledger architecture design, making data organization aligned with the resource consumption.</p>
        <p>PII is designed to store basic form data filled by the user at the moment of registration in the system. There are smart contracts to add, update, retrieve, and view history, respectively, to write a new record, rectify a registration error, perform a system login, and recover an updating log. To add a PII, the user needs to register with a password—converted into a hash value for security—and thus, receive a unique identifier (PII ID). Once registered, the PII ID is only recovered from a login, that is, identity number or email and the correct password hash. All other smart contracts, including those from HRI and RSI, are only able to write and read the ledger by means of a PII ID as the prefix of a composite key. In such a way, each user just accesses her/his data. HRI, in turn, is designed to store metadata from a health document, together with a hash value and a database ID, for reasons to be explained later in the text. Similar to the PII, there are smart contracts to add, update, retrieve—in this case, to recover a single record—and view history, and one further to list all records for a user. Finally, RSI is designed to store HIE logs in order to track every time a copy of a health document leaves the repository, either for downloading or sharing. There are smart contracts to add, retrieve, and list. To keep HIE logs unchanged, we opt for not creating a smart contract to update them; hence, neither one to view history.</p>
        <p>Notwithstanding the necessity of smart contracts to list HRI and RSI, for the sake of security, PHR systems do not need one to list PII. One such smart contract would allow an administrator to list users and associate them with their respective HRI and RSI. To prevent such a situation and actually grant to a user the exclusive right of her/his health data ownership, the PII ID is only retrieved with the correct password hash. Because PII ID is a required index prefix to use HRI and RSI smart contracts, the absence of a PII listing function represents an additional security element directly configured in the operation rules of the system. Note that these settings are not just programming practices. Because smart contracts state the logic of the blockchain network, a set of security practices at the present time can evolve to rule status in the near future. Indeed, using smart contracts is a great opportunity to create a bylaw or business logic for PHR, defining which is and is not permitted regarding the access to patient information.</p>
        <p>Although there are several smart contracts, they consist of 2 basic network operations: writing and reading. The former is used to invoke either the creation of a new state on the ledger or the modification of an existing one—without deleting past states, evidently. Smart contracts to add and update fall into this type. To perform writing, a client node needs to start an endorsement policy and reach consensus—a process that involves all peers. The latter operation, in turn, is used to query the current state and history of a ledger. Smart contracts to retrieve, list, and view history fall into this another type. To perform reading, a client node just connects to its associated peer and thus queries the stored ledger, independently of the other peers. Similar to the client-peer connection resources, by means of another software development kit [<xref ref-type="bibr" rid="ref68">68</xref>], Hyperledger Fabric supplies an application programming interface with instructions for the development of smart contracts and business logic. As already mentioned, Fabric provides support for Go, Java, and Node, but we adopt the latter as our primary programming language to build our architecture design.</p>
        <fig id="figure1" position="float">
          <label>Figure 1</label>
          <caption>
            <p>Design of our blockchain network, considering N endorsement peers and their respective clients and certificate authorities. Each channel is associated with a specific set of ledgers and smart contracts, respectively named as personally identifiable information, health record information, and record sharing information. Ideally, each triple peer-client-certificate authority must be under the responsibility of a different organization or institution. HRI: health record information; PII: personally identifiable information; RSI: record sharing information; P: peer; S: smart contract; L: ledger; CL: client; CA: certificate authority; C: channel.</p>
          </caption>
          <graphic xlink:href="jmir_v24i4e35013_fig1.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
        </fig>
        <fig id="figure2" position="float">
          <label>Figure 2</label>
          <caption>
            <p>Design of the ledgers and their respective smart contracts. They fall into 3 classes: personally identifiable information, health record information, and record sharing information. HRI: health record information; MIME: Multipurpose Internet Mail Extensions; PII: personally identifiable information; RSI: record sharing information.</p>
          </caption>
          <graphic xlink:href="jmir_v24i4e35013_fig2.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
        </fig>
      </sec>
      <sec>
        <title>Health Database, Cryptographic Unit, and Server</title>
        <p>Although blockchain technology provides security tools against record tampering, it is still not suitable for storing a large volume of data, despite the efforts made to meet this requirement [<xref ref-type="bibr" rid="ref69">69</xref>]. Nowadays, only metadata such as PII, HRI, and RSI can be recorded and maintained in a blockchain network. Therefore, our system also includes a NoSQL database to permit the scaling of all sorts of health data (text, signals, and images) in clusters of machines. To implement our NoSQL health database, we adopted MongoDB, a document-oriented database, which indeed supports methods to distribute and replicate data across multiple machines and provides lower execution times than a relational one, making the scaling out easier for applications demanding both a large volume of data and a large number of queries [<xref ref-type="bibr" rid="ref70">70</xref>]. In summary, while metadata (PII, HRI, and RSI) are stored on the blockchain network, data, that is, digital health documents, are stored on a distributed health database as soon as the network achieves consensus. In these circumstances, the health documents are hashed and their hash values are included as metadata in HRI to shield them from breaches. Note that the blockchain network represents an audit system [<xref ref-type="bibr" rid="ref71">71</xref>] and the health documents can be anonymized in the health database, apart from a database ID in the sole possession of the user.</p>
        <p>As a further safeguard, the data and metadata are encrypted. When a user registers in our system, she/he automatically receives a key to encrypt information entering the system as well as to decrypt that leaving out by means of a cryptographic unit. Each user obtains her/his own key and is only capable of decrypting her/his own data evidently. Because our health database is configured to store documents smaller than or equal to 100 MB, we opt for using the advanced encryption standard (AES), a symmetric key block encryption algorithm recommended by the National Institute of Standards and Technology. The AES handles block sizes of at least 128 bits and key sizes of 128, 192, and 256 bits. The AES also accepts 5 modes of operation, that is, electronic codebook, cipher block chaining (CBC), cipher feedback, output feedback, and counter, for preventing identical ciphertexts to be generated from blocks containing the same data, a breach that facilitates a malicious opponent to accumulate enough plaintext-ciphertext pairs and thus find the key by exhaustion in a feasible time. In particular, CBC requires an initialization vector, which takes an exclusive-OR operation with the first plaintext block and, if randomly generated, provides different ciphertexts from the same data [<xref ref-type="bibr" rid="ref72">72</xref>,<xref ref-type="bibr" rid="ref73">73</xref>]. We adopt CBC as our mode of operation and 256 bits as our key and initialization vector sizes, resulting in the AES-256-CBC algorithm. The key and initialization vector of each user are allocated in a private wallet/folder, alongside her/his digital certificate.</p>
        <p>As a final module, we build a server infrastructure out of a Node framework to host the blockchain clients and, thereby, provide blockchain resources for external applications. Through a control unit, and performing specific calls for each smart contract as well as for each database operation, this server supports the registration and access of users, the inclusion, updating and retrieval of health documents, and the creation of links to download and share these documents—only with the consent and supervision of the respective user, evidently. Roughly speaking, this server executes 3 basic steps: (1) it receives requests from external applications, (2) according to each request, it accesses the corresponding network and database resources, and (3) it returns consistent responses to those applications. Because the server works as an intermediate system between blockchain network, health database, and external applications, it conveniently accommodates the cryptographic unit. In this way, sensitive information is encrypted as soon as it enters the system and only decrypted when leaving out. <xref rid="figure3" ref-type="fig">Figure 3</xref> highlights all these interconnected modules and <xref rid="figure4" ref-type="fig">Figure 4</xref> exemplifies the flow of information during the query or record request of a health document.</p>
        <fig id="figure3" position="float">
          <label>Figure 3</label>
          <caption>
            <p>Sketch of the overall system, exhibiting the interconnections between server, health database, and blockchain network, in order to provide personal health record resources for external applications. HRI: health record information; PII: personally identifiable information; RSI: record sharing information.</p>
          </caption>
          <graphic xlink:href="jmir_v24i4e35013_fig3.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
        </fig>
        <fig id="figure4" position="float">
          <label>Figure 4</label>
          <caption>
            <p>Flow of information during the query or record request of a health document. The server only returns a successful response if data and metadata are consistent. The flow can be interrupted earlier owing to lack of consensus.</p>
          </caption>
          <graphic xlink:href="jmir_v24i4e35013_fig4.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
        </fig>
      </sec>
      <sec>
        <title>Evaluation Benchmark</title>
        <p>To evaluate our blockchain-based architecture design, we use Hyperledger Caliper—a benchmark tool released by the Hyperledger community for measuring the performance of blockchain systems and producing reports containing metrics commonly accepted, such as throughput and latency. Caliper supports Ethereum and Hyperledger Fabric, allowing computer scientists and engineers to compare EHR proposals developed from the 2 main platforms at present. It is capable of generating a workload for a system under test (SUT) and continuously monitoring responses from this SUT [<xref ref-type="bibr" rid="ref44">44</xref>,<xref ref-type="bibr" rid="ref74">74</xref>].</p>
        <p>To run an experiment, Caliper requires a benchmark file, a network file, and workload modules. The first one presents custom configurations to run the benchmark, such as the number of workers to perform a workload, the round settings, the number of submissions, the round length in seconds, the rate at which transactions are sent to the blockchain, among others. The second one presents the layout of the SUT—basically, the addresses and identities of the nodes and the channels and smart contracts to be used during the test. Lastly, workload modules are Node functions exported to simulate client nodes sending requests to the SUT, that is, in each round, a different workload module can be used to generate and submit transactions to the SUT, according to the configurations in the benchmark and network files. Therefore, Caliper can emulate many clients injecting workloads in a blockchain network [<xref ref-type="bibr" rid="ref44">44</xref>,<xref ref-type="bibr" rid="ref74">74</xref>].</p>
        <p>As already mentioned, 2 basic metrics to assess blockchain performance are throughput and latency. The former, usually given in transactions per second (tps), represents the total number of valid transactions reached in a period of time [<xref ref-type="bibr" rid="ref42">42</xref>]. In this sense, invalid transactions are subtracted from the total to yield the valid ones. Because transactions fall into reading and writing operations, throughput also falls into these types. On the one hand, reading throughput may be informative, but it only measures operations taken on a single client-peer connection, independently of the other peers, and therefore, is not a primary measure. On the other hand, writing throughput considers operations invoking the consensus protocol and thus committing transactions at all endorsement peers, making it much more informative than the preceding rate [<xref ref-type="bibr" rid="ref75">75</xref>].</p>
        <p>The latter, in turn, usually given in seconds, represents the time taken for a transaction to conclude and return a response [<xref ref-type="bibr" rid="ref42">42</xref>]. Similar to the throughput, latency also falls into reading and writing types: the first one measures delays from a single client-peer connection, while the second one from all endorsement peers. In particular, writing latency includes the propagation and settling times due to the consensus protocol, considering delays measured over the entire network. Although this metric is generally calculated per transaction, the average latency is more suitable to assess blockchain performance [<xref ref-type="bibr" rid="ref75">75</xref>].</p>
      </sec>
    </sec>
    <sec sec-type="results">
      <title>Results</title>
      <p>With a 3-peer network, our first benchmark is set to run a workload, from 100 to 2500 simultaneous submissions of health metadata, with steps of 100, on each smart contract of the PII, HRI, and RSI templates. We limit our test to 2500 loads because Hyperledger Fabric is standardly configured to perform a maximum of 2500 concurrent requests. Writing scenarios are configured to use 5 workers submitting at the same time 10,000 transactions, each one totalizing 50,000. Reading scenarios are configured to use the same 5 workers in parallel but to randomly request records during 600 seconds of continuous operation. The rate controller is kept in a fixed-load mode, starting at 50 tps and 500 tps, for writing and reading transactions, respectively, and growing to reach maximum rates. Because PII, HRI, and RSI are designed to store ciphertexts only, in our test, all simulated submissions of health metadata are randomly generated as strings of fixed length for each smart contract field. An empty blockchain network is raised in each load test to guarantee an equal condition. Our test environment consists of a machine having an Intel Xeon E-2246G processor (12 MB cache, 3.60 GHz, 6 cores, 12 threads), an NVIDIA Quadro P1000 graphic adapter, and a random access memory of 16 GB, running Ubuntu 18.04.5 LTS 64 bits operating system.</p>
      <p><xref rid="figure5" ref-type="fig">Figure 5</xref> exhibits the throughputs and average latencies in relation to PII, HRI, and RSI smart contracts under workload. We do not report transaction errors because not one occurred. Disregarding the small variations inherent in each workload trial, and albeit with different baselines, the throughputs of all smart contracts remain fairly constant over the interval, a consistent behavior given that the system responses appear to be invariant to load. Smart contracts to add and update a record have rates with an order of magnitude close to 10<sup>2</sup> tps, while those to retrieve, list, and view history have rates close to 10<sup>3</sup> tps. As already suggested, this difference arises mainly because writing transactions trigger the consensus protocol, mobilize the network as a whole, and then need more time to process all submissions, whereas reading ones only involve a single client-peer connection. Although with different upward slopes, the average latencies of all smart contracts present a linear growth as workload range varies, a reasonable behavior inasmuch as an increase in submissions demands a proportional increase in processing. In this case, smart contracts to add and update a record have delays with an order of magnitude close to 10<sup>1</sup> seconds, while those to retrieve, list, and view history have delays close to 10<sup>0</sup> seconds. In analogy with the throughput, there is an obvious difference between writing and reading transactions, for the same reason as before.</p>
      <p>Even though throughputs of reading transactions present a similar order of magnitude, they have significant differences between them. Smart contracts to retrieve, list, and view history have throughputs varying, respectively, from 1100 tps to 1300 tps, from 650 tps to 750 tps, and from 850 tps to 950 tps. Their latencies, in turn, grow at slightly different linear rates, albeit alike. These 2 pieces of evidence suggest that reading transactions can impact the overall system response if they are equally requested. An external application under a real situation has to consider the smallest of these values as the upper limit to avoid overload. With a fixed load at 2000 submissions, our second benchmark is set to increase the network size from 3 to 13 peers, with steps of 2, and perform, for each case, the writing and reading scenarios of the previous experimental protocol. We limit the largest network to 13 peers because by considering our test environment, Hyperledger Fabric has a very poor performance beyond this value, resulting in many transaction failures. <xref rid="figure6" ref-type="fig">Figure 6</xref> displays the throughputs and average latencies when the size of the network increases. For reading smart contracts, they remain fairly constant over the interval, sustaining orders of magnitude close to 10<sup>3</sup> tps and 10<sup>0</sup> seconds, respectively, a consistent behavior given that such operations rely on a single client-peer connection. Writing smart contracts, in turn, start with throughputs close to 10<sup>2</sup> tps but end with rates close to 10<sup>1</sup> tps, exhibiting an exponential decay. They also start with latencies of 10<sup>1</sup> seconds but end with delays of 10<sup>2</sup> seconds, presenting a linear growth. Both pieces of evidence corroborate the well-known scalability issue of Hyperledger Fabric when the number of endorsement peers increases.</p>
      <p>As a final comment when observing throughputs and average latencies in <xref rid="figure5" ref-type="fig">Figures 5</xref> and <xref rid="figure6" ref-type="fig">6</xref>, despite the obvious differences regarding each smart contract operation (to add, update, retrieve, list, and view history), the ongoing metrics of the 3 proposed templates (PII, HRI, RSI) do not reveal large deviations within a single operation, indicating a similar performance even with slightly different sizes of health metadata.</p>
      <fig id="figure5" position="float">
        <label>Figure 5</label>
        <caption>
          <p>Throughput (measured in transactions per second) and average latency (measured in seconds) of all smart contracts under workload, ranging from 100 to 2500 concurrent submissions of health metadata, with steps of 100. HRI: health record information; PII: personally identifiable information; RSI: record sharing information; tps: transactions per second.</p>
        </caption>
        <graphic xlink:href="jmir_v24i4e35013_fig5.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
      </fig>
      <fig id="figure6" position="float">
        <label>Figure 6</label>
        <caption>
          <p>Throughput (measured in transactions per second) and average latency (measured in seconds) of all smart contracts, by considering a network increase from 3 to 13 endorsement peers, with steps of 2. HRI: health record information; PII: personally identifiable information; RSI: record sharing information; tps: transactions per second.</p>
        </caption>
        <graphic xlink:href="jmir_v24i4e35013_fig6.png" alt-version="no" mimetype="image" position="float" xlink:type="simple"/>
      </fig>
    </sec>
    <sec sec-type="discussion">
      <title>Discussion</title>
      <p>The results of this study are comparable to those reported previously in the literature [<xref ref-type="bibr" rid="ref42">42</xref>-<xref ref-type="bibr" rid="ref44">44</xref>], indicating that blockchain systems achieve performances far below what the traditional distributed databases achieve [<xref ref-type="bibr" rid="ref76">76</xref>,<xref ref-type="bibr" rid="ref77">77</xref>]. Traditional databases make use of concurrency control, for example, 2-phase locking to ensure atomicity, consistency, isolation, and durability. By and large, they exhibit better performance because they consider simple failure models such as crash failure. Oppositely, blockchain systems consider Byzantine failure and, in the worst scenario, a hostile environment in which nodes can join and leave the network, which undeniably makes the overhead of concurrency control much more difficult to handle [<xref ref-type="bibr" rid="ref42">42</xref>]. However, despite being widely recommended by the blockchain community [<xref ref-type="bibr" rid="ref42">42</xref>-<xref ref-type="bibr" rid="ref44">44</xref>], throughput and latency have not been commonly adopted metrics for evaluating PHR. Yue et al [<xref ref-type="bibr" rid="ref28">28</xref>] did not even perform a system assessment; Roehrs et al [<xref ref-type="bibr" rid="ref29">29</xref>] only simulated a peer-to-peer network and then, provided an inferred latency; Ichikawa et al [<xref ref-type="bibr" rid="ref30">30</xref>] assessed the tamper resistance in a fault simulation context; Liang et al [<xref ref-type="bibr" rid="ref45">45</xref>] and Liang et al [<xref ref-type="bibr" rid="ref47">47</xref>] measured an average time cost to handle simultaneous records; Uddin et al [<xref ref-type="bibr" rid="ref50">50</xref>] employed surviving generations value as well as central processing unit and memory monitoring; Omar et al [<xref ref-type="bibr" rid="ref52">52</xref>] opted for Ethereum’s crypto-fuel; and Lee et al [<xref ref-type="bibr" rid="ref56">56</xref>] proposed a test scenario in which a person and a doctor actually used the system [<xref ref-type="bibr" rid="ref56">56</xref>]. Only Roehrs et al [<xref ref-type="bibr" rid="ref53">53</xref>] observed how throughput and latency varied, under workload, from 50 to 500, from 1000 to 10,000, and from 13,000 to 40,000 concurrent requests as light, medium, and heavy scenarios, respectively. The authors achieved, in the heavy one, impressive values: 2298 tps and 0.404 seconds on average [<xref ref-type="bibr" rid="ref53">53</xref>]. However, the authors arranged health data on single data blocks with writing and reading capabilities as a unified view of patients, thus not performing a bylaw or business logic for PHR and only assessed reading transactions considering these blocks. Furthermore, they did not develop their network from an open-source platform, hindering system reproducibility.</p>
      <p>In practice, most of the works focus more on describing how blockchain models can be used in a PHR scenario than whether these models are in fact feasible to support a large number of users. Because the health industry can easily cover tens or even hundreds of millions of patients in a single country, we think the assessment of blockchain solutions for PHR is a major concern to be addressed before putting them into a real production. In view thereof, there is a latent necessity of standardizing evaluation metrics to facilitate the comparison between related works. We think that throughput and average latency are suitable metrics for this purpose as well as Hyperledger Caliper and BLOCKBENCH [<xref ref-type="bibr" rid="ref42">42</xref>] adequate frameworks to perform this evaluation.</p>
      <p>Toward a consistent, reproducible, and comparable PHR evaluation, and by regarding throughput and latency, we are the first to evaluate with Hyperledger Caliper the performance of a PHR blockchain architecture. Because Caliper is the official benchmark to access blockchain networks built out of Fabric, we believe that our results bring important insights to the limits and advantages of using Fabric to design PHR repositories. Moreover, Caliper can be adapted to access Ethereum-based systems, facilitating the comparison between architectures created with the 2 main open-source platforms at the present time. To the best of our knowledge, we are also the first to evaluate each smart contract separately. Previous works considered smart contracts as falling only into writing and reading transactions and have just identified dissimilarities between these 2 types. However, we reveal that, especially in relation to reading ones, throughput and latency can have significant differences, impacting the overall system response if these transactions are equally requested under the same workload.</p>
      <p>Specifically in relation to our proposal, as a first implementation, the blockchain network, the health database, and the server are allocated through virtual machines on a single physical device, only simulating a decentralized system, which represents a limitation of our work. Furthermore, because we are primarily interested in the blockchain architecture, the health database and the server are incorporated in the model but they are not actually tested considering an external application under a real situation, which represents an additional limitation. We leave these improvements for future work because we believe that our current results already provide important advice to the biomedical and health informatics community.</p>
      <p>In conclusion, the importance of blockchain-based architectures for PHR lies in the fact that they are thought and developed to allow a patient to control and at least partly collect health data, as well as to share health information on her/his own. Ideally, these systems should provide the full control of such data for the respective owner [<xref ref-type="bibr" rid="ref78">78</xref>]; that is, each patient must authorize health care providers and stakeholders (s)he trusts before they can access her/his personal health data. Exactly because blockchain systems are tightly related to privacy and security concerns, several works are proposing blockchain-based solutions to the health care industry. In line with these efforts, we build a novel ledger-oriented architecture out of a permissioned distributed network in order to support a PHR system for patients to securely collect, store, share, and manage their health data. We emphasize the importance of suitable ledgers and smart contracts to operate the overall blockchain network and provide a detailed assessment of this network under workload, ranging from 100 to 2500 concurrent submissions, and increasing the network size from 3 to 13 peers. To the best of our knowledge, we are the first to evaluate with Hyperledger Caliper the performance of a PHR blockchain architecture and the first to evaluate each smart contract separately. However, our system elements are allocated through virtual machines on a single physical device, only simulating a decentralized system. Besides this limitation, our health database and server are incorporated in the model but they are not actually tested considering an external application under a real situation. We intend to perform these enhancements in future works.</p>
    </sec>
  </body>
  <back>
    <app-group/>
    <glossary>
      <title>Abbreviations</title>
      <def-list>
        <def-item>
          <term id="abb1">AES</term>
          <def>
            <p>advanced encryption standard</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb2">CBC</term>
          <def>
            <p>cipher block chaining</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb3">EHR</term>
          <def>
            <p>electronic health record</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb4">HIE</term>
          <def>
            <p>health information exchange</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb5">HRI</term>
          <def>
            <p>health record information</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb6">PHR</term>
          <def>
            <p>personal health record</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb7">PII</term>
          <def>
            <p>personally identifiable information</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb8">RSI</term>
          <def>
            <p>record sharing information</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb9">SUT</term>
          <def>
            <p>system under test</p>
          </def>
        </def-item>
        <def-item>
          <term id="abb10">tps</term>
          <def>
            <p>transactions per second</p>
          </def>
        </def-item>
      </def-list>
    </glossary>
    <ack>
      <p>We thank Foxconn for the financial support and Instituto do Coração, Hospital das Clínicas, Faculdade de Medicina, Universidade de São Paulo for the research infrastructure.</p>
    </ack>
    <fn-group>
      <fn fn-type="conflict">
        <p>None declared.</p>
      </fn>
    </fn-group>
    <ref-list>
      <ref id="ref1">
        <label>1</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Häyrinen</surname>
              <given-names>Kristiina</given-names>
            </name>
            <name name-style="western">
              <surname>Saranto</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>Nykänen</surname>
              <given-names>Pirkko</given-names>
            </name>
          </person-group>
          <article-title>Definition, structure, content, use and impacts of electronic health records: a review of the research literature</article-title>
          <source>Int J Med Inform</source>
          <year>2008</year>
          <month>05</month>
          <volume>77</volume>
          <issue>5</issue>
          <fpage>291</fpage>
          <lpage>304</lpage>
          <pub-id pub-id-type="doi">10.1016/j.ijmedinf.2007.09.001</pub-id>
          <pub-id pub-id-type="medline">17951106</pub-id>
          <pub-id pub-id-type="pii">S1386-5056(07)00168-2</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref2">
        <label>2</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Hripcsak</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Albers</surname>
              <given-names>DJ</given-names>
            </name>
          </person-group>
          <article-title>Next-generation phenotyping of electronic health records</article-title>
          <source>J Am Med Inform Assoc</source>
          <year>2013</year>
          <month>01</month>
          <day>01</day>
          <volume>20</volume>
          <issue>1</issue>
          <fpage>117</fpage>
          <lpage>21</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="http://europepmc.org/abstract/MED/22955496"/>
          </comment>
          <pub-id pub-id-type="doi">10.1136/amiajnl-2012-001145</pub-id>
          <pub-id pub-id-type="medline">22955496</pub-id>
          <pub-id pub-id-type="pii">amiajnl-2012-001145</pub-id>
          <pub-id pub-id-type="pmcid">PMC3555337</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref3">
        <label>3</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Ludwick</surname>
              <given-names>DA</given-names>
            </name>
            <name name-style="western">
              <surname>Doucette</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <article-title>Adopting electronic medical records in primary care: lessons learned from health information systems implementation experience in seven countries</article-title>
          <source>Int J Med Inform</source>
          <year>2009</year>
          <month>01</month>
          <volume>78</volume>
          <issue>1</issue>
          <fpage>22</fpage>
          <lpage>31</lpage>
          <pub-id pub-id-type="doi">10.1016/j.ijmedinf.2008.06.005</pub-id>
          <pub-id pub-id-type="medline">18644745</pub-id>
          <pub-id pub-id-type="pii">S1386-5056(08)00092-0</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref4">
        <label>4</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Zahabi</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Kaber</surname>
              <given-names>DB</given-names>
            </name>
            <name name-style="western">
              <surname>Swangnetr</surname>
              <given-names>M</given-names>
            </name>
          </person-group>
          <article-title>Usability and Safety in Electronic Medical Records Interface Design: A Review of Recent Literature and Guideline Formulation</article-title>
          <source>Hum Factors</source>
          <year>2015</year>
          <month>08</month>
          <volume>57</volume>
          <issue>5</issue>
          <fpage>805</fpage>
          <lpage>34</lpage>
          <pub-id pub-id-type="doi">10.1177/0018720815576827</pub-id>
          <pub-id pub-id-type="medline">25850118</pub-id>
          <pub-id pub-id-type="pii">0018720815576827</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref5">
        <label>5</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Mikkelsen</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Aasly</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <article-title>Concordance of information in parallel electronic and paper based patient records</article-title>
          <source>International Journal of Medical Informatics</source>
          <year>2001</year>
          <month>10</month>
          <volume>63</volume>
          <issue>3</issue>
          <fpage>123</fpage>
          <lpage>131</lpage>
          <pub-id pub-id-type="doi">10.1016/s1386-5056(01)00152-6</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref6">
        <label>6</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Thiru</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>Hassey</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Sullivan</surname>
              <given-names>F</given-names>
            </name>
          </person-group>
          <article-title>Systematic review of scope and quality of electronic patient record data in primary care</article-title>
          <source>BMJ</source>
          <year>2003</year>
          <month>05</month>
          <day>17</day>
          <volume>326</volume>
          <issue>7398</issue>
          <fpage>1070</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="http://europepmc.org/abstract/MED/12750210"/>
          </comment>
          <pub-id pub-id-type="doi">10.1136/bmj.326.7398.1070</pub-id>
          <pub-id pub-id-type="medline">12750210</pub-id>
          <pub-id pub-id-type="pii">326/7398/1070</pub-id>
          <pub-id pub-id-type="pmcid">PMC155692</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref7">
        <label>7</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Tang</surname>
              <given-names>PC</given-names>
            </name>
            <name name-style="western">
              <surname>Ash</surname>
              <given-names>JS</given-names>
            </name>
            <name name-style="western">
              <surname>Bates</surname>
              <given-names>DW</given-names>
            </name>
            <name name-style="western">
              <surname>Overhage</surname>
              <given-names>JM</given-names>
            </name>
            <name name-style="western">
              <surname>Sands</surname>
              <given-names>DZ</given-names>
            </name>
          </person-group>
          <article-title>Personal health records: definitions, benefits, and strategies for overcoming barriers to adoption</article-title>
          <source>J Am Med Inform Assoc</source>
          <year>2006</year>
          <volume>13</volume>
          <issue>2</issue>
          <fpage>121</fpage>
          <lpage>6</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="http://europepmc.org/abstract/MED/16357345"/>
          </comment>
          <pub-id pub-id-type="doi">10.1197/jamia.M2025</pub-id>
          <pub-id pub-id-type="medline">16357345</pub-id>
          <pub-id pub-id-type="pii">M2025</pub-id>
          <pub-id pub-id-type="pmcid">PMC1447551</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref8">
        <label>8</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Archer</surname>
              <given-names>N</given-names>
            </name>
            <name name-style="western">
              <surname>Fevrier-Thomas</surname>
              <given-names>U</given-names>
            </name>
            <name name-style="western">
              <surname>Lokker</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>McKibbon</surname>
              <given-names>KA</given-names>
            </name>
            <name name-style="western">
              <surname>Straus</surname>
              <given-names>SE</given-names>
            </name>
          </person-group>
          <article-title>Personal health records: a scoping review</article-title>
          <source>J Am Med Inform Assoc</source>
          <year>2011</year>
          <volume>18</volume>
          <issue>4</issue>
          <fpage>515</fpage>
          <lpage>22</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="http://europepmc.org/abstract/MED/21672914"/>
          </comment>
          <pub-id pub-id-type="doi">10.1136/amiajnl-2011-000105</pub-id>
          <pub-id pub-id-type="medline">21672914</pub-id>
          <pub-id pub-id-type="pii">amiajnl-2011-000105</pub-id>
          <pub-id pub-id-type="pmcid">PMC3128401</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref9">
        <label>9</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Roehrs</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>da Costa</surname>
              <given-names>Cristiano André</given-names>
            </name>
            <name name-style="western">
              <surname>Righi</surname>
              <given-names>RDR</given-names>
            </name>
            <name name-style="western">
              <surname>de Oliveira</surname>
              <given-names>Kleinner Silva Farias</given-names>
            </name>
          </person-group>
          <article-title>Personal Health Records: A Systematic Literature Review</article-title>
          <source>J Med Internet Res</source>
          <year>2017</year>
          <month>01</month>
          <day>06</day>
          <volume>19</volume>
          <issue>1</issue>
          <fpage>e13</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://www.jmir.org/2017/1/e13/"/>
          </comment>
          <pub-id pub-id-type="doi">10.2196/jmir.5876</pub-id>
          <pub-id pub-id-type="medline">28062391</pub-id>
          <pub-id pub-id-type="pii">v19i1e13</pub-id>
          <pub-id pub-id-type="pmcid">PMC5251169</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref10">
        <label>10</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Rudin</surname>
              <given-names>RS</given-names>
            </name>
            <name name-style="western">
              <surname>Motala</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Goldzweig</surname>
              <given-names>CL</given-names>
            </name>
            <name name-style="western">
              <surname>Shekelle</surname>
              <given-names>PG</given-names>
            </name>
          </person-group>
          <article-title>Usage and Effect of Health Information Exchange</article-title>
          <source>Ann Intern Med</source>
          <year>2014</year>
          <month>12</month>
          <day>02</day>
          <volume>161</volume>
          <issue>11</issue>
          <fpage>803</fpage>
          <pub-id pub-id-type="doi">10.7326/m14-0877</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref11">
        <label>11</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Williams</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>Mostashari</surname>
              <given-names>F</given-names>
            </name>
            <name name-style="western">
              <surname>Mertz</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>Hogin</surname>
              <given-names>E</given-names>
            </name>
            <name name-style="western">
              <surname>Atwal</surname>
              <given-names>P</given-names>
            </name>
          </person-group>
          <article-title>From the Office of the National Coordinator: the strategy for advancing the exchange of health information</article-title>
          <source>Health Aff (Millwood)</source>
          <year>2012</year>
          <month>03</month>
          <volume>31</volume>
          <issue>3</issue>
          <fpage>527</fpage>
          <lpage>36</lpage>
          <pub-id pub-id-type="doi">10.1377/hlthaff.2011.1314</pub-id>
          <pub-id pub-id-type="medline">22392663</pub-id>
          <pub-id pub-id-type="pii">31/3/527</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref12">
        <label>12</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Cimino</surname>
              <given-names>JJ</given-names>
            </name>
            <name name-style="western">
              <surname>Frisse</surname>
              <given-names>ME</given-names>
            </name>
            <name name-style="western">
              <surname>Halamka</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Sweeney</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>Yasnoff</surname>
              <given-names>W</given-names>
            </name>
          </person-group>
          <article-title>Consumer-mediated health information exchanges: the 2012 ACMI debate</article-title>
          <source>J Biomed Inform</source>
          <year>2014</year>
          <month>04</month>
          <volume>48</volume>
          <fpage>5</fpage>
          <lpage>15</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://linkinghub.elsevier.com/retrieve/pii/S1532-0464(14)00046-X"/>
          </comment>
          <pub-id pub-id-type="doi">10.1016/j.jbi.2014.02.009</pub-id>
          <pub-id pub-id-type="medline">24561078</pub-id>
          <pub-id pub-id-type="pii">S1532-0464(14)00046-X</pub-id>
          <pub-id pub-id-type="pmcid">PMC5514840</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref13">
        <label>13</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Zhuang</surname>
              <given-names>Y</given-names>
            </name>
            <name name-style="western">
              <surname>Sheets</surname>
              <given-names>LR</given-names>
            </name>
            <name name-style="western">
              <surname>Chen</surname>
              <given-names>Y</given-names>
            </name>
            <name name-style="western">
              <surname>Shae</surname>
              <given-names>Z</given-names>
            </name>
            <name name-style="western">
              <surname>Tsai</surname>
              <given-names>JJ</given-names>
            </name>
            <name name-style="western">
              <surname>Shyu</surname>
              <given-names>C</given-names>
            </name>
          </person-group>
          <article-title>A Patient-Centric Health Information Exchange Framework Using Blockchain Technology</article-title>
          <source>IEEE J. Biomed. Health Inform</source>
          <year>2020</year>
          <month>8</month>
          <volume>24</volume>
          <issue>8</issue>
          <fpage>2169</fpage>
          <lpage>2176</lpage>
          <pub-id pub-id-type="doi">10.1109/jbhi.2020.2993072</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref14">
        <label>14</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Gordon</surname>
              <given-names>WJ</given-names>
            </name>
            <name name-style="western">
              <surname>Catalini</surname>
              <given-names>C</given-names>
            </name>
          </person-group>
          <article-title>Blockchain Technology for Healthcare: Facilitating the Transition to Patient-Driven Interoperability</article-title>
          <source>Comput Struct Biotechnol J</source>
          <year>2018</year>
          <volume>16</volume>
          <fpage>224</fpage>
          <lpage>230</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://linkinghub.elsevier.com/retrieve/pii/S2001-0370(18)30028-X"/>
          </comment>
          <pub-id pub-id-type="doi">10.1016/j.csbj.2018.06.003</pub-id>
          <pub-id pub-id-type="medline">30069284</pub-id>
          <pub-id pub-id-type="pii">S2001-0370(18)30028-X</pub-id>
          <pub-id pub-id-type="pmcid">PMC6068317</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref15">
        <label>15</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Zhang</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>White</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Schmidt</surname>
              <given-names>DC</given-names>
            </name>
            <name name-style="western">
              <surname>Lenz</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Rosenbloom</surname>
              <given-names>ST</given-names>
            </name>
          </person-group>
          <article-title>FHIRChain: Applying Blockchain to Securely and Scalably Share Clinical Data</article-title>
          <source>Comput Struct Biotechnol J</source>
          <year>2018</year>
          <volume>16</volume>
          <fpage>267</fpage>
          <lpage>278</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://linkinghub.elsevier.com/retrieve/pii/S2001-0370(18)30037-0"/>
          </comment>
          <pub-id pub-id-type="doi">10.1016/j.csbj.2018.07.004</pub-id>
          <pub-id pub-id-type="medline">30108685</pub-id>
          <pub-id pub-id-type="pii">S2001-0370(18)30037-0</pub-id>
          <pub-id pub-id-type="pmcid">PMC6082774</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref16">
        <label>16</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Murphy</surname>
              <given-names>DR</given-names>
            </name>
            <name name-style="western">
              <surname>Satterly</surname>
              <given-names>T</given-names>
            </name>
            <name name-style="western">
              <surname>Rogith</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Sittig</surname>
              <given-names>DF</given-names>
            </name>
            <name name-style="western">
              <surname>Singh</surname>
              <given-names>H</given-names>
            </name>
          </person-group>
          <article-title>Barriers and facilitators impacting reliability of the electronic health record-facilitated total testing process</article-title>
          <source>Int J Med Inform</source>
          <year>2019</year>
          <month>07</month>
          <volume>127</volume>
          <fpage>102</fpage>
          <lpage>108</lpage>
          <pub-id pub-id-type="doi">10.1016/j.ijmedinf.2019.04.004</pub-id>
          <pub-id pub-id-type="medline">31128821</pub-id>
          <pub-id pub-id-type="pii">S1386-5056(18)31386-8</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref17">
        <label>17</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Tanwar</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Parekh</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>Evans</surname>
              <given-names>R</given-names>
            </name>
          </person-group>
          <article-title>Blockchain-based electronic healthcare record system for healthcare 4.0 applications</article-title>
          <source>Journal of Information Security and Applications</source>
          <year>2020</year>
          <month>02</month>
          <volume>50</volume>
          <fpage>102407</fpage>
          <pub-id pub-id-type="doi">10.1016/j.jisa.2019.102407</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref18">
        <label>18</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Dagher</surname>
              <given-names>GG</given-names>
            </name>
            <name name-style="western">
              <surname>Mohler</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Milojkovic</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Marella</surname>
              <given-names>PB</given-names>
            </name>
          </person-group>
          <article-title>Ancile: Privacy-preserving framework for access control and interoperability of electronic health records using blockchain technology</article-title>
          <source>Sustainable Cities and Society</source>
          <year>2018</year>
          <month>05</month>
          <volume>39</volume>
          <fpage>283</fpage>
          <lpage>297</lpage>
          <pub-id pub-id-type="doi">10.1016/j.scs.2018.02.014</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref19">
        <label>19</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Zhang</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Lin</surname>
              <given-names>X</given-names>
            </name>
          </person-group>
          <article-title>Towards Secure and Privacy-Preserving Data Sharing in e-Health Systems via Consortium Blockchain</article-title>
          <source>J Med Syst</source>
          <year>2018</year>
          <month>06</month>
          <day>28</day>
          <volume>42</volume>
          <issue>8</issue>
          <fpage>140</fpage>
          <pub-id pub-id-type="doi">10.1007/s10916-018-0995-5</pub-id>
          <pub-id pub-id-type="medline">29956061</pub-id>
          <pub-id pub-id-type="pii">10.1007/s10916-018-0995-5</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref20">
        <label>20</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Cao</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Zhang</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Liu</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Zhang</surname>
              <given-names>X</given-names>
            </name>
            <name name-style="western">
              <surname>Neri</surname>
              <given-names>F</given-names>
            </name>
          </person-group>
          <article-title>Cloud-assisted secure eHealth systems for tamper-proofing EHR via blockchain</article-title>
          <source>Information Sciences</source>
          <year>2019</year>
          <month>06</month>
          <volume>485</volume>
          <fpage>427</fpage>
          <lpage>440</lpage>
          <pub-id pub-id-type="doi">10.1016/j.ins.2019.02.038</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref21">
        <label>21</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Nakamoto</surname>
              <given-names>S</given-names>
            </name>
          </person-group>
          <article-title>Bitcoin: A peer-to-peer electronic cash system</article-title>
          <source>Bitcoin: Open Source P2P Money</source>
          <year>2008</year>
          <access-date>2021-04-23</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://bitcoin.org/bitcoin.pdf">https://bitcoin.org/bitcoin.pdf</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref22">
        <label>22</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Ferdous</surname>
              <given-names>MS</given-names>
            </name>
            <name name-style="western">
              <surname>Chowdhury</surname>
              <given-names>MJM</given-names>
            </name>
            <name name-style="western">
              <surname>Hoque</surname>
              <given-names>MA</given-names>
            </name>
          </person-group>
          <article-title>A survey of consensus algorithms in public blockchain systems for crypto-currencies</article-title>
          <source>Journal of Network and Computer Applications</source>
          <year>2021</year>
          <month>05</month>
          <volume>182</volume>
          <fpage>103035</fpage>
          <pub-id pub-id-type="doi">10.1016/j.jnca.2021.103035</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref23">
        <label>23</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Kuo</surname>
              <given-names>T</given-names>
            </name>
            <name name-style="western">
              <surname>Zavaleta Rojas</surname>
              <given-names>H</given-names>
            </name>
            <name name-style="western">
              <surname>Ohno-Machado</surname>
              <given-names>L</given-names>
            </name>
          </person-group>
          <article-title>Comparison of blockchain platforms: a systematic review and healthcare examples</article-title>
          <source>J Am Med Inform Assoc</source>
          <year>2019</year>
          <month>05</month>
          <day>01</day>
          <volume>26</volume>
          <issue>5</issue>
          <fpage>462</fpage>
          <lpage>478</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="http://europepmc.org/abstract/MED/30907419"/>
          </comment>
          <pub-id pub-id-type="doi">10.1093/jamia/ocy185</pub-id>
          <pub-id pub-id-type="medline">30907419</pub-id>
          <pub-id pub-id-type="pii">5419321</pub-id>
          <pub-id pub-id-type="pmcid">PMC7787359</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref24">
        <label>24</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>McGhin</surname>
              <given-names>T</given-names>
            </name>
            <name name-style="western">
              <surname>Choo</surname>
              <given-names>KR</given-names>
            </name>
            <name name-style="western">
              <surname>Liu</surname>
              <given-names>CZ</given-names>
            </name>
            <name name-style="western">
              <surname>He</surname>
              <given-names>D</given-names>
            </name>
          </person-group>
          <article-title>Blockchain in healthcare applications: Research challenges and opportunities</article-title>
          <source>Journal of Network and Computer Applications</source>
          <year>2019</year>
          <month>06</month>
          <volume>135</volume>
          <fpage>62</fpage>
          <lpage>75</lpage>
          <pub-id pub-id-type="doi">10.1016/j.jnca.2019.02.027</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref25">
        <label>25</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Vazirani</surname>
              <given-names>AA</given-names>
            </name>
            <name name-style="western">
              <surname>O'Donoghue</surname>
              <given-names>O</given-names>
            </name>
            <name name-style="western">
              <surname>Brindley</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Meinert</surname>
              <given-names>E</given-names>
            </name>
          </person-group>
          <article-title>Implementing Blockchains for Efficient Health Care: Systematic Review</article-title>
          <source>J Med Internet Res</source>
          <year>2019</year>
          <month>02</month>
          <day>12</day>
          <volume>21</volume>
          <issue>2</issue>
          <fpage>e12439</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://www.jmir.org/2019/2/e12439/"/>
          </comment>
          <pub-id pub-id-type="doi">10.2196/12439</pub-id>
          <pub-id pub-id-type="medline">30747714</pub-id>
          <pub-id pub-id-type="pii">v21i2e12439</pub-id>
          <pub-id pub-id-type="pmcid">PMC6390185</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref26">
        <label>26</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Hussien</surname>
              <given-names>HM</given-names>
            </name>
            <name name-style="western">
              <surname>Yasin</surname>
              <given-names>SM</given-names>
            </name>
            <name name-style="western">
              <surname>Udzir</surname>
              <given-names>SNI</given-names>
            </name>
            <name name-style="western">
              <surname>Zaidan</surname>
              <given-names>AA</given-names>
            </name>
            <name name-style="western">
              <surname>Zaidan</surname>
              <given-names>BB</given-names>
            </name>
          </person-group>
          <article-title>A Systematic Review for Enabling of Develop a Blockchain Technology in Healthcare Application: Taxonomy, Substantially Analysis, Motivations, Challenges, Recommendations and Future Direction</article-title>
          <source>J Med Syst</source>
          <year>2019</year>
          <month>09</month>
          <day>14</day>
          <volume>43</volume>
          <issue>10</issue>
          <fpage>320</fpage>
          <pub-id pub-id-type="doi">10.1007/s10916-019-1445-8</pub-id>
          <pub-id pub-id-type="medline">31522262</pub-id>
          <pub-id pub-id-type="pii">10.1007/s10916-019-1445-8</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref27">
        <label>27</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Azaria</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Ekblaw</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Vieira</surname>
              <given-names>T</given-names>
            </name>
            <name name-style="western">
              <surname>Lippman</surname>
              <given-names>A</given-names>
            </name>
          </person-group>
          <article-title>MedRec: Using blockchain for medical data access and permission management</article-title>
          <year>2016</year>
          <conf-name>2016 2nd International Conference on Open and Big Data (OBD)</conf-name>
          <conf-date>August 22-24</conf-date>
          <conf-loc>Vienna, Austria</conf-loc>
          <fpage>25</fpage>
          <lpage>30</lpage>
          <pub-id pub-id-type="doi">10.1109/obd.2016.11</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref28">
        <label>28</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Yue</surname>
              <given-names>X</given-names>
            </name>
            <name name-style="western">
              <surname>Wang</surname>
              <given-names>H</given-names>
            </name>
            <name name-style="western">
              <surname>Jin</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Li</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Jiang</surname>
              <given-names>W</given-names>
            </name>
          </person-group>
          <article-title>Healthcare Data Gateways: Found Healthcare Intelligence on Blockchain with Novel Privacy Risk Control</article-title>
          <source>J Med Syst</source>
          <year>2016</year>
          <month>10</month>
          <volume>40</volume>
          <issue>10</issue>
          <fpage>218</fpage>
          <pub-id pub-id-type="doi">10.1007/s10916-016-0574-6</pub-id>
          <pub-id pub-id-type="medline">27565509</pub-id>
          <pub-id pub-id-type="pii">10.1007/s10916-016-0574-6</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref29">
        <label>29</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Roehrs</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>da Costa</surname>
              <given-names>Cristiano André</given-names>
            </name>
            <name name-style="western">
              <surname>da Rosa Righi</surname>
              <given-names>Rodrigo</given-names>
            </name>
          </person-group>
          <article-title>OmniPHR: A distributed architecture model to integrate personal health records</article-title>
          <source>J Biomed Inform</source>
          <year>2017</year>
          <month>07</month>
          <volume>71</volume>
          <fpage>70</fpage>
          <lpage>81</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://linkinghub.elsevier.com/retrieve/pii/S1532-0464(17)30108-9"/>
          </comment>
          <pub-id pub-id-type="doi">10.1016/j.jbi.2017.05.012</pub-id>
          <pub-id pub-id-type="medline">28545835</pub-id>
          <pub-id pub-id-type="pii">S1532-0464(17)30108-9</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref30">
        <label>30</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Ichikawa</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Kashiyama</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Ueno</surname>
              <given-names>T</given-names>
            </name>
          </person-group>
          <article-title>Tamper-Resistant Mobile Health Using Blockchain Technology</article-title>
          <source>JMIR Mhealth Uhealth</source>
          <year>2017</year>
          <month>07</month>
          <day>26</day>
          <volume>5</volume>
          <issue>7</issue>
          <fpage>e111</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://mhealth.jmir.org/2017/7/e111/"/>
          </comment>
          <pub-id pub-id-type="doi">10.2196/mhealth.7938</pub-id>
          <pub-id pub-id-type="medline">28747296</pub-id>
          <pub-id pub-id-type="pii">v5i7e111</pub-id>
          <pub-id pub-id-type="pmcid">PMC5550736</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref31">
        <label>31</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Mannaro</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>Baralla</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Pinna</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Ibba</surname>
              <given-names>S</given-names>
            </name>
          </person-group>
          <article-title>A Blockchain Approach Applied to a Teledermatology Platform in the Sardinian Region (Italy)</article-title>
          <source>Information</source>
          <year>2018</year>
          <month>02</month>
          <day>23</day>
          <volume>9</volume>
          <issue>2</issue>
          <fpage>44</fpage>
          <pub-id pub-id-type="doi">10.3390/info9020044</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref32">
        <label>32</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Ji</surname>
              <given-names>Y</given-names>
            </name>
            <name name-style="western">
              <surname>Zhang</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Ma</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Yang</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>Yao</surname>
              <given-names>X</given-names>
            </name>
          </person-group>
          <article-title>BMPLS: Blockchain-Based Multi-level Privacy-Preserving Location Sharing Scheme for Telecare Medical Information Systems</article-title>
          <source>J Med Syst</source>
          <year>2018</year>
          <month>06</month>
          <day>30</day>
          <volume>42</volume>
          <issue>8</issue>
          <fpage>147</fpage>
          <pub-id pub-id-type="doi">10.1007/s10916-018-0998-2</pub-id>
          <pub-id pub-id-type="medline">29961160</pub-id>
          <pub-id pub-id-type="pii">10.1007/s10916-018-0998-2</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref33">
        <label>33</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Kleinaki</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Mytis-Gkometh</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Drosatos</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Efraimidis</surname>
              <given-names>PS</given-names>
            </name>
            <name name-style="western">
              <surname>Kaldoudi</surname>
              <given-names>E</given-names>
            </name>
          </person-group>
          <article-title>A Blockchain-Based Notarization Service for Biomedical Knowledge Retrieval</article-title>
          <source>Comput Struct Biotechnol J</source>
          <year>2018</year>
          <volume>16</volume>
          <fpage>288</fpage>
          <lpage>297</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://linkinghub.elsevier.com/retrieve/pii/S2001-0370(18)30040-0"/>
          </comment>
          <pub-id pub-id-type="doi">10.1016/j.csbj.2018.08.002</pub-id>
          <pub-id pub-id-type="medline">30181840</pub-id>
          <pub-id pub-id-type="pii">S2001-0370(18)30040-0</pub-id>
          <pub-id pub-id-type="pmcid">PMC6120721</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref34">
        <label>34</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Jamil</surname>
              <given-names>F</given-names>
            </name>
            <name name-style="western">
              <surname>Hang</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>Kim</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>Kim</surname>
              <given-names>D</given-names>
            </name>
          </person-group>
          <article-title>A Novel Medical Blockchain Model for Drug Supply Chain Integrity Management in a Smart Hospital</article-title>
          <source>Electronics</source>
          <year>2019</year>
          <month>05</month>
          <day>07</day>
          <volume>8</volume>
          <issue>5</issue>
          <fpage>505</fpage>
          <pub-id pub-id-type="doi">10.3390/electronics8050505</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref35">
        <label>35</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Patel</surname>
              <given-names>V</given-names>
            </name>
          </person-group>
          <article-title>A framework for secure and decentralized sharing of medical imaging data via blockchain consensus</article-title>
          <source>Health Informatics J</source>
          <year>2019</year>
          <month>12</month>
          <volume>25</volume>
          <issue>4</issue>
          <fpage>1398</fpage>
          <lpage>1411</lpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://journals.sagepub.com/doi/10.1177/1460458218769699?url_ver=Z39.88-2003&#38;rfr_id=ori:rid:crossref.org&#38;rfr_dat=cr_pub%3dpubmed"/>
          </comment>
          <pub-id pub-id-type="doi">10.1177/1460458218769699</pub-id>
          <pub-id pub-id-type="medline">29692204</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref36">
        <label>36</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Jamil</surname>
              <given-names>F</given-names>
            </name>
            <name name-style="western">
              <surname>Ahmad</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Iqbal</surname>
              <given-names>N</given-names>
            </name>
            <name name-style="western">
              <surname>Kim</surname>
              <given-names>D</given-names>
            </name>
          </person-group>
          <article-title>Towards a Remote Monitoring of Patient Vital Signs Based on IoT-Based Blockchain Integrity Management Platforms in Smart Hospitals</article-title>
          <source>Sensors (Basel)</source>
          <year>2020</year>
          <month>04</month>
          <day>13</day>
          <volume>20</volume>
          <issue>8</issue>
          <fpage>2195</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://www.mdpi.com/resolver?pii=s20082195"/>
          </comment>
          <pub-id pub-id-type="doi">10.3390/s20082195</pub-id>
          <pub-id pub-id-type="medline">32294989</pub-id>
          <pub-id pub-id-type="pii">s20082195</pub-id>
          <pub-id pub-id-type="pmcid">PMC7218894</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref37">
        <label>37</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Dubovitskaya</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Baig</surname>
              <given-names>F</given-names>
            </name>
            <name name-style="western">
              <surname>Xu</surname>
              <given-names>Z</given-names>
            </name>
            <name name-style="western">
              <surname>Shukla</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>Zambani</surname>
              <given-names>PS</given-names>
            </name>
            <name name-style="western">
              <surname>Swaminathan</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Jahangir</surname>
              <given-names>MM</given-names>
            </name>
            <name name-style="western">
              <surname>Chowdhry</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>Lachhani</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>Idnani</surname>
              <given-names>N</given-names>
            </name>
            <name name-style="western">
              <surname>Schumacher</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Aberer</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>Stoller</surname>
              <given-names>SD</given-names>
            </name>
            <name name-style="western">
              <surname>Ryu</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Wang</surname>
              <given-names>F</given-names>
            </name>
          </person-group>
          <article-title>ACTION-EHR: Patient-Centric Blockchain-Based Electronic Health Record Data Management for Cancer Care</article-title>
          <source>J Med Internet Res</source>
          <year>2020</year>
          <month>08</month>
          <day>21</day>
          <volume>22</volume>
          <issue>8</issue>
          <fpage>e13598</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://www.jmir.org/2020/8/e13598/"/>
          </comment>
          <pub-id pub-id-type="doi">10.2196/13598</pub-id>
          <pub-id pub-id-type="medline">32821064</pub-id>
          <pub-id pub-id-type="pii">v22i8e13598</pub-id>
          <pub-id pub-id-type="pmcid">PMC7474412</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref38">
        <label>38</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Hasselgren</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Kralevska</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>Gligoroski</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Pedersen</surname>
              <given-names>SA</given-names>
            </name>
            <name name-style="western">
              <surname>Faxvaag</surname>
              <given-names>A</given-names>
            </name>
          </person-group>
          <article-title>Blockchain in healthcare and health sciences-A scoping review</article-title>
          <source>Int J Med Inform</source>
          <year>2020</year>
          <month>02</month>
          <volume>134</volume>
          <fpage>104040</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://linkinghub.elsevier.com/retrieve/pii/S1386-5056(19)30526-X"/>
          </comment>
          <pub-id pub-id-type="doi">10.1016/j.ijmedinf.2019.104040</pub-id>
          <pub-id pub-id-type="medline">31865055</pub-id>
          <pub-id pub-id-type="pii">S1386-5056(19)30526-X</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref39">
        <label>39</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Fang</surname>
              <given-names>HSA</given-names>
            </name>
            <name name-style="western">
              <surname>Tan</surname>
              <given-names>TH</given-names>
            </name>
            <name name-style="western">
              <surname>Tan</surname>
              <given-names>YFC</given-names>
            </name>
            <name name-style="western">
              <surname>Tan</surname>
              <given-names>CJM</given-names>
            </name>
          </person-group>
          <article-title>Blockchain Personal Health Records: Systematic Review</article-title>
          <source>J Med Internet Res</source>
          <year>2021</year>
          <month>04</month>
          <day>13</day>
          <volume>23</volume>
          <issue>4</issue>
          <fpage>e25094</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://www.jmir.org/2021/4/e25094/"/>
          </comment>
          <pub-id pub-id-type="doi">10.2196/25094</pub-id>
          <pub-id pub-id-type="medline">33847591</pub-id>
          <pub-id pub-id-type="pii">v23i4e25094</pub-id>
          <pub-id pub-id-type="pmcid">PMC8080150</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref40">
        <label>40</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Baumgart</surname>
              <given-names>I</given-names>
            </name>
            <name name-style="western">
              <surname>Heep</surname>
              <given-names>B</given-names>
            </name>
            <name name-style="western">
              <surname>Krause</surname>
              <given-names>S</given-names>
            </name>
          </person-group>
          <article-title>OverSim: A flexible overlay network simulation framework</article-title>
          <year>2007</year>
          <conf-name>2007 IEEE Global Internet Symposium</conf-name>
          <conf-date>May 11</conf-date>
          <conf-loc>Anchorage, AK, USA</conf-loc>
          <fpage>79</fpage>
          <lpage>84</lpage>
          <pub-id pub-id-type="doi">10.1109/gi.2007.4301435</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref41">
        <label>41</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Androulaki</surname>
              <given-names>E</given-names>
            </name>
            <name name-style="western">
              <surname>Barger</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Bortnikov</surname>
              <given-names>V</given-names>
            </name>
            <name name-style="western">
              <surname>Cachin</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>Christidis</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>De</surname>
              <given-names>CA</given-names>
            </name>
            <name name-style="western">
              <surname>Enyeart</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Ferris</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>Laventman</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Manevich</surname>
              <given-names>Y</given-names>
            </name>
            <name name-style="western">
              <surname>Muralidharan</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Murthy</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>Nguyen</surname>
              <given-names>BSM</given-names>
            </name>
            <name name-style="western">
              <surname>Singh</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Smith</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>Sorniotti</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Stathakopoulou</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>Vukoli</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Cocco</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Yellick</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <article-title>Hyperledger fabric: a distributed operating system for permissioned blockchains</article-title>
          <year>2018</year>
          <conf-name>Thirteenth EuroSys Conference</conf-name>
          <conf-date>April 23-26</conf-date>
          <conf-loc>Porto, Portugal</conf-loc>
          <fpage>1</fpage>
          <lpage>15</lpage>
          <pub-id pub-id-type="doi">10.1145/3190508.3190538</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref42">
        <label>42</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Dinh</surname>
              <given-names>T</given-names>
            </name>
            <name name-style="western">
              <surname>Wang</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Chen</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Liu</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>Ooi</surname>
              <given-names>B</given-names>
            </name>
            <name name-style="western">
              <surname>Tan</surname>
              <given-names>K</given-names>
            </name>
          </person-group>
          <article-title>BLOCKBENCH: A framework for analyzing private blockchains</article-title>
          <year>2017</year>
          <conf-name>2017 ACM International Conference on Management of Data</conf-name>
          <conf-date>May 14-19</conf-date>
          <conf-loc>Chicago, Illinois, USA</conf-loc>
          <fpage>1085</fpage>
          <lpage>1100</lpage>
          <pub-id pub-id-type="doi">10.1145/3035918.3064033</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref43">
        <label>43</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Nasir</surname>
              <given-names>Q</given-names>
            </name>
            <name name-style="western">
              <surname>Qasse</surname>
              <given-names>IA</given-names>
            </name>
            <name name-style="western">
              <surname>Abu Talib</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Nassif</surname>
              <given-names>AB</given-names>
            </name>
          </person-group>
          <article-title>Performance Analysis of Hyperledger Fabric Platforms</article-title>
          <source>Security and Communication Networks</source>
          <year>2018</year>
          <month>09</month>
          <day>09</day>
          <volume>2018</volume>
          <fpage>1</fpage>
          <lpage>14</lpage>
          <pub-id pub-id-type="doi">10.1155/2018/3976093</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref44">
        <label>44</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Kuzlu</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Pipattanasomporn</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Gurses</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>Rahman</surname>
              <given-names>S</given-names>
            </name>
          </person-group>
          <article-title>Performance analysis of a hyperledger fabric blockchain framework: throughput, latency and scalability</article-title>
          <year>2019</year>
          <conf-name>2019 IEEE International Conference on Blockchain (Blockchain)</conf-name>
          <conf-date>July 14-17</conf-date>
          <conf-loc>Atlanta, GA, USA</conf-loc>
          <fpage>536</fpage>
          <lpage>540</lpage>
          <pub-id pub-id-type="doi">10.1109/blockchain.2019.00003</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref45">
        <label>45</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Liang</surname>
              <given-names>X</given-names>
            </name>
            <name name-style="western">
              <surname>Zhao</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Shetty</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Liu</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Li</surname>
              <given-names>D</given-names>
            </name>
          </person-group>
          <article-title>Integrating blockchain for data sharingcollaboration in mobile healthcare applications</article-title>
          <year>2017</year>
          <conf-name>IEEE 28th Annual International Symposium on Personal, Indoor, Mobile Radio Communications (PIMRC)</conf-name>
          <conf-date>Oct 8-13</conf-date>
          <conf-loc>Montreal, QC, Canada</conf-loc>
          <fpage>8</fpage>
          <lpage>13</lpage>
          <pub-id pub-id-type="doi">10.1109/pimrc.2017.8292361</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref46">
        <label>46</label>
        <nlm-citation citation-type="web">
          <source>Chainpoint: Blockchain Proof and Anchoring Standard</source>
          <access-date>2020-04-20</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://chainpoint.org/">https://chainpoint.org/</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref47">
        <label>47</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Liang</surname>
              <given-names>X</given-names>
            </name>
            <name name-style="western">
              <surname>Shetty</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Zhao</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Bowden</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Li</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Liu</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <article-title>Towards decentralized accountability and self-sovereignty in healthcare systems</article-title>
          <year>2017</year>
          <conf-name>Information and Communications Security</conf-name>
          <conf-date>Apr 4-6</conf-date>
          <conf-loc>Irbid, Jordan</conf-loc>
          <fpage>387</fpage>
          <lpage>398</lpage>
          <pub-id pub-id-type="doi">10.1007/978-3-319-89500-0_34</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref48">
        <label>48</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Pires</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>Pasin</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Felber</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Fetzer</surname>
              <given-names>C</given-names>
            </name>
          </person-group>
          <article-title>Secure content-based routing using intel software guard extensions</article-title>
          <year>2016</year>
          <conf-name>17th International Middleware Conference</conf-name>
          <conf-date>Dec 12-16</conf-date>
          <conf-loc>Trento, Italy</conf-loc>
          <fpage>1</fpage>
          <lpage>10</lpage>
          <pub-id pub-id-type="doi">10.1145/2988336.2988346</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref49">
        <label>49</label>
        <nlm-citation citation-type="web">
          <source>Tierion: Blockchain Proof Engine</source>
          <access-date>2020-04-20</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://tierion.com/">https://tierion.com/</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref50">
        <label>50</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Uddin</surname>
              <given-names>MA</given-names>
            </name>
            <name name-style="western">
              <surname>Stranieri</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Gondal</surname>
              <given-names>I</given-names>
            </name>
            <name name-style="western">
              <surname>Balasubramanian</surname>
              <given-names>V</given-names>
            </name>
          </person-group>
          <article-title>Continuous Patient Monitoring With a Patient Centric Agent: A Block Architecture</article-title>
          <source>IEEE Access</source>
          <year>2018</year>
          <volume>6</volume>
          <fpage>32700</fpage>
          <lpage>32726</lpage>
          <pub-id pub-id-type="doi">10.1109/access.2018.2846779</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref51">
        <label>51</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Buterin</surname>
              <given-names>V</given-names>
            </name>
          </person-group>
          <source>Ethereum White Paper</source>
          <year>2014</year>
          <access-date>2021-05-11</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://blockchainlab.com/pdf/Ethereum_white_paper-a_next_generation_smart_contract_and_decentralized_application_platform-vitalik-buterin.pdf">https://blockchainlab.com/pdf/Ethereum_white_paper-a_next_generation _smart_contract_and_decentralized_application_platform-vitalik-buterin.pdf</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref52">
        <label>52</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Omar</surname>
              <given-names>AA</given-names>
            </name>
            <name name-style="western">
              <surname>Bhuiyan</surname>
              <given-names>MZA</given-names>
            </name>
            <name name-style="western">
              <surname>Basu</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Kiyomoto</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Rahman</surname>
              <given-names>MS</given-names>
            </name>
          </person-group>
          <article-title>Privacy-friendly platform for healthcare data in cloud based on blockchain environment</article-title>
          <source>Future Generation Computer Systems</source>
          <year>2019</year>
          <month>06</month>
          <volume>95</volume>
          <fpage>511</fpage>
          <lpage>521</lpage>
          <pub-id pub-id-type="doi">10.1016/j.future.2018.12.044</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref53">
        <label>53</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Roehrs</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>da Costa</surname>
              <given-names>CA</given-names>
            </name>
            <name name-style="western">
              <surname>da Rosa Righi</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>da Silva</surname>
              <given-names>VF</given-names>
            </name>
            <name name-style="western">
              <surname>Goldim</surname>
              <given-names>JR</given-names>
            </name>
            <name name-style="western">
              <surname>Schmidt</surname>
              <given-names>DC</given-names>
            </name>
          </person-group>
          <article-title>Analyzing the performance of a blockchain-based personal health record implementation</article-title>
          <source>J Biomed Inform</source>
          <year>2019</year>
          <month>04</month>
          <volume>92</volume>
          <fpage>103140</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://linkinghub.elsevier.com/retrieve/pii/S1532-0464(19)30058-9"/>
          </comment>
          <pub-id pub-id-type="doi">10.1016/j.jbi.2019.103140</pub-id>
          <pub-id pub-id-type="medline">30844481</pub-id>
          <pub-id pub-id-type="pii">S1532-0464(19)30058-9</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref54">
        <label>54</label>
        <nlm-citation citation-type="web">
          <source>Apache Kafka</source>
          <access-date>2021-05-11</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://kafka.apache.org/">https://kafka.apache.org/</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref55">
        <label>55</label>
        <nlm-citation citation-type="web">
          <source>Apache ZooKeeper</source>
          <access-date>2021-05-11</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://zookeeper.apache.org/">https://zookeeper.apache.org/</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref56">
        <label>56</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Lee</surname>
              <given-names>H</given-names>
            </name>
            <name name-style="western">
              <surname>Kung</surname>
              <given-names>H</given-names>
            </name>
            <name name-style="western">
              <surname>Udayasankaran</surname>
              <given-names>JG</given-names>
            </name>
            <name name-style="western">
              <surname>Kijsanayotin</surname>
              <given-names>B</given-names>
            </name>
            <name name-style="western">
              <surname>B Marcelo</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Chao</surname>
              <given-names>LR</given-names>
            </name>
            <name name-style="western">
              <surname>Hsu</surname>
              <given-names>C</given-names>
            </name>
          </person-group>
          <article-title>An Architecture and Management Platform for Blockchain-Based Personal Health Record Exchange: Development and Usability Study</article-title>
          <source>J Med Internet Res</source>
          <year>2020</year>
          <month>06</month>
          <day>09</day>
          <volume>22</volume>
          <issue>6</issue>
          <fpage>e16748</fpage>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://www.jmir.org/2020/6/e16748/"/>
          </comment>
          <pub-id pub-id-type="doi">10.2196/16748</pub-id>
          <pub-id pub-id-type="medline">32515743</pub-id>
          <pub-id pub-id-type="pii">v22i6e16748</pub-id>
          <pub-id pub-id-type="pmcid">PMC7312212</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref57">
        <label>57</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Zheng</surname>
              <given-names>Z</given-names>
            </name>
            <name name-style="western">
              <surname>Xie</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Dai</surname>
              <given-names>H</given-names>
            </name>
            <name name-style="western">
              <surname>Chen</surname>
              <given-names>X</given-names>
            </name>
            <name name-style="western">
              <surname>Wang</surname>
              <given-names>H</given-names>
            </name>
          </person-group>
          <article-title>An overview of blockchain technology: Architecture, consensus, and future trends</article-title>
          <year>2017</year>
          <conf-name>2017 IEEE International Congress on Big Data (BigData Congress)</conf-name>
          <conf-date>Jun 25-30</conf-date>
          <conf-loc>Honolulu, HI, USA</conf-loc>
          <fpage>557</fpage>
          <lpage>564</lpage>
          <pub-id pub-id-type="doi">10.1109/bigdatacongress.2017.85</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref58">
        <label>58</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Khan</surname>
              <given-names>MA</given-names>
            </name>
            <name name-style="western">
              <surname>Salah</surname>
              <given-names>K</given-names>
            </name>
          </person-group>
          <article-title>IoT security: Review, blockchain solutions, and open challenges</article-title>
          <source>Future Generation Computer Systems</source>
          <year>2018</year>
          <month>05</month>
          <volume>82</volume>
          <fpage>395</fpage>
          <lpage>411</lpage>
          <pub-id pub-id-type="doi">10.1016/j.future.2017.11.022</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref59">
        <label>59</label>
        <nlm-citation citation-type="book">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Miller</surname>
              <given-names>A</given-names>
            </name>
          </person-group>
          <person-group person-group-type="editor">
            <name name-style="western">
              <surname>Shetty</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Kamhoua</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>Njilla</surname>
              <given-names>L</given-names>
            </name>
          </person-group>
          <article-title>Permissioned and permissionless blockchains</article-title>
          <source>Blockchain for Distributed Systems Security</source>
          <year>2019</year>
          <publisher-loc>Hoboken</publisher-loc>
          <publisher-name>John Wiley &#38; Sons, Inc</publisher-name>
          <fpage>193</fpage>
          <lpage>204</lpage>
        </nlm-citation>
      </ref>
      <ref id="ref60">
        <label>60</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Helliar</surname>
              <given-names>CV</given-names>
            </name>
            <name name-style="western">
              <surname>Crawford</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>Rocca</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>Teodori</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>Veneziani</surname>
              <given-names>M</given-names>
            </name>
          </person-group>
          <article-title>Permissionless and permissioned blockchain diffusion</article-title>
          <source>International Journal of Information Management</source>
          <year>2020</year>
          <month>10</month>
          <volume>54</volume>
          <fpage>102136</fpage>
          <pub-id pub-id-type="doi">10.1016/j.ijinfomgt.2020.102136</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref61">
        <label>61</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Wüst</surname>
              <given-names>K</given-names>
            </name>
            <name name-style="western">
              <surname>Gervais</surname>
              <given-names>A</given-names>
            </name>
          </person-group>
          <article-title>Do you need a blockchain?</article-title>
          <year>2018</year>
          <conf-name>Crypto Valley Conference on Blockchain Technology (CVCBT)</conf-name>
          <conf-date>Jun 20-22</conf-date>
          <conf-loc>Zug, Switzerland</conf-loc>
          <fpage>45</fpage>
          <lpage>54</lpage>
          <pub-id pub-id-type="doi">10.1109/cvcbt.2018.00011</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref62">
        <label>62</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Polge</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Robert</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Le Traon</surname>
              <given-names>Y</given-names>
            </name>
          </person-group>
          <article-title>Permissioned blockchain frameworks in the industry: A comparison</article-title>
          <source>ICT Express</source>
          <year>2021</year>
          <month>06</month>
          <volume>7</volume>
          <issue>2</issue>
          <fpage>229</fpage>
          <lpage>233</lpage>
          <pub-id pub-id-type="doi">10.1016/j.icte.2020.09.002</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref63">
        <label>63</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Wood</surname>
              <given-names>G</given-names>
            </name>
          </person-group>
          <article-title>Ethereum: a secure decentralised generalised transaction ledger</article-title>
          <source>EIP-150 Revision</source>
          <year>2014</year>
          <access-date>2021-06-23</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://gavwood.com/paper.pdf">https://gavwood.com/paper.pdf</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref64">
        <label>64</label>
        <nlm-citation citation-type="web">
          <article-title>A blockchain platform for the enterprise</article-title>
          <source>Hyperledger-Fabricdocs Master Documentation</source>
          <access-date>2020-08-06</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://hyperledger-fabric.readthedocs.io/en/release-2.2/">https://hyperledger-fabric.readthedocs.io/en/release-2.2/</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref65">
        <label>65</label>
        <nlm-citation citation-type="web">
          <source>Hyperledger Fabric SDK for Node.js Index</source>
          <access-date>2020-08-06</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://hyperledger.github.io/fabric-sdk-node/release-2.2/index.html">https://hyperledger.github.io/fabric-sdk-node/release-2.2/index.html</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref66">
        <label>66</label>
        <nlm-citation citation-type="web">
          <article-title>Welcome to hyperledger fabric CA (certificate authority)</article-title>
          <source>Hyperledger-Fabric-Cadocs Master Documentation</source>
          <access-date>2020-08-06</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://hyperledger-fabric-ca.readthedocs.io/en/release-1.4/">https://hyperledger-fabric-ca.readthedocs.io/en/release-1.4/</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref67">
        <label>67</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Kwon</surname>
              <given-names>T</given-names>
            </name>
          </person-group>
          <article-title>Privacy preservation with X.509 standard certificates</article-title>
          <source>Information Sciences</source>
          <year>2011</year>
          <month>7</month>
          <volume>181</volume>
          <issue>13</issue>
          <fpage>2906</fpage>
          <lpage>2921</lpage>
          <pub-id pub-id-type="doi">10.1016/j.ins.2011.02.016</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref68">
        <label>68</label>
        <nlm-citation citation-type="web">
          <source>Hyperledger Fabric SDK for Node.js Index</source>
          <access-date>2020-08-06</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://hyperledger.github.io/fabric-chaincode-node/release-2.2/api/index.html">https://hyperledger.github.io/fabric-chaincode-node/release-2.2/api/index.html</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref69">
        <label>69</label>
        <nlm-citation citation-type="web">
          <article-title>BigchainDB 2.0 The Blockchain Database</article-title>
          <source>BigchainDB - Whitepaper</source>
          <year>2018</year>
          <access-date>2021-06-23</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://www.bigchaindb.com/whitepaper/bigchaindb-whitepaper.pdf">https://www.bigchaindb.com/whitepaper/bigchaindb-whitepaper.pdf</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref70">
        <label>70</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Gyorodi</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>Gyorodi</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>Pecherle</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Olah</surname>
              <given-names>A</given-names>
            </name>
          </person-group>
          <article-title>A comparative study: MongoDB vs MySQL</article-title>
          <year>2015</year>
          <conf-name>13th International Conference on Engineering of Modern Electric Systems</conf-name>
          <conf-date>Jul 11-12</conf-date>
          <conf-loc>Oradea, Romania</conf-loc>
          <fpage>1</fpage>
          <lpage>6</lpage>
          <pub-id pub-id-type="doi">10.1109/emes.2015.7158433</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref71">
        <label>71</label>
        <nlm-citation citation-type="confproc">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Zyskind</surname>
              <given-names>G</given-names>
            </name>
            <name name-style="western">
              <surname>Nathan</surname>
              <given-names>O</given-names>
            </name>
            <name name-style="western">
              <surname>Pentland</surname>
              <given-names>AS</given-names>
            </name>
          </person-group>
          <article-title>Decentralizing privacy: Using blockchain to protect personal data</article-title>
          <year>2015</year>
          <conf-name>2015 IEEE Security Privacy Workshops</conf-name>
          <conf-date>May 21-22</conf-date>
          <conf-loc>San Jose, CA, USA</conf-loc>
          <fpage>180</fpage>
          <lpage>184</lpage>
          <pub-id pub-id-type="doi">10.1109/spw.2015.27</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref72">
        <label>72</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Burr</surname>
              <given-names>W</given-names>
            </name>
          </person-group>
          <article-title>Selecting the Advanced Encryption Standard</article-title>
          <source>IEEE Secur. Privacy</source>
          <year>2003</year>
          <month>3</month>
          <volume>1</volume>
          <issue>2</issue>
          <fpage>43</fpage>
          <lpage>52</lpage>
          <pub-id pub-id-type="doi">10.1109/msecp.2003.1193210</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref73">
        <label>73</label>
        <nlm-citation citation-type="web">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Frankel</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Glenn</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>Kelly</surname>
              <given-names>S</given-names>
            </name>
          </person-group>
          <article-title>The AES-CBC cipher algorithm and its use with IPsec</article-title>
          <source>hjp: doc: RFC 3602</source>
          <year>2003</year>
          <access-date>2021-08-23</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://www.hjp.at/doc/rfc/rfc3602.html">https://www.hjp.at/doc/rfc/rfc3602.html</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref74">
        <label>74</label>
        <nlm-citation citation-type="web">
          <source>Hyperledger Caliper</source>
          <access-date>2020-08-06</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://hyperledger.github.io/caliper/">https://hyperledger.github.io/caliper/</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref75">
        <label>75</label>
        <nlm-citation citation-type="web">
          <article-title>Hyperledger blockchain performance metrics white paper</article-title>
          <source>Hyperledger Foundation</source>
          <access-date>2020-08-06</access-date>
          <comment>
            <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://www.hyperledger.org/learn/publications/blockchain-performance-metrics">https://www.hyperledger.org/learn/publications/blockchain-performance-metrics</ext-link>
          </comment>
        </nlm-citation>
      </ref>
      <ref id="ref76">
        <label>76</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Corbett</surname>
              <given-names>JC</given-names>
            </name>
            <name name-style="western">
              <surname>Hochschild</surname>
              <given-names>P</given-names>
            </name>
            <name name-style="western">
              <surname>Hsieh</surname>
              <given-names>W</given-names>
            </name>
            <name name-style="western">
              <surname>Kanthak</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Kogan</surname>
              <given-names>E</given-names>
            </name>
            <name name-style="western">
              <surname>Li</surname>
              <given-names>H</given-names>
            </name>
            <name name-style="western">
              <surname>Lloyd</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Melnik</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Mwaura</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Nagle</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Quinlan</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Dean</surname>
              <given-names>J</given-names>
            </name>
            <name name-style="western">
              <surname>Rao</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>Rolig</surname>
              <given-names>L</given-names>
            </name>
            <name name-style="western">
              <surname>Saito</surname>
              <given-names>Y</given-names>
            </name>
            <name name-style="western">
              <surname>Szymaniak</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Taylor</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>Wang</surname>
              <given-names>R</given-names>
            </name>
            <name name-style="western">
              <surname>Woodford</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Epstein</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Fikes</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Frost</surname>
              <given-names>C</given-names>
            </name>
            <name name-style="western">
              <surname>Furman</surname>
              <given-names>JJ</given-names>
            </name>
            <name name-style="western">
              <surname>Ghemawat</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Gubarev</surname>
              <given-names>A</given-names>
            </name>
            <name name-style="western">
              <surname>Heiser</surname>
              <given-names>C</given-names>
            </name>
          </person-group>
          <article-title>Spanner</article-title>
          <source>ACM Trans Comput Syst</source>
          <year>2013</year>
          <month>08</month>
          <day>01</day>
          <volume>31</volume>
          <issue>3</issue>
          <fpage>1</fpage>
          <lpage>22</lpage>
          <pub-id pub-id-type="doi">10.1145/2518037.2491245</pub-id>
        </nlm-citation>
      </ref>
      <ref id="ref77">
        <label>77</label>
        <nlm-citation citation-type="book">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Stonebraker</surname>
              <given-names>M</given-names>
            </name>
            <name name-style="western">
              <surname>Madden</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Abadi</surname>
              <given-names>D</given-names>
            </name>
            <name name-style="western">
              <surname>Harizopoulos</surname>
              <given-names>S</given-names>
            </name>
            <name name-style="western">
              <surname>Hachem</surname>
              <given-names>N</given-names>
            </name>
            <name name-style="western">
              <surname>Helland</surname>
              <given-names>P</given-names>
            </name>
          </person-group>
          <article-title>The end of an architectural era: it's time for a complete rewrite</article-title>
          <source>Making Databases Work: the Pragmatic Wisdom of Michael Stonebraker</source>
          <year>2018</year>
          <publisher-loc>New York</publisher-loc>
          <publisher-name>ACM</publisher-name>
          <fpage>463</fpage>
          <lpage>489</lpage>
        </nlm-citation>
      </ref>
      <ref id="ref78">
        <label>78</label>
        <nlm-citation citation-type="journal">
          <person-group person-group-type="author">
            <name name-style="western">
              <surname>Kish</surname>
              <given-names>LJ</given-names>
            </name>
            <name name-style="western">
              <surname>Topol</surname>
              <given-names>EJ</given-names>
            </name>
          </person-group>
          <article-title>Unpatients-why patients should own their medical data</article-title>
          <source>Nat Biotechnol</source>
          <year>2015</year>
          <month>09</month>
          <volume>33</volume>
          <issue>9</issue>
          <fpage>921</fpage>
          <lpage>4</lpage>
          <pub-id pub-id-type="doi">10.1038/nbt.3340</pub-id>
          <pub-id pub-id-type="medline">26348958</pub-id>
          <pub-id pub-id-type="pii">nbt.3340</pub-id>
        </nlm-citation>
      </ref>
    </ref-list>
  </back>
</article>
