Bài khóa luận sẽ tìm hiểu về ứng dụng của công nghệ chuỗi khối Hyperledger Fabric trong quản lý khám chữa bệnh và xem xét các ưu điểm của việc sử dụng công nghệ chuỗi khối trong quản lý
CƠ SỞ LÝ THUYẾT VỀ CÔNG NGHỆ BLOCKCHAIN VÀ NỀN TẢNG HYPERLEDGER FABRIC
Tổng quan về công nghệ Blockchain
Theo Don & Alex Tapscott viết trong cuốn sách Blockchain Revolution, blockchain được định nghĩa như sau: “Blockchain là một loại “cơ sở dữ liệu” phân cấp, trong đó thông tin sẽ được lưu trữ trong các “khối” (block) và được liên kết với nhau Các thông tin trong hệ thống sẽ được mã hóa và mở rộng theo thời gian, mỗi block đều chứa thông tin về thời gian khởi tạo và được liên kết với khối trước đó, có thể xem blockchain như một cuốn sổ cái được dùng để ghi lại tất cả các dữ liệu của hệ thống” (Don, et al., 2016)
Một khái niệm khác về Blockchain: “Blockchain là một hệ thống kết nối người dùng này với người dùng khác mà không có bộ xử lý trung tâm để quản lý dữ liệu và dòng chảy của dữ liệu Chìa khóa của việc loại bỏ bộ xử lý trung tâm trong khi vẫn giữa được cơ sở dữ liệu được kiện toàn chính là có được một hệ thống phân chia đủ lớp tập hợp của các cả thể người dùng độc lập” (Lợi & David, 2018)
1.1.2 Các thành phần chính của công nghệ chuỗi khối
Blockchain là một chuỗi các khối dữ liệu (block) Mỗi khối có thể được coi là một trang trong một cuốn sổ cái, chứa phần đầu (block header) và phần thân (block body)
Bùi Thị Bích Hằng – K22HTTTC 7
Hình 1.1 Cấu trúc của một Blockchain (Liang, 2020) 1.1.2.1 Các thành phần của một block
+ Version: phiên bản của số của phần mềm
+ Hash of Previous Block: Hàm băm của khối trước đó (header block n chứa hàm băm của block n-1), không có thành phần này sẽ không có sự liên kết và liên tiếp giữa các khối
Ví dụ một trường hợp ở block thứ 2 khi bị tấn công, kẻ tấn công cố thay đổi dữ liệu khác đi, thì chắc chắn khi block 2 tạo mã băm hash sẽ ra một hash có giá trị khác Dẫn tới việc các block tiếp theo sẽ sai theo và chuỗi lúc này bị gãy ở block thứ 2 (Antonopoulos, 2014) + Time Stamp: thời gian tạo khối hiện tại
+ Nonce: một số nguyên 32bit (4 byte), là giá trị chỉ có thể được sử dụng một lần duy nhất, được sử dụng để tìm ra hàm băm (Hash SHA-256) phù hợp cho Block mới trong Blockchain
+ Merkle Root: là giá trị băm cây Merkle trong block body (được lấy từ các giá trị băm của tất cả các giao dịch có trong khối), để đảm bảo rằng các giao dịch không thể được sửa đổi nếu không thay đổi header
+ Chứa dữ liệu của các giao dịch (transaction data)
+ Các dữ liệu giao dịch này được băm nhiều lần tạo thành cây Merkle Cây Merkle được đặt theo tên của Ralph Merkle trong một bài báo năm 1987 có tiêu đề "A Digital Signature Based on a Conventional Encryption Function" Nhiều thông tin được biểu diễn trong một hàm băm duy nhất Dữ liệu được băm đầu tiên, sau đó các mã băm được sẽ được băm tiếp và hợp nhất lại tạo thành một hàm băm gốc (Merkle Root) chứa ở phần header (Tạp chí bitcoin, 2019)
Bùi Thị Bích Hằng – K22HTTTC 8
1.1.2.2 Các thành phần cốt lõi của kiến trúc Blockchain
Node/Peer: Một thiết bị (như máy tính) xuất hiện bên trong mạng blockchain có bản sao của tất cả các giao dịch
Transaction (Giao dịch): Đó là việc trao đổi thông tin giữa hai địa chỉ blockchain Block (Khối): Nó được sử dụng để giữ một nhóm các giao dịch được phân phối giữa tất cả các nút trong mạng
Chain (Chuỗi): Một loạt các khối được sắp xếp theo thứ tự thời gian
Miner (Công cụ khai thác): Trước khi thêm bất kỳ giao dịch nào vào nút khối mới, các nút đã chọn thực hiện xác minh khối
Consensus (Sự đồng thuận): cơ chế mà qua đó tất cả các thành viên trong mạng đều đi đến thỏa thuận về bất kỳ giao dịch nào trong blockchain
1.1.3 Sự phát triển của công nghệ Blockchain
Trải qua nhiều giai đoạn phát triển, tới thời điểm hiện tại, Blockchain đã có 04 phiên bản khác nhau, bao gồm:
Scott Stornetta và Stuart Haber đã phát minh ra blockchain Họ đã tạo ra một chuỗi các khối được bảo vệ bằng mật mã ngăn bất kỳ ai giả mạo thời gian thời gian tài liệu (Beyer,
1.1.3.2 Sự xuất hiện của bitcoin (2008-2013)
Vào năm 2008, một cá nhân hoặc một nhóm cá nhân ẩn danh chỉ được biết đến với cái tên Satoshi Nakamoto đã dựng lên “bộ khung” cho công nghệ chuỗi khối ở hình thái hiện đại Ý tưởng của Satoshi về chuỗi khối Bitcoin đã sử dụng khối thông tin 1 MB cho các giao dịch Bitcoin Nhiều tính năng của hệ thống chuỗi khối Bitcoin vẫn đóng vai trò then chốt trong công nghệ chuỗi khối cho đến ngày nay (AWS, 2018) Năm 2009, Nakamoto đã xuất bản sách trắng về Bitcoin Bitcoin đầu tiên được mua với giá 10.000BTC vào năm
2010 Bitcoin vượt qua 1 tỷ đô la vào năm 2013 (Sreenivas, 2021)
1.1.3.3 Phát triển nền tảng Ethereum (2013-2015)
Ethereum đã được khái niệm hóa bởi Vitalik Buterin Ethereum có các tính năng bổ sung như hợp đồng thông minh so với Bitcoin Sự phát triển của Ethereum đã được chứng minh là một thời điểm quan trọng trong lịch sử blockchain Ethereum được sử dụng cho tiền điện tử và trong nhiều ứng dụng phi tập trung khác vì có hợp đồng thông minh
Bùi Thị Bích Hằng – K22HTTTC 9
1.1.3.4 Phát triển nền tảng Hyperledger và tương lai (2015-nay)
Hyperledger được phát triển bởi Linux Foundation vào năm 2015, cho phép phát triển blockchain nguồn mở Các framework có thể kể đến như: hyperledger fabirc, hyperledger iroha, hyperledger sawtooth và hyperledger burrow (Hyperledger Fabric, 2021)
Hyperledger được phát triển để giải quyết các vấn đề về tính bảo mật, tính khả dụng, tính linh hoạt và tính tương thích trong việc triển khai các ứng dụng blockchain cho các doanh nghiệp và tổ chức Một số vấn đề cần được giải quyết bao gồm đáp ứng yêu cầu về quyền riêng tư và an ninh, đáp ứng khả năng mở rộng và hiệu suất của mạng, cung cấp cơ chế quản lý đa cấp độ và tích hợp với các hệ thống hiện có Hyperledger được thiết kế để cung cấp các tính năng này và đáp ứng các yêu cầu của các doanh nghiệp và tổ chức trong việc triển khai các ứng dụng blockchain
Nhiều loại tiền điện tử và ứng dụng đã được triển khai sau khi phát triển của Bitcoin, Ethereum, Hyperledger Ngày nay, công nghệ blockchain được sử dụng bởi các công ty và tổ chức khác nhau
Nền tảng Hyperledger và Hyperledger Fabric
Hyperledger là một dự án mã nguồn mở được tạo ra để hỗ trợ phát triển các sổ cái phân tán dựa trên công nghệ blockchain Hyperledger là sự kết hợp của nhiều nỗ lực cộng tác nhằm tạo ra các framework, tiêu chuẩn, công cụ và thư viện cần thiết để xây dựng các blockchain và các ứng dụng liên quan (Hyperledger Fabric, 2021)
Hyperledger là một dự án mã nguồn mở do Linux Foundation khởi xướng vào năm
2015 Hyperledger được phát triển trên nhiều tiểu dự án bên trong nó với mục tiêu chung là thúc đẩy công nghệ blockchain đảm bảo tính trách nhiệm, minh bạch và tin cậy, giúp doanh nghiệp đưa công nghệ này ứng dụng trong nhiều lĩnh vực khác nhau, tuy nhiên sự phát triển của Hyperledger với các trường hợp sử dụng khác nhau có thể được coi là như một hệ sinh thái Do đó, Hyperledger làm cho mạng lưới kinh doanh và giao dịch hiệu quả hơn
Hyperledger được hỗ trợ bởi các công ty hàng đầu thế giới như IBM, Intel và SAP Định hướng của Hyperledger là thúc đẩy sự song song của công nghệ chuỗi khối và ngành công nghiệp hiện đại bằng cách phát triển kết nối và cộng tác giữa các sổ cái phân tán dựa trên công nghệ chuỗi khối (IBM, 2019)
Hyperledger cung cấp nhiều dự án khác nhau, bao gồm Hyperledger Fabric, Hyperledger Sawtooth, Hyperledger Indy, Hyperledger Burrow và Hyperledger Iroha Các dự án này được thiết kế để đáp ứng các nhu cầu khác nhau của các ứng dụng blockchain, từ việc xác thực và quản lý danh tính đến tài sản kỹ thuật số và các giao dịch tài chính phức tạp
Hình 1.3 Các dự án trong Hyperledger (Hyperledger, 2018)
Bùi Thị Bích Hằng – K22HTTTC 13
Sơ lược qua về các framework của Hyperledger:
- Hyperledger Sawtooth: là một nền tảng blockchain doanh nghiệp được phát triển bởi Intel và hoạt động với một thuật toán đồng thuận mới có tên Proof of Elapsed Time (PoeT), giúp doanh nghiệp tương tác với các sổ cái phân tán (distributed ledgers) để thực hiện nhiều mục tiêu khác nhau
- Hyperledger Fabric: là một dự án đang phát triển dưới sự cố vấn của IBM Fabric đang là nền tảng blockchain đang được chấp nhận rộng rãi nhất bởi nhiều doanh nghiệp lớn vì nó cực kỳ linh hoạt, nó tạo ra bộ khung mà mỗi doanh nghiệp sẽ sử dụng những blockchain riêng biệt tuỳ theo từng yêu cầu cụ thể khác nhau
- Hyperledger Burrow: là một phần của nền tảng blockchain Hyperledger và cung cấp một mô-đun blockchain client cùng với trình thông dịch hợp đồng thông minh (permissioned smart contract) để phát triển các ứng dụng Nó được thiết kế để hỗ trợ các ứng dụng blockchain phần nào dựa trên đặc điểm kỹ thuật của Máy ảo Ethereum (EVM)
- Hyperledger Indy: giúp hỗ trợ xác định danh tính người sử dụng, Một tính năng không thể bỏ qua của Indy là nó hoạt động trên cơ sở giảm thiểu dữ liệu - các công ty không phải lưu trữ một lượng lớn dữ liệu cá nhân, nhưng có thể lưu trữ các con trỏ đến danh tính
- Hyperledger Iroha: Được thiết kế cho các dự án mobile, sử dụng cơ chế đồng thuận Sumeragi, được triển khai bằng ngôn ngữ C ++, có hiệu suất cao hơn đối với dữ liệu nhỏ và trường hợp sử dụng mạng lưới tập trung
1.2.1.3 Ứng dụng của Hyperledger trong các lĩnh vực
Hyperledger là một nền tảng blockchain được thiết kế để triển khai các ứng dụng blockchain cho doanh nghiệp Nó có thể được áp dụng trong nhiều lĩnh vực khác nhau, bao gồm:
Tài chính: quản lý giao dịch tài chính, bao gồm chứng khoán, hợp đồng tương lai và các loại tài sản tài chính khác Nó cung cấp khả năng theo dõi giao dịch, đảm bảo tính toàn vẹn dữ liệu và tăng cường tính bảo mật
Sức khỏe: quản lý thông tin bệnh nhân, nhật ký y tế và các tài sản kỹ thuật số khác Nó cung cấp khả năng quản lý danh tính, xác thực và quản lý quy trình kinh doanh phức tạp, đồng thời cung cấp tính bảo mật cao
Bán lẻ: quản lý chuỗi cung ứng và quản lý thông tin sản phẩm Nó cung cấp khả năng theo dõi nguồn gốc sản phẩm, đảm bảo tính toàn vẹn dữ liệu và tăng cường tính bảo mật
Bùi Thị Bích Hằng – K22HTTTC 14
Bảo hiểm: quản lý thông tin khách hàng, hợp đồng bảo hiểm và các khoản chi trả Nó cung cấp khả năng quản lý danh tính, xác thực và quản lý quy trình kinh doanh phức tạp, đồng thời cung cấp tính bảo mật cao
Vận tải: quản lý chuỗi cung ứng vận tải, quản lý thông tin đơn hàng và quản lý thông tin vận tải Nó cung cấp khả năng theo dõi nguồn gốc đơn hàng, đảm bảo tính toàn vẹn dữ liệu và tăng cường tính bảo mật
THỰC TRẠNG ỨNG DỤNG CÔNG NGHỆ CHUỖI KHỐI
Những thách thức và rủi ro trong quản lý thông tin y tế
Hiện nay, việc quản lý thông tin y tế đang đối mặt với nhiều thách thức và rủi ro, đặc biệt trong bối cảnh các công nghệ số đang phát triển mạnh mẽ và có ảnh hưởng lớn đến cách thức quản lý thông tin y tế trên toàn cầu
2.1.1 Vấn đề bảo mật thông tin
Một trong những thách thức lớn nhất đối với việc quản lý thông tin y tế là bảo mật thông tin Thông tin y tế của bệnh nhân là những thông tin nhạy cảm và riêng tư, do vậy, nó cần được bảo mật và chỉ được truy cập bởi những người được ủy quyền Tuy nhiên, các vụ vi phạm bảo mật thông tin y tế vẫn xảy ra thường xuyên, dẫn đến việc thông tin y tế của bệnh nhân bị lộ ra ngoài, gây ra những hậu quả nghiêm trọng đến tính mạng và sức khỏe của họ Theo báo cáo của IBM về chi phí vi phạm dữ liệu năm 2021, dịch vụ y tế đã trở thành ngành có chi phí vi phạm dữ liệu cao nhất trong vòng 11 năm qua Trong đó, chi phí vi phạm dữ liệu của ngành này đã tăng lên 9,23 triệu USD vào năm 2021, tăng 29,5% so với tổng chi phí trung bình là 7,13 triệu USD vào năm 2020 (An toàn thông tin ban cơ yếu chính phủ, 2021)
Các tổ chức và dịch vụ hoạt động trong lĩnh vực y tế đang trở thành mục tiêu của các cuộc tấn công ransomware Vì vậy, một số cơ quan và tổ chức đã phát ra các cảnh báo đặc biệt để cảnh báo về nguy cơ này Dưới đây là một số cảnh báo đó:
Vào ngày 28/10/2020, một cố vấn chung về vấn đề an ninh mạng do Cơ quan an ninh mạng và cơ sở hạ tầng (CISA), Cục điều tra liên bang Mỹ (FBI) và Bộ Y tế và
Bùi Thị Bích Hằng – K22HTTTC 35 dịch vụ nhân sinh (HHS) đồng ủy quyền, đã cảnh báo các nhà cung cấp dịch vụ y tế để ngăn chặn phần mềm độc hại TrickBot và các cuộc tấn công ransomware Ryuk (An toàn thông tin ban cơ yếu chính phủ, 2021)
Vào ngày 20/5/2021, FBI đã phát hành một cảnh báo về các cuộc tấn công ransomware Conti ảnh hưởng đến các dịch vụ y tế FBI đã xác định được ít nhất 16 cuộc tấn công ransomware Conti nhắm vào các dịch vụ mạng y tế (An toàn thông tin ban cơ yếu chính phủ, 2021).Vào ngày 25/8/2021, FBI đã cảnh báo các tổ chức trong lĩnh vực y tế về mối đe dọa từ ransomware Hive Đây là loại ransomware được phát hiện lần đầu vào tháng 6/2021 và có khả năng hoạt động dưới dạng affiliate- based ransomware, kết hợp việc mã hóa và đánh cắp dữ liệu (An toàn thông tin ban cơ yếu chính phủ, 2021)
Với tính nhạy cảm của dữ liệu được lưu trữ trong các tổ chức y tế, các cuộc tấn công có thể gây ra rủi ro cực kỳ nguy hiểm Khi dữ liệu bị mã hóa, các bác sĩ và nhân viên y tế sẽ không thể truy cập vào dữ liệu này, dẫn đến nguy cơ mất mát dữ liệu và sự cố trong việc chăm sóc bệnh nhân Ngoài ra, nếu kẻ tấn công quyết định không giải mã dữ liệu sau khi nhận được tiền chuộc, các dữ liệu nhạy cảm có thể bị rò rỉ và xuất hiện trên dark web, gây ra hậu quả nghiêm trọng cho bệnh nhân và tổ chức y tế
2.1.2 Thách thức trong đồng bộ hóa thông tin
Việc đồng bộ hóa thông tin cũng trở thành một thách thức lớn đối với quản lý thông tin y tế Thông tin y tế của bệnh nhân thường được lưu trữ trên nhiều hệ thống khác nhau, từ hệ thống tại bệnh viện, phòng khám, đến hệ thống của các công ty bảo hiểm y tế và các cơ quan chính phủ Do đó, việc đồng bộ hóa thông tin trở thành một thách thức lớn, khiến cho việc truy xuất thông tin y tế của bệnh nhân trở nên khó khăn và mất thời gian
Sự khác biệt về tiêu chuẩn và quy trình cũng là một trong các thách thức đối với việc quản lý thông tin y tế hiện nay Mỗi địa phương, quốc gia có các tiêu chuẩn và quy trình khác nhau liên quan đến quản lý thông tin y tế, do đó, việc đồng bộ hóa và thống nhất các tiêu chuẩn và quy trình trở thành một thách thức, khiến cho việc quản lý thông tin y tế trở nên phức tạp và khó khăn hơn
Theo một nghiên cứu của Hiệp hội Y khoa Mỹ, chỉ khoảng 30% các bệnh viện tại
Mỹ có thể chia sẻ thông tin y tế của bệnh nhân của họ với các tổ chức y tế khác một cách hiệu quả Nghiên cứu này cũng cho thấy rằng việc đồng bộ hóa thông tin y tế vẫn là một thách thức lớn đối với ngành y tế, khiến cho việc truy xuất thông tin y tế của bệnh nhân trở nên khó khăn và mất thời gian (Hiệp hội Y khoa Mỹ (AMA),
Bùi Thị Bích Hằng – K22HTTTC 36
Theo báo cáo của Tổ chức Y tế Thế giới (WHO), 50% số lượng bệnh nhân trên thế giới bị thiếu thông tin y tế cần thiết để đưa ra quyết định chẩn đoán hoặc điều trị
Theo một cuộc khảo sát khác của Hiệp hội Y tế Mỹ, 80% các bác sĩ cho rằng họ đã gặp khó khăn trong việc truy xuất thông tin y tế của bệnh nhân (Hiệp hội Y khoa
Nghiên cứu của Tổ chức Y tế Thế giới cũng cho thấy rằng việc sử dụng các hệ thống thông tin y tế không đồng bộ hóa dẫn đến việc bệnh nhân phải chờ đợi thêm 2-3 ngày để có thể truy xuất được thông tin y tế của họ (Tomas Hambili Paulo Sanjuluca , et al., 2022)
Từ những số liệu này, có thể thấy rằng đồng bộ hóa thông tin y tế vẫn là một thách thức lớn đối với ngành y tế và gây ra nhiều tác động tiêu cực đến bệnh nhân và hệ thống y tế nói chung
2.1.3 Thách thức trong quản lý dữ liệu lớn
Một thách thức khác liên quan đến quản lý thông tin y tế là quản lý dữ liệu Số lượng thông tin y tế được sản xuất mỗi ngày là rất lớn và đang tăng lên, do đó, việc quản lý dữ liệu trở nên khó khăn hơn Ngoài ra, việc lưu trữ và truy cập thông tin y tế cũng đòi hỏi một hạ tầng kỹ thuật mạnh mẽ để đảm bảo tính toàn vẹn và an toàn của dữ liệu
Công nghệ Blockchain trong quản lý thông tin y tế, sức khỏe
2.2.1 Sự cần thiết của ứng dụng blockchain trong lĩnh vực y tế
Dựa trên các nguyên tắc cơ bản của kỹ thuật mã hóa, khiến thông tin cá nhân được bảo vệ bằng cách mã hóa toàn bộ dữ liệu Điều này cho phép mỗi người tham gia trong mạng tương tác với nhau mà không cần sự tin tưởng trước đó, đặc biệt là trong việc lưu trữ, trao đổi và xem thông tin
Một khi thông tin được thêm vào blockchain, tất cả mọi người trong mạng đều biết và yêu cầu mạng xác minh trước khi thông tin được chấp nhận Điều này cho phép sự cộng tác không tin cậy giữa những người tham gia mạng, và sự tương tác này được ghi lại và dễ dàng kiểm tra những tương tác không thể thay đổi được
Mỗi người tham gia kết nối với mạng blockchain sẽ có một cặp chìa khóa, bao gồm chìa khóa riêng bí mật và chìa khóa công cộng Chìa khóa công cộng được sử dụng như một định danh để có thể nhìn thấy thông tin bên trong, trong khi chìa khóa riêng bí mật được sử dụng để giải mã thông tin Cặp chìa khóa này được liên kết mã hóa sao cho việc nhận dạng chỉ có thể thực hiện theo một hướng bằng cách sử dụng chìa khóa riêng Vì vậy, để khám phá thông tin trong blockchain liên quan đến hồ sơ của họ, người tham gia phải có chìa khóa riêng để mở khóa danh tính của họ (Minh, 2019)
Việc ứng dụng công nghệ blockchain trong quản lý thông tin y tế đang trở thành một xu hướng mới và có tiềm năng để giải quyết một số thách thức và khó khăn trong lĩnh vực này Một số lý do và sự cần thiết của việc ứng dụng công nghệ blockchain trong quản lý thông tin y tế:
Bùi Thị Bích Hằng – K22HTTTC 39
Bảo mật và quyền riêng tư: Công nghệ blockchain được coi là một giải pháp tiềm năng để giải quyết vấn đề này Cụ thể, thông tin y tế của bệnh nhân được mã hóa và lưu trữ trên các khối (block) và chỉ có người dùng có quyền truy cập mới có thể xem thông tin Theo một nghiên cứu của IBM, trong vòng 5 năm qua, đã có đến 16% số bệnh nhân tại Mỹ bị lộ thông tin y tế của họ (IBM, 2020) Việc sử dụng công nghệ blockchain có thể giúp bảo vệ thông tin y tế của bệnh nhân khỏi các cuộc tấn công mạng và truy cập trái phép
Chia sẻ thông tin y tế giữa các cơ sở y tế: Công nghệ blockchain cung cấp một giải pháp an toàn và hiệu quả cho việc chia sẻ thông tin y tế giữa các bệnh viện, phòng khám và cơ sở y tế khác Thông tin y tế của bệnh nhân được lưu trữ trên blockchain và các cơ sở y tế có thể truy cập vào thông tin này thông qua hệ thống quản lý quyền truy cập Theo báo cáo của Deloitte, việc sử dụng công nghệ blockchain có thể giúp giảm thiểu thời gian và chi phí cho việc chia sẻ thông tin y tế giữa các cơ sở y tế Cụ thể, việc sử dụng blockchain có thể giảm thiểu chi phí cho việc chia sẻ thông tin y tế lên đến 90%, giúp tiết kiệm tài nguyên và tối ưu hóa quá trình chia sẻ thông tin (MarketsandMarkets, 2018)
Giảm thiểu sai sót và gian lận: Việc quản lý thông tin y tế đúng và chính xác là rất quan trọng trong việc đảm bảo chất lượng dịch vụ y tế Công nghệ blockchain cung cấp một giải pháp hiệu quả để giảm thiểu sai sót và gian lận trong quá trình này Thông tin y tế được lưu trữ và xác thực bởi nhiều người dùng khác nhau trên mạng blockchain, giúp đảm bảo tính chính xác và độ tin cậy của thông tin Theo nghiên cứu của Harvard Business Review, khoảng 5-10% các bản ghi y tế có chứa sai sót (Harvard Business Review, 2018) Tuy nhiên, việc sử dụng công nghệ blockchain có thể giúp giảm thiểu sai sót và gian lận trong quản lý thông tin y tế, đảm bảo rằng thông tin được lưu trữ và chia sẻ một cách đáng tin cậy và hiệu quả
Tiết kiệm chi phí và thời gian: Việc sử dụng công nghệ blockchain giúp giảm thiểu chi phí và thời gian trong quản lý thông tin y tế Theo một báo cáo của MarketsandMarkets, thị trường blockchain trong ngành y tế được dự báo sẽ đạt giá trị 500 triệu USD vào năm 2022 (MarketsandMarkets, 2018) Các cơ sở y tế không cần phải lưu trữ và quản lý thông tin y tế của bệnh nhân trên nhiều hệ thống khác nhau, mà chỉ cần truy cập vào một hệ thống blockchain duy nhất để lấy thông tin
Bài nghiên cứu “Blockchain in healthcare: A systematic literature review, synthesizing framework and future research agenda” đã chỉ ra rằng mạng public blockchain không phù hợp cho việc quản lý thông tin y tế vì tính cộng đồng và công khai của nó (Ahmed Al-Jefri, et al., 2019) , vì mạng public blockchain cho phép bất kỳ ai trên toàn cầu sử dụng internet đều có thể tham gia vào mạng và xem được các giao dịch trên mạng, thông tin y tế được lưu trữ trên mạng public blockchain có thể bị lộ ra ngoài và không được bảo vệ đúng cách
Bùi Thị Bích Hằng – K22HTTTC 40
Các tác giả đã đề xuất sử dụng các loại mạng blockchain khác như permissioned blockchain để đảm bảo tính bảo mật và quyền riêng tư của thông tin y tế
Một trong số đó là mạng Hyperledger Fabric là một loại mạng blockchain được thiết kế để sử dụng trong các ứng dụng kinh doanh và công nghiệp, với tính năng bảo mật cao và khả năng kiểm soát quyền truy cập tốt Mạng hyperledger fabric hoạt động theo mô hình permissioned blockchain, nghĩa là chỉ có một số lượng nhỏ các thành viên được cho phép truy cập vào mạng và xác thực các giao dịch trên mạng Nhờ tính năng này, mạng hyperledger fabric giúp đảm bảo tính bảo mật và quyền riêng tư của thông tin y tế được lưu trữ trên mạng
Ngoài ra, mạng Hyperledger Fabric còn được tích hợp với các tính năng khác như smart contract, hỗ trợ các giao dịch tài chính và phân quyền quản lý Điều này giúp cho việc quản lý thông tin y tế trở nên dễ dàng hơn và đáng tin cậy hơn Vì vậy, mạng hyperledger fabric được coi là một lựa chọn thông minh để sử dụng trong việc quản lý thông tin y tế, giúp đảm bảo tính bảo mật và quyền riêng tư của thông tin y tế
2.2.2 Một số ứng dụng của Hyperledger trong lĩnh vực sức khỏe
Quản lý thông tin bệnh nhân: Hyperledger có thể được sử dụng để tạo ra một hệ thống quản lý thông tin bệnh nhân an toàn và bảo mật Thông tin sức khỏe của bệnh nhân có thể được lưu trữ trên blockchain và chỉ có những người được cấp quyền truy cập mới có thể xem thông tin này
Nhật ký y tế: Hyperledger cũng có thể được sử dụng để tạo ra một hệ thống nhật ký y tế, giúp theo dõi các thông tin liên quan đến sức khỏe của bệnh nhân, bao gồm các phiên khám bệnh, kết quả xét nghiệm và quá trình điều trị
Quản lý dược phẩm: Hyperledger có thể được sử dụng để tạo ra một hệ thống quản lý dược phẩm, giúp theo dõi quá trình sản xuất, lưu trữ và phân phối các loại thuốc
Ứng dụng công nghệ chuỗi khối Hyperledger Fabric trong quản lý thông tin y tế tại Việt Nam
Hiện tại, ứng dụng công nghệ chuỗi khối Hyperledger Fabric trong lĩnh vực y tế tại Việt Nam vẫn còn khá mới mẻ và chưa được triển khai rộng rãi Tuy nhiên, một số dự án đã được triển khai tại Việt Nam như:
Dự án phát triển hệ thống quản lý tài liệu y tế: Dự án này được triển khai bởi công ty Pharmedic và sử dụng Hyperledger Fabric để quản lý tài liệu y tế của bệnh nhân
Hệ thống này giúp cho việc quản lý tài liệu y tế trở nên dễ dàng hơn, đồng thời cải thiện tính bảo mật và tính riêng tư cho tài liệu y tế của bệnh nhân
Dự án phát triển hệ thống quản lý dược phẩm: Dự án này được triển khai bởi công ty mạng lưới dược phẩm Việt Nam và sử dụng Hyperledger Fabric để quản lý thông tin về dược phẩm và tạo ra một hệ thống theo dõi các lô dược phẩm Hệ thống này giúp cho việc quản lý dược phẩm trở nên dễ dàng hơn, đồng thời cải thiện tính minh bạch và bảo vệ quyền lợi của người dùng
Tuy nhiên, việc triển khai công nghệ chuỗi khối Hyperledger Fabric trong lĩnh vực y tế còn đối mặt với nhiều thách thức và khó khăn, bao gồm:
Việc tạo ra một hệ thống quản lý dữ liệu y tế an toàn và đảm bảo tính riêng tư cho bệnh nhân
Việc đảm bảo tính chính xác và đầy đủ của dữ liệu y tế
Việc đảm bảo tính bảo mật của dữ liệu y tế để đảm bảo không có bất kỳ thông tin cá nhân nào bị rò rỉ
Việc đào tạo và phát triển nhân lực có chuyên môn trong lĩnh vực công nghệ chuỗi khối và y tế
Việc áp dụng Hyperledger Fabric trong lĩnh vực y tế tại Việt Nam đang đối mặt với nhiều thách thức pháp lý và quy định, đặc biệt là về bảo vệ dữ liệu y tế và quyền riêng tư của bệnh nhân
Hiện nay, Việt Nam đã có Luật Y tế và các quy định pháp lý liên quan đến bảo vệ dữ liệu y tế, nhưng chưa có quy định rõ ràng về việc sử dụng blockchain trong lĩnh vực y tế Việc thiếu hụt quy định này có thể gây khó khăn cho việc triển khai các dự án sử dụng Hyperledger Fabric trong lĩnh vực y tế tại Việt Nam
Bùi Thị Bích Hằng – K22HTTTC 47
Ngoài ra, vấn đề khác là việc xác định chủ sở hữu của dữ liệu y tế được lưu trữ trên blockchain Việc quản lý và sở hữu dữ liệu y tế đang là một vấn đề nhạy cảm liên quan đến quyền riêng tư của bệnh nhân, do đó việc xác định chính xác chủ sở hữu của dữ liệu là rất quan trọng để đảm bảo tính bảo mật và sự riêng tư của dữ liệu y tế
Tóm lại, việc áp dụng Hyperledger Fabric trong lĩnh vực y tế tại Việt Nam đang đối mặt với nhiều thách thức pháp lý và quy định, đặc biệt là về bảo vệ dữ liệu y tế và quyền riêng tư của bệnh nhân Việc xây dựng các quy định pháp lý rõ ràng và đầy đủ là cần thiết để đảm bảo việc triển khai các dự án sử dụng Hyperledger Fabric trong lĩnh vực y tế được thuận lợi và hiệu quả
Chương 2 đã tìm hiểu về thực trạng ứng dụng công nghệ chuỗi khối Hyperledger Fabric trong quản lý thông tin y tế trên thế giới và tại Việt Nam; xem xét những thách thức và rủi ro trong việc quản lý thông tin y tế, bao gồm vấn đề về bảo mật, quyền riêng tư và tính minh bạch Đồng thời tìm hiểu về những bài nghiên cứu và các dự án đã được triển khai trên thế giới và tại Việt Nam, bao gồm sự đóng góp của Hyperledger Fabric trong việc cải thiện quản lý thông tin y tế đã rút ra được nhiều ưu điểm và hạn chế của việc sử dụng công nghệ chuỗi khối Hyperledger Fabric trong quản lý thông tin y tế
Từ đó có thể tham khảo và áp dụng những kinh nghiệm và bài học để triển khai một dự án quản lý khám chữa bệnh sử dụng công nghệ chuỗi khối Hyperledger Fabric sẽ được trình bày trong chương 3
Bùi Thị Bích Hằng – K22HTTTC 48
CHƯƠNG 3: XÂY DỰNG HỆ THỐNG QUẢN LÝ KHÁM CHỮA BỆNH SỬ
Chương 3 giới thiệu việc xây dựng hệ thống quản lý khám chữa bệnh sử dụng mạng Hyperledger Fabric Trước đó, chương này đưa ra những hạn chế của hệ thống truyền thống và giải thích vai trò của công nghệ
Hyperledger trong việc giải quyết các vấn đề đó Sau đó, chương giải thích về thiết kế hệ thống, cài đặt môi trường và thiết lập smart contract để xây dựng hệ thống Cuối cùng, chương mô tả quá trình thực nghiệm hệ thống dành cho các đối tượng khác nhau trong hệ thống Việc ứng dụng công nghệ Hyperledger giúp cải thiện hiệu quả công việc của các bác sỹ và nâng cao chất lượng dịch vụ chăm sóc sức khỏe cho bệnh nhân.
Phát biểu bài toán ứng dụng Hyperledger Fabric trong quản lý khám chữa bệnh và hồ sơ y tế
3.1.1 Quy trình khám chữa bệnh tại bệnh viện tại Việt Nam hiện nay
Hình 3.1 (Bệnh viên ung bướu trung ứng Hà Nội, 2019) (Bệnh viên ung bướu trung ứng
Bùi Thị Bích Hằng – K22HTTTC 49
Một quy trình khám chữa bệnh bao gồm nhiều bước và có sự khác nhau với từng cơ sở y tế, đây là một quy trình khám chữa bệnh phổ biến tại Việt Nam với 9 bước như sau:
Đăng ký: Bệnh nhân đến quầy đăng ký, cung cấp thông tin cá nhân, số thẻ bảo hiểm y tế (nếu có) và triệu chứng bệnh
Lấy số thứ tự: Bệnh nhân sẽ được cấp số thứ tự và chờ đợi được gọi vào phòng khám
Khám bệnh: Bệnh nhân được gọi vào phòng khám, bác sĩ hỏi về triệu chứng bệnh, tiến hành khám lâm sàng và chẩn đoán bệnh Nếu cần thiết, bác sĩ sẽ yêu cầu bệnh nhân đi xét nghiệm hoặc chụp ảnh
Xét nghiệm và chụp ảnh: Nếu cần thiết, bệnh nhân sẽ được hướng dẫn đến phòng xét nghiệm hoặc phòng chụp ảnh để tiến hành các bước xét nghiệm và chụp ảnh
Kết luận của bác sĩ: Dựa trên kết quả khám lâm sàng và xét nghiệm, bác sĩ đưa ra kết luận và phương án điều trị
Làm hồ sơ đóng dấu: Sau khi khám bệnh, bệnh nhân sẽ được làm hồ sơ và đóng dấu để lưu trữ thông tin của bệnh nhân và quá trình khám chữa bệnh
Ký quỹ: Bệnh nhân thanh toán chi phí khám bệnh và các dịch vụ liên quan tại quầy ký quỹ
Thanh toán tiền và trả bảo hiểm y tế nếu có
Mua thuốc: Nếu được kê đơn thuốc, bệnh nhân sẽ được hướng dẫn đến nhà thuốc để mua thuốc và theo dõi các chỉ định của bác sĩ
Hình 3.2 Khảo sát ý kiến không hài lòng của người bệnh tại Việt nam năm 2019-2020
Bùi Thị Bích Hằng – K22HTTTC 50
Theo kết quả khảo sát ý kiến người bệnh tại khoa Khám bệnh của sơ y tế thành phố Hồ Chí Minh: tổng số lượt ý kiến không hài lòng khi tới khám tại các cơ sở y tế tại Việt Nam vẫn còn cao, chiếm tỉ lệ nổi trội và cần được các bệnh viện xem là những ưu tiên trong cải tiến chất lượng tại các khoa khám bệnh tại bệnh viện là khâu làm thủ tục khám, thái độ ứng xử, giao tiếp của nhân viên bệnh viện, câu hỏi thăm khám của bác sĩ, thời gian chờ kết quả khám bệnh (Sở Y tế TP.Hồ Chí Minh, 2020)
Quản lý hồ sơ y tế tại Việt Nam hiện nay được thực hiện bởi các cơ quan y tế và bệnh viện Theo quy định của pháp luật, mỗi người dân có một hồ sơ y tế cá nhân, trong đó ghi nhận các thông tin liên quan đến lịch sử bệnh án, kết quả xét nghiệm, chẩn đoán, phương pháp điều trị, lịch sử tiêm chủng, và các thông tin khác liên quan đến sức khỏe
Tuy nhiên, việc quản lý hồ sơ khám chữa bệnh tại Việt Nam vẫn còn nhiều hạn chế và thách thức, bao gồm việc giữ bảo mật thông tin, đảm bảo tính toàn vẹn và sẵn sàng của dữ liệu, và cải thiện quy trình truy cập và chia sẻ thông tin giữa các bệnh viện và cơ quan y tế khác nhau Hiện nay, các cơ quan y tế đang nỗ lực để áp dụng công nghệ thông tin để nâng cao hiệu quả và tính bảo mật trong quản lý hồ sơ y tế, bao gồm việc phát triển các hệ thống quản lý hồ sơ y tế điện tử và các giải pháp blockchain để đảm bảo tính toàn vẹn và bảo mật của dữ liệu y tế
Việt Nam vẫn đang trong quá trình phát triển hệ thống y tế và chưa đạt được sự đồng bộ và hiện đại như nhiều quốc gia phát triển khác trên thế giới Nhiều hệ thống quản lý thông tin và chăm sóc sức khỏe ở Việt Nam vẫn chưa được tích hợp và hiện đại, gây khó khăn cho việc quản lý thông tin và đưa ra quyết định chăm sóc sức khỏe Ngoài ra, quy trình khám bệnh tại Việt Nam cũng chưa linh hoạt và khó khăn trong việc đáp ứng nhu cầu khám bệnh của bệnh nhân Tuy nhiên, không phải tất cả các nước phát triển đều có hệ thống y tế đồng bộ và hiện đại, vì vậy Việt Nam cũng đang trong quá trình phát triển và có thể cải thiện hệ thống y tế của mình trong tương lai
3.1.2 Một số hạn chế trong quản lý hồ sơ y tế đáp ứng quy trình khám bệnh tại bệnh viện hiện nay
Một số hạn chế trong quản lý thông tin đáp ứng quy trình khám bệnh tại bệnh viện Việt Nam bao gồm:
Hồ sơ bệnh án trên giấy: Hầu hết các bệnh viện ở Việt Nam vẫn sử dụng hồ sơ bệnh án trên giấy, làm giảm tính bảo mật và dễ bị thất lạc Ngoài ra, hồ sơ bệnh án trên giấy cũng gây khó khăn trong việc quản lý thông tin và đưa ra quyết định chăm sóc sức khỏe
Bùi Thị Bích Hằng – K22HTTTC 51
Thiếu hệ thống quản lý thông tin tích hợp: Nhiều bệnh viện ở Việt Nam vẫn chưa có hệ thống quản lý thông tin tích hợp, làm cho việc quản lý thông tin khó khăn và giảm tính hiệu quả của quy trình khám bệnh
Thiếu khả năng chia sẻ thông tin: Việc chia sẻ thông tin giữa các bệnh viện và giữa các bác sĩ cũng gặp khó khăn tại Việt Nam, làm giảm tính hiệu quả của quy trình khám bệnh
Thiếu ứng dụng công nghệ: Nhiều bệnh viện ở Việt Nam chưa sử dụng ứng dụng công nghệ để quản lý thông tin và đưa ra quyết định chăm sóc sức khỏe, làm giảm tính hiệu quả và tăng thời gian khám bệnh
Thiếu nhân lực chuyên môn: Một số bệnh viện ở Việt Nam còn thiếu nhân lực chuyên môn để quản lý thông tin và đưa ra quyết định chăm sóc sức khỏe, gây ảnh hưởng đến chất lượng và tính hiệu quả của quy trình khám bệnh
Những hạn chế này làm giảm tính hiệu quả của quy trình khám bệnh tại bệnh viện Việt Nam, đồng thời cũng cần được cải thiện và nâng cao trong tương lai
Hiện nay các bệnh viện đã sử dụng các phần mềm khám chữa bệnh để giải quyết những hạn chế trên, tuy nhiên vấn đề chia sẻ thông tin và bảo mật chưa được giải quyết một cách triệt để, vẫn còn những bất cập như:
Phân tích thiết kế hệ thống quản lý thông tin khám chữa bệnh ứng dụng công nghệ chuỗi khối Hyperledger Fabric
3.2.1 Biểu đồ ca sử dụng (Use case diagram)
Hệ thống quản lý khám chữa bệnh có nhiều đối tượng tham gia, bao gồm quản trị viên (Admin), bác sĩ và bệnh nhân và lễ tân bệnh viện
Hình 3.4 Sơ đồ ca sử dụng của tác nhân Admin
Hình 3.5 Sơ đồ ca sử dụng của tác nhân Lễ tân
Bùi Thị Bích Hằng – K22HTTTC 55
Hình 3.6 Sơ đồ ca sử dụng của tác nhân Bác sĩ
Hình 3.7 Sơ đồ ca sử dụng của tác nhân Bệnh nhân
Biểu đồ use case của các tác nhân bác sỹ, bệnh nhân, lễ tân bệnh viện và quản trị viên hệ thống trong quy trình quản lý khám chữa bệnh được thiết kế để mô tả các hoạt động và chức năng cần thiết của từng tác nhân trong hệ thống
Với bác sỹ, biểu đồ use case mô tả các chức năng như xem lịch trình khám bệnh, tạo phiếu khám bệnh, cập nhật tình trạng bệnh nhân và ghi lại kết quả khám bệnh (hình 3.6)
Bùi Thị Bích Hằng – K22HTTTC 56 Đối với bệnh nhân, biểu đồ use case mô tả các chức năng như đăng ký khám bệnh, xem lịch trình khám bệnh, xem kết quả khám bệnh và đặt lịch hẹn với bác sĩ (hình 3.7)
Với lễ tân bệnh viện, biểu đồ mô tả các hoạt động bao gồm các chức năng như tiếp nhận bệnh nhân, đăng ký khám bệnh, xếp lịch hẹn và cập nhật thông tin bệnh nhân (hình 3.5) Đối với quản trị viên hệ thống, biểu đồ use case mô tả gồm các chức năng như quản lý tài khoản, quản lý danh sách bác sĩ và bệnh nhân, quản lý lịch trình khám bệnh và phân quyền truy cập (hình 3.4)
3.2.2 Biểu đồ tuần tự mô tả luồng nghiệp vụ (Sequence Diagram)
Hình 3.8 Mô tả sự tương tác giữa các thành phần để tạo ra một bệnh nhân Bệnh nhân chỉ cần tạo một tài khoản một lần duy nhất khi đăng ký bất kỳ một trong các bệnh viện trong mạng lưới Trong lần đăng ký đầu tiên, bệnh nhân cung cấp thông tin cho lễ tân, quản trị viên sử dụng AdminContract để tạo ra một bệnh nhân Ở phía sau, đầu tiên chứng chỉ quản trị viên được sử dụng để kết nối đến mạng, sau đó một giao dịch được tạo ra để thêm đối tượng bệnh nhân vào sổ cái và cũng thêm danh tính bệnh nhân vào mạng blockchain Sau khi tạo bệnh nhân thành công, máy chủ xác thực người dùng 1 lần nữa qua gmail và tạo ra một mật khẩu cho bệnh nhân sử dụng để đăng nhập vào mạng Thông tin đăng nhập của bệnh nhân được thêm vào sổ cái vì bệnh nhân có thể đến bất kỳ bệnh viện nào trong mạng lưới
Hình 3.9 cho thấy quá trình tương tác để tạo ra một bác sĩ Bác sĩ cung cấp thông tin cho quản trị viên, người sau đó đầu tiên kết nối vào mạng và sau đó thêm bác sĩ vào mạng blockchain như một danh tính Và thông tin chứng chỉ của bác sĩ được lưu trữ trong cơ sở dữ liệu Redis của bệnh viện Bây giờ khi bệnh nhân và bác sĩ được thêm vào mạng blockchain như các danh tính, cho các tương tác tiếp theo, bệnh nhân / bác sĩ có thể kết nối vào mạng bằng cách sử dụng chứng chỉ của họ
Bùi Thị Bích Hằng – K22HTTTC 57
Hình 3.8 Biểu đồ tuần tự thể hiện sự tương tác giữa các thành phần để tạo ra bệnh nhân
Hình 3.9 Biểu đồ tuần tự thể hiện sự tương tác giữa các thành phần để tạo ra bác sĩ
Bùi Thị Bích Hằng – K22HTTTC 58
Hình 3 10 Biểu đồ hoạt động hệ thống khám quản lý khám chữa bệnh
3.2.3 Thiết kế cơ sở dữ liệu
Hyperledger Fabric sử dụng CouchDB làm cơ sở dữ liệu để lưu trữ và quản lý các transaction và state data của các chaincode trong mạng blockchain Khi một transaction được gửi đến cho mạng Fabric, các peer sẽ thực hiện các xác thực, xác nhận và thực thi transaction này Sau khi transaction được chấp nhận và thực thi thành công, nó sẽ được ghi vào state database của chaincode và được lưu trữ trong CouchDB
Các transaction và state data trong Fabric được lưu trữ dưới dạng JSON document trong CouchDB Mỗi transaction sẽ có một document tương ứng trong CouchDB, bao gồm các trường như transaction ID, timestamp, danh sách các input và output, các metadata của transaction, và một số thông tin khác liên quan đến transaction
Ngoài ra, mỗi state data sẽ có một document tương ứng trong database, bao gồm một key và một value Key sẽ được sử dụng để truy xuất và tìm kiếm các state data, và value sẽ chứa thông tin chi tiết về các state data đó
Câu lệnh khởi tạo một mạng blockchain Hyperledger Fabric và một kênh (channel) mới trong mạng đó, sử dụng các thành phần CouchDB làm cơ sở dữ liệu: network.sh up createChannel -ca -s couchdb
Chi tiết từng tham số của câu lệnh như sau:
up: Chạy lệnh up của script network.sh để bắt đầu quá trình triển khai mạng
Bùi Thị Bích Hằng – K22HTTTC 59
createChannel: Tạo một kênh mới trong mạng
-ca: Sử dụng chứng chỉ CA (Certificate Authority) để xác thực các thành phần trong mạng
-s couchdb: Sử dụng CouchDB làm cơ sở dữ liệu cho các thành phần trong mạng Như vậy, dữ liệu khám chữa bệnh sử dụng mạng Hyperledger Fabric được lưu trữ trong CouchDB dưới dạng JSON document, bao gồm các transaction và state data của chaincode Các document này được quản lý và truy xuất thông qua các API của CouchDB, được tích hợp sẵn trong Hyperledger Fabric
Hình 3.11 Khai báo container couchdb0 trong mạng Hyperledger Fabric
Tên trường Ý nghĩa Thuộc tính room_id Mã phòng String room_name Tên phòng String room_department_name Tên của phòng ban thuộc về String room_number Số phòng String room_is_deleted Biểu thị xem phòng bị xóa hay chưa
Boolean room_description Mô tả về phòng String
Bùi Thị Bích Hằng – K22HTTTC 60 docType Loại tài liệu đại diện cho đối tượng này trong couchDB
Bảng 3.1 Mô tả bảng Phòng
Tên trường Ý nghĩa Thuộc tính department_id Mã khoa String department_name Tên khoa String department_is_deleted Biểu thị xem khoa bị xóa hay chưa Boolean department_description Mô tả về khoa String docType Loại tài liệu đại diện cho đối tượng này trong couchDB
Bảng 3.2 Mô tả bảng Khoa
Tên trường Ý nghĩa Thuộc tính drug_id Mã thuốc String drug_name Tên thuốc String drug_instruction Hướng dẫn sử dụng String drug_unit Đơn vị tính String drug_dosage_form Hình thức từ liều dùng String drug_route Kiểu dùng thuốc String drug_is_deleted Biểu thị xem thuốc bị xóa hay chưa
Boolean docType Loại tài liệu đại diện cho đối tượng này trong couchDB
Bảng 3.3 Mô tả bảng thuốc
Tên trường Ý nghĩa Thuộc tính user_id Mã người dùng String user_fullname Tên đầy đủ người dùng String
Bùi Thị Bích Hằng – K22HTTTC 61 user_role_id Quyền người dùng: bác sĩ/bệnh nhân/admin/lễ tân…
String user_email Email người dùng String user_password Mật khẩu String user_phone Số điện thoại người dùng String user_address Địa chỉ người dùng String user_verified_email Trạng thái xác minh qua email Boolean user_verified_phone Trạng thái xác minh qua số điện thoại
Cài đặt môi trường
Hyperledger Fabric xây dựng hệ thống mạng thử nghiệm với một số ứng dụng mẫu để có thẻ hình dung và hiểu hơn về hệ thống bằng cách chạy các node ở máy cục bộ Từ đó áp dụng vào trong các dự án thực tế
Bùi Thị Bích Hằng – K22HTTTC 66
3.3.1 Yêu cầu về phần cứng và hệ điều hành
Hệ điều hành: Ubuntu 20.04 trong môi trường máy ảo Vmware
Bộ nhớ lưu trữ: 20GB
3.3.2 Cài đặt điều kiện tiên quyết
Sau khi cài đặt Ubuntu 20.04 trong máy ảo, ta cập nhật update và upgrade: sudo apt-get update –y
Hình 3.14 Kết quả chạy update ubuntu
Hình 3.15 Kết quả chạy upgrade ubuntu
Bùi Thị Bích Hằng – K22HTTTC 67
3.3.2.2 Cài đặt công cụ, phần mềm
Cài đặt git: sudo apt-get install git –y Là lệnh trong hệ điều hành Ubuntu để cài đặt phần mềm Git từ kho lưu trữ ứng dụng của hệ điều hành
Cài đặt cURL: sudo apt-get install curl –y cURL là một công cụ dòng lệnh được sử dụng để truyền tải dữ liệu qua các giao thức mạng, bao gồm HTTP, HTTPS, FTP, SMTP, POP3 và nhiều giao thức khác cURL cũng hỗ trợ nhiều tính năng hữu ích như tải xuống và tải lên tệp, xác thực, sử dụng proxy, kiểm tra SSL, và nhiều tính năng khác
Cài đặt docker: sudo apt-get -y install docker- compose
Docker là một nền tảng ảo hóa dùng để tạo, triển khai và quản lý các container Container là một môi trường chứa phần mềm độc lập với hệ điều hành và phần cứng của máy tính mà nó chạy trên đó Docker giúp cho việc triển khai, quản lý và cập nhật phần mềm trên các môi trường khác nhau trở nên dễ dàng hơn, đồng thời giúp tiết kiệm tài nguyên máy tính
Trong private blockchain, Docker được sử dụng để triển khai các node trong mạng blockchain Các container chứa các thành phần của node như peer, orderer, ca, database và được quản lý bằng Docker Compose để dễ dàng triển khai và cấu hình Docker giúp đơn giản hóa việc triển khai và quản lý các node trong mạng blockchain, đồng thời giúp tăng tính bảo mật và độ tin cậy của hệ thống bằng cách cô lập các thành phần của mạng blockchain trong các container khác nhau Ngoài ra, Docker cũng giúp tăng tính linh hoạt cho mạng blockchain private bằng cách cho phép nhanh chóng triển khai các phiên bản mới của các thành phần trong mạng mà không ảnh hưởng đến các thành phần khác
Cài đặt Visual Studio Code: sudo install code –classic
Cài đặt Visual Studio Code trên hệ điều hành Ubuntu sẽ cho phép bạn sử dụng trình soạn thảo này để phát triển các ứng dụng và dịch vụ trên nền tảng Ubuntu
3.3.2.3 Cài đặt ngôn ngữ phát triển
Cài đặt Nodejs và Npm: sudo apt-get install –y nodejs sudo npm install npm
Cài đặt Go, cụ thể là phiên bản 1.19.2 wget https://go.dev/dl/go1.19.2.linux-amd64.tar.gz
Giải nén: tar xf go1.19.2.linux-amd64.tar.gz
Cài đặt Javascript: sudo apt-get install jq
Bùi Thị Bích Hằng – K22HTTTC 68
3.3.3 Cài đặt Hyperledger Fabric và các docker image cần thiết của Fabric:
Cài đặt Hyperledger Fabric và các docker image cần thiết của Fabric: curl -sSL https://bit.ly/2ysbOFE | bash -s
Cụ thể, lệnh trên sẽ tải xuống một tệp script từ địa chỉ "https://bit.ly/2ysbOFE", sau đó chạy script này bằng lệnh "bash -s" Script này sẽ thực hiện các bước sau:
Cài đặt các công cụ cần thiết để phát triển và triển khai mạng blockchain Hyperledger Fabric, bao gồm cURL, Docker và Docker Compose
Tải xuống các Docker image cần thiết để triển khai mạng blockchain Hyperledger Fabric, bao gồm các image cho peer, orderer, ca và các thành phần khác
Thiết lập môi trường cho Hyperledger Fabric bằng cách cấu hình các biến môi trường và thêm các đường dẫn cần thiết vào tệp ~/.bashrc.
Smart contract (Hợp đồng thông minh) trong hệ thống quản lý khám chữa bệnh
Hình 3.16 Các câu lệnh trong hợp đồng thông minh Đoạn mã trên định nghĩa một lớp HealthRecordContract kế thừa từ lớp Contract trong Hyperledger Fabric, để triển khai các hợp đồng thông minh liên quan đến quản lý hồ sơ sức khỏe
Lớp này có nhiều phương thức dùng để thực hiện các hoạt động như tạo, cập nhật, truy vấn, xóa hồ sơ sức khỏe, tạo hóa đơn y tế, quản lý người dùng, phòng khám, thuốc, kết quả xét nghiệm, đơn thuốc, lịch sử bệnh án, v.v Các phương thức này nhận vào thông tin từ đối tượng Context và các tham số để thực hiện các hoạt động trên mạng blockchain
Bùi Thị Bích Hằng – K22HTTTC 69
Ngoài ra, lớp HealthRecordContract cũng có các phương thức khởi tạo, truy vấn kết quả, và các phương thức hỗ trợ như getUserId() để lấy ID của người dùng, getAllResults() để lấy tất cả kết quả trả về từ một lần truy vấn,
Tổng quan, lớp HealthRecordContract cung cấp một giao diện để triển khai các hoạt động quản lý hồ sơ sức khỏe và các hoạt động liên quan trong mạng blockchain
HealthRecordContract định nghĩa các hàm sau:
createHealthRecord(ctx: Context, hrAsString: string): Promise: Tạo mới một hồ sơ sức khỏe.updateHealthRecord(ctx: Context, hrId: string, payload: string): Promise: Cập nhật thông tin của một hồ sơ sức khỏe
queryAllHealthRecords(ctx: Context): Promise: Truy vấn tất cả các hồ sơ sức khỏe
acceptVerifyHealthRecord(ctx: Context, hrId: string): Promise: Xác nhận và chấp nhận một hồ sơ sức khỏe đã được xác thực
getQueryResultForQueryString (ctx: Context, queryString: string): Promise: Truy vấn kết quả cho một truy vấn chuỗi cụ thể
queryResult(ctx: Context, queryString: string): Promise: Truy vấn kết quả cho một truy vấn chuỗi cụ thể
getHealthRecordById(ctx: Context, hrId: string): Promise: Lấy thông tin của một hồ sơ sức khỏe dựa trên id
Ngoài ra, fabric-contract-api còn cung cấp các công cụ để kiểm tra và triển khai smart contract trên mạng Hyperledger Fabric Với fabric-contract-api, việc phát triển smart contract trở nên đơn giản hơn và có thể được thực hiện nhanh chóng
Bùi Thị Bích Hằng – K22HTTTC 70
Hình 3.17 Nội dung các điều khoản được định nghĩa trong Smart Contract
Các thực thể trong mạng Phương thức
Sổ khám bệnh Lễ tân tạo sổ khám bệnh mới
Lễ tân, bác sĩ sửa sổ khám bệnh
Phiếu khám bệnh Lễ tân tạo phiếu khám với
Lễ tân, bác sĩ, điều dưỡng, kế toán, nhân viên, dược sỹ cập nhật
Người dùng Admin/lễ tân Bác sĩ, điều dưỡng, bệnh nhân
Cập nhật xác minh email
Cập nhật thông tin user
Bùi Thị Bích Hằng – K22HTTTC 71
Tác động Thêm vào sổ cái
Xác thực quyền người dùng
Truy vấn kết quả xét nghiệm, cận lâm sàng,…
Bảng 3.9 Nội dung các điều khoản được định nghĩa trong Smart Contract
Thực nghiệm hệ thống quản lý khám chữa bệnh ứng dụng Hyperledger Fabric
Tại thư mục blockchain/test- network, thực hiện lệnh /startHealthRecord.sh để khởi động mạng Fabric và deploy chaincode
Hình 3.18 Thực hiện stopping network
Trước khi thực hiện lệnh start để khởi động lại mạng Hyperledger Fabric, thường cần dừng mạng bằng lệnh stop Lý do chính để dừng mạng trước khi khởi động lại là để đảm bảo
Bùi Thị Bích Hằng – K22HTTTC 72 rằng các tiến trình và dịch vụ liên quan đến mạng được dừng hoàn toàn trước khi khởi động lại
Khi một mạng Hyperledger Fabric đang chạy, các tiến trình và dịch vụ liên quan đến mạng sẽ đang hoạt động và sử dụng tài nguyên của hệ thống Nếu bạn thực hiện lệnh start mà không dừng trước đó, các tiến trình và dịch vụ này có thể vẫn đang hoạt động và sử dụng tài nguyên, dẫn đến các lỗi hoặc sự cố không mong muốn
Bằng cách dừng mạng trước khi khởi động lại, bạn đảm bảo rằng tất cả các tiến trình và dịch vụ liên quan đến mạng đã được dừng hoàn toàn và các tài nguyên được giải phóng trước khi khởi động lại Điều này giúp đảm bảo tính ổn định và đáng tin cậy của mạng Hyperledger Fabric
Hình 3.19 Tạo channel trong mạng
Bùi Thị Bích Hằng – K22HTTTC 73
Hình 3.20 Định nghĩa và triển khai chaincode/smart contract
Tại thư mục blockchain/server, lần lượt thực hiện các lệnh npm install (chỉ thực hiện lần đầu), npm start để khởi chạy API server
Hình 3.21 Thực hiện câu lệnh npm start server
Bùi Thị Bích Hằng – K22HTTTC 74
Tại thư mục blockchain/web, lần lượt thực hiện các lệnh npm install (chỉ thực hiện lần đầu), npm start để khởi chạy web app
Hình 3.22 Khởi chạy web app nội bộ
Tại thư mục blockchain/mobile, lần lượt thực hiện các lệnh npm install (chỉ thực hiện lần đầu), npm start để khởi chạy mobile app
Hình 3.23 Khởi chạy mobile app dành cho bệnh nhân
Bùi Thị Bích Hằng – K22HTTTC 75
3.5.2 Website nội bộ dành cho admin, bác sĩ, lễ tân
Hình 3.24 Trang đăng nhập dành cho nội bộ bệnh viện
Trang đăng nhập web quản lý nội bộ dành cho các cán bộ công nhân viên trong bệnh viện với những nhóm quyền khác nhau (nhóm quyền bác sĩ, quyền lễ tân, quyền admin)
3.5.2.2 Trang quản trị hệ thống dành cho admin
Hình 3.25 Trang quản trị hệ thống dành cho admin
Bùi Thị Bích Hằng – K22HTTTC 76
Với admin bệnh viện sẽ quản lý:
Quản lý nhân viên: tìm kiếm, thêm mới với các nhóm quyền khác nhau, xem chi tiết, khóa tài khoản của người dùng
Quản lý khoa: tìm kiếm, thêm mới, sửa, xóa khoa
Quản lý phòng: mỗi khoa chứa nhiều phòng, có thể tìm kiếm, thêm mới, sửa, xóa, xem chi tiết mỗi phòng
Quản lý thuốc: quản lý xuất nhập kho, thông tin các loại thuốc dùng trong bệnh viện
Quản lý cận lâm sàng
Thống kê: các báo cáo thống kê hoạt động khám chữa bệnh tại bệnh viện
Thông tin cá nhân của admin
3.5.2.3 Trang quản lý khám bệnh (với lễ tân)
Lê tân sẽ có quyền xem, quản lý sổ khám chữa bệnh, đăng ký hồ sơ khám chữa bệnh cho bệnh nhân, sau đó tạo phiếu khám chữa bệnh, đặt hẹn khám bệnh với bác s sau khi người dùng đã được xác thực
Hình 3.26 Danh sách sổ khám bệnh
Bùi Thị Bích Hằng – K22HTTTC 77
Hình 3.27 Thêm mới hồ sơ bệnh nhân
Khi tạo mới hồ sơ bệnh nhân sẽ nhập các thông tin như họ tên, số điện thoại, email (chưa được đăng ký), giới tính, ngày sinh, số CMND/CCCD số bảo hiểm y tế, …
Khi click button đăng ký, hệ thống gửi yêu cầu xác thực người dùng qua email đã được đăng ký trước khi tạo tài khoản trong hệ thống quản lý khám chữa bệnh Để tạo phiếu khám bệnh, bệnh nhân thực hiện đăng nhập vào trang web bệnh viện với tài khoản và mật khẩu được gửi qua email, xác thực 1 lần nữa qua email, sau đó cung cấp mã QR Code cho bệnh viên quét và tạo phiếu đăng ký khám bệnh
Bùi Thị Bích Hằng – K22HTTTC 78
Hình 3.28 Trang tạo phiếu khám bệnh cho bệnh nhân
Hình 3.29 Trang hoàn thiện tạo phiếu khám bệnh và cấp quyền cập nhật cho bác sĩ
Trong phiếu khám bệnh sẽ đăng ký khoa và bác sĩ thực hiện khám, lúc này bác sĩ được bệnh nhân đăng ký khám mới có thể quét QR Code để tìm kiếm thông tin phiếu khám
Bùi Thị Bích Hằng – K22HTTTC 79
3.5.2.4 Trang quản lý sổ khám chữa bệnh (với bác sĩ)
Hình 3.30 Quét mã để tìm kiếm phiếu khám bệnh 3.5.2.5 Trang cập nhật kết quả khám chữa bệnh (với bác sĩ)
Hình 3.31 Kết quả tìm kiếm phiếu khám Để có thể cập nhật kết quả sau quá trình khám chữa bệnh, bệnh nhân phải cung cấp QR Code 1 lần nữa để đảm bảo không cập nhật nhầm kết quả khám chữa bệnh giữa các bệnh nhân
Bùi Thị Bích Hằng – K22HTTTC 80
Hình 3.32 Xác thực quyền cập nhật phiếu khám cho bệnh nhân
Hình 3.33 Trang cập nhật kết quả khám, chuẩn đoán bệnh
Bùi Thị Bích Hằng – K22HTTTC 81
3.5.3 Website/App client dành cho bệnh nhân
3.5.3.1 Xác thực tài khoản qua Email
Hình 3.34 Yêu cầu xác thực qua email cá nhân của bệnh nhân
Hình 3.35 Kết quả xác thực quá trình xác thực của bệnh nhân
Bùi Thị Bích Hằng – K22HTTTC 82
Hình 3.36 Yêu cầu xác thực tạo phiếu khám bệnh
Không có xác thực của bệnh nhân, bệnh viện sẽ không thể tạo phiếu khám chữa bệnh
Bệnh nhân sử dụng tài khoản và mật khẩu được gửi qua mail để đăng nhập web/app
Hình 3.37 Trang đăng nhập dành cho bệnh nhân
Bùi Thị Bích Hằng – K22HTTTC 83
3.5.3.3 Trang thông tin hồ sơ
Trang này chứa tất cả thông tin mà lễ tân đã lấy thông tin và tạo hồ sơ y tế cho bạn, bệnh nhân chỉ có quyền xem những thông tin này
Hình 3.38 Trang hồ sơ cá nhân của bệnh nhân 3.5.3.4 Trang thông tin QR Code
Hình 3.39 Trang QR Code cá nhân cung cấp khi có yêu cầu xác thực tại bệnh viện
Bùi Thị Bích Hằng – K22HTTTC 84
Mỗi bệnh nhân sẽ được hệ thống cung cấp 1 mã QR Code xác định, người dùng có thể đăng nhập app/web hoặc chụp lại trong quá trình khám chữa bệnh để xác thực, tìm kiếm thông tin bệnh nhân một các đơn giản, tiện lợi, nhanh chóng
Bệnh nhân sẽ nhân được kết quả khám bệnh, chuẩn đoán, tư vấn thuốc từ chính bác sĩ, sau khi bác sĩ cập nhật, đảm bảo kết quả khám của mình riêng tư, bảo mật, trong những lần tái khám tiếp theo không cần mang theo nhiều giấy tờ trong những đợt khám trước đây
Hình 3.40 Trang sổ khám chữa bệnh sau khi được bác sĩ cập nhật kết quả khám chữa bệnh
Đánh giá kết quả thực nghiệm
Kết quả của việc ứng dụng Hyperledger Fabric trong quản lý khám chữa bệnh là một mạng lưới hoàn chỉnh bao gồm các quy trình làm việc cho admin, lễ tân và bác sĩ Hệ thống này giúp cải thiện tính minh bạch và hiệu quả trong quản lý thông tin y tế, giúp các bác sĩ và nhân viên y tế có thể nhanh chóng truy cập và cập nhật thông tin y tế của bệnh nhân Hiện tại hạn chế của hệ thống hiện tại là chưa xây dựng cơ chế chia sẻ dữ liệu hồ sơ y tế giữa các bệnh viện, nội dung này em sẽ triển khai phát triển trong giai đoạn sau, khi mà đã có đầy đủ khảo sát cơ sở bệnh tầng và khả năng đồng bộ giữa các cơ sở y tế
Bên cạnh đó, hệ thống cũng giúp giảm thiểu rủi ro về an ninh thông tin, đảm bảo tính bảo mật và quyền riêng tư cho dữ liệu y tế của bệnh nhân Các thuật toán mã hóa được sử
Bùi Thị Bích Hằng – K22HTTTC 85 dụng trong Hyperledger Fabric giúp bảo vệ dữ liệu y tế tránh khỏi các cuộc tấn công mạng và lộ thông tin
Tuy nhiên, để triển khai thành công hệ thống này, cần có sự hợp tác và đầu tư từ các bệnh viện, các đơn vị y tế và chính phủ Ngoài ra, cần phải đào tạo và hướng dẫn cho các bác sĩ và nhân viên y tế để sử dụng hệ thống một cách hiệu quả, đảm bảo tính khả dụng và tính nhất quán của thông tin y tế trên toàn mạng lưới, với hy vọng kết quả của nghiên cứu này có thể đóng góp cải thiện quản lý thông tin y tế tại các bệnh viện trong tương lai.