1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger

55 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 55
Dung lượng 10,59 MB

Nội dung

Điều này có thể chứng minh là một giải pháptuyệt vời trong việc giải quyết các vấn đề đặt ra bởi các hệ thống cơ sở dữ liệutruyền thống trong lĩnh vực chăm sóc sức khỏe cùng với các vấn

Trang 1

ĐẠI HỌC ĐÀ NẴNGTRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN

Tel (+84.0236) 3736949, Fax (+84.0236) 3842771

Website: http://dut.udn.vn/khoacntt , E-mail: cntt@dut.udn.vn

BÁO CÁO THỰC TẬP TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN

XÂY DỰNG WEBSITE QUẢN LÝ BỆNH ÁN TRÊN NỀN

Trang 2

Tên Cơ quan/Công Ty CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập - Tự do - Hạnh Phúc

PHIẾU ĐÁNH GIÁ KẾT QUẢ THỰC TẬP TỐT NGHIỆP

Họ và Tên sinh viên: ……… Lớp: ……… Nhóm: ………

Cơ quan/Đơn vị thực tập: ………

Địa chỉ:………

Thời gian thực tập từ ……… đến ………

Người hướng dẫn: ………Email:……… Điện thoại: ………

1 Đánh giá về năng lực chuyên môn Nội dung đánh giá Xuất sắc Tốt Khá T.Bình Yếu Năng lực chuyên môn đáp ứng công việc Hoàn thành các công việc được giao Khả năng sử dụng ngoại ngữ Ứng dụng kết quả thực tập cho cơ quan 2 Đánh giá về ý thức làm việc Nội dung đánh giá Xuất sắc Tốt Khá T.Bình Yếu Tinh thần, thái độ làm việc Tuân thủ kỷ luật (thời gian làm việc, báo nghỉ…) Giao tiếp, quan hệ với cán bộ, công nhân viên 3 Đánh giá kết quả công việc Nội dung đánh giá Xuất sắc Tốt Khá T.Bình Yếu Khả năng phân tích thiết kế hệ thống Kỹ năng lập trình Khả năng học hỏi, nắm bắt công nghệ mới 4 Các nhận xét khác (nếu có)

5. Điểm đánh giá Ghi bằng số: /10 Ghi bằng chữ:

Xác nhận của cơ quan/đơn vị thực tập

(Ký, ghi rõ họ tên và đóng dấu)

Ngày tháng 02 năm 2022 Người hướng dẫn (Ký và ghi rõ họ tên)

Trang 3

Đồ án thực tập

NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Trang 4

Đồ án thực tập

Trang 3

MỤC LỤC

MỤC LỤC 2

DANH SÁCH HÌNH VẼ 3

DANH SÁCH CÁC TỪ VIẾT TẮT 4

MỞ ĐẦU 5

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 6

1.1 Đặt vấn đề 6

1.2 Mục đích 7

1.3 Giới thiệu Hyperledger Fabric 9

1.4 Hyperledger Fabric và Hệ thống bệnh án 11

CHƯƠNG 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 13

2.1 Mô tả hệ thống 13

2.2 Quy trình hoạt động 14

2.3 Bảo mật 15

2.4 Công nghệ 17

2.5 Mạng Hyperledger Fabric 17

2.6 Cơ sở dữ liệu 17

2.7 Smart contracts and Chaincode 18

2.8 Software Development Kit (SDK) 20

2.9 Phân tích chức năng Back-End API và Front-End API 21

CHƯƠNG 3 TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ 22

3.1 Giao diện hệ thống 22

3.2 Đánh giá kết quả 24

CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 25

4.1 Kết luận 25

4.2 Hướng phát triển 25

TÀI LIỆU THAM KHẢO 26

PHỤ LỤC 27

Trang 5

Đồ án thực tập

DANH SÁCH HÌNH VẼ

Hình 1: Mô hình kiến trúc 14

Hình 2: Sơ đồ Usercase mô tả chức năng của Hospital 15

Hình 3: Sơ đồ usercase mô tả chức năng của patient 16

Hình 4: Sơ đồ usercase mô tả chức năng của Doctor 17

Hình 5: Thu thập dữ liệu cá nhân 18

Hình 6: Xây dựng database cho chương trình 22

Hình 7: Hàm khởi tạo sổ cái Initledger 26

Hình 8: Hàm khởi tạo hồ sơ bệnh án mới CreateMedicalRecord 27

Hình 9: Hàm cập nhật thông tin hồ sơ y tế hiện có UpdateMedicalRecord 27

Hình 10: Hàm kiểm tra hồ sơ bệnh án tồn tại 27

Hình 11: Hàm khởi tạo tài khoản người dùng mới 28

Hình 12: Hàm cập nhật tài khoản người dùng 28

Hình 13: Kết nối API giữa SDK và Smart Contract 30

Hình 14: Sử dụng thư viện ExpressJS của node.js để xây dựng các API cho ứng dụng server 31

Hình 15: Thiết lập các cấu hình tương tác với mạng blockchain Hyperledger Fabric 32

Hình 16: Api xác thực đăng nhập 33

Hình 17: Api đọc tất cả hồ sơ bệnh án 34

Hình 18: Api đọc hồ sơ bệnh án dựa trên ID của bệnh án 35

Hình 19 : Api tạo hồ sơ bệnh án 36

Hình 20 : Api cập nhật hồ sơ bệnh án 37

Hình 21: Api đọc hồ sơ bệnh án dựa trên ID của bệnh nhân 38

Hình 22: Front-end Api xác thực đăng nhập 39

Hình 23: Front-end Api đọc hồ sơ bệnh án dựa trên ID của bệnh nhân 40

Hình 24: Front-end Api tạo hồ sơ bệnh án 40

Hình 25: Front-end Api cập nhật hồ sơ bệnh án 41

Trang 6

Đồ án thực tập

Trang 5

DANH SÁCH CÁC TỪ VIẾT TẮT

API Application Programming Interface

Trang 7

Đồ án thực tập

MỞ ĐẦU

Ngành y tế hiện nay đang phải đối mặt với nhiều thách thức về vấn đề bảomật dữ liệu liên quan đến hồ sơ y tế điện tử, hồ sơ sức khỏe điện tử, bệnh án,phương pháp điều trị, Những dữ liệu này có vai trò rất lớn trong việc ra quyếtđịnh của các cơ sở thăm - khám - chữa bệnh, đồng thời là tài nguyên quý giá đốivới cả hệ thống y tế nói chung Blockchain có khả năng cung cấp quyền sở hữu

hồ sơ điện tử cho bệnh nhân - hay còn gọi là tài khoản y tế cá nhân Bởi vì sứckhỏe cá nhân là vấn đề tương đối nhạy cảm, nên dữ liệu này cần được bảo mật ởmức cao Trong mạng blockchain, mỗi người sẽ được cấp một mã khóa bí mật và

mã khóa công khai giống như định danh cá nhân để có thể theo dõi được thôngtin hay hồ sơ bệnh án của mình Chính vì thế, dù là nhân viên y tế hay bất kỳbệnh viện nào, nếu muốn truy cập hồ sơ sức khỏe của người bệnh thì cần có sựcho phép của người đó Hyperledger Fabric đáp ứng tất cả các yêu cầu này trongviệc cung cấp một môi trường an toàn và phân tán cho các hệ thống chăm sóc sứckhỏe Trong lĩnh vực chăm sóc sức khỏe, có rất nhiều lĩnh vực có thể áp dụngHyperledger Fabric, nhưng trọng tâm ở đây là quản lý hồ sơ bệnh án của bệnhnhân Theo truyền thống, các hồ sơ y tế hoặc được lưu trữ tập trung trong cơ sở

dữ liệu mà chỉ các bệnh viện sở hữu nó mới có thể truy cập được, điều này gây ranhiều vấn đề cho bệnh nhân Mục đích là để xem xét kịch bản thực tế về cách xử

lý hồ sơ, cách bệnh nhân sẽ tương tác trong thế giới thực và thiết kế một hệ thống

sử dụng Hyperledger Fabric để giải quyết các vấn đề lớn nếu không muốn nói làtất cả Bằng cách sử dụng kiến trúc được đề xuất, một mô phỏng được thực hiệnvới các kịch bản được xác định và so sánh với hệ thống cơ sở dữ liệu truyềnthống, đồng thời thảo luận về ưu điểm và nhược điểm của việc sử dụng kết cấuHyperledger Điều này sẽ cung cấp một bức tranh rõ ràng về việc liệuHyperledger Fabric có phù hợp để duy trì hồ sơ y tế của bệnh nhân hay không,hoặc liệu có bất kỳ thiếu sót nào trong công nghệ ngăn cản việc điều chỉnh hoàntoàn Hyperledger Fabric trong trường hợp nói trên hay không

Trang 8

và mạng phi tập trung, nó cung cấp một cách hiệu quả để xử lý dữ liệu Nhưtrường hợp của Bitcoin ngay từ khi bắt đầu công nghệ này, mục tiêu chính củaBitcoin là cung cấp quyền truy cập vào các phong trào tài chính ẩn danh, đáng tincậy, có thể bảo mật và có thể kiểm tra được Hơn nữa, blockchain tạo ra kho lưutrữ dữ liệu đáng tin cậy và an toàn bằng cách sử dụng các kỹ thuật mã hóa với sựkết hợp của các thủ tục đồng thuận phân tán Trong trường hợp của Bitcoin, đảmbảo ngăn chặn sự tham gia của bên thứ ba này vào giao dịch Chuỗi khối chủ yếu

sử dụng khái niệm sổ cái phân tán, đại diện cuối cùng của một chuỗi có trật tự vàtương quan của một số giao dịch tài chính Các giao dịch này diễn ra trên mộtmạng không đáng tin cậy sử dụng bằng chứng về nhiệm vụ để hoàn thành thỏathuận giữa các bên Mặc dù Blockchain đang được tất cả mọi người yêu thích,nhưng nó dự kiến sẽ có tác động lớn trong những năm sắp tới và sẽ được sử dụngđáng kể trong các lĩnh vực như quản lý chuỗi cung ứng, IoT- Internet vạn vật,chăm sóc sức khỏe và nhiều hơn nữa trong tương lai Chuỗi khối có thể được sửdụng trong chăm sóc sức khỏe cho luồng truyền dữ liệu an toàn thích hợp để đảmbảo tính bảo mật của dữ liệu nhạy cảm, để theo dõi bệnh nhân giữa các cơ sở y tếcũng như cho phép minh bạch về phương pháp điều trị được cung cấp cho bệnhnhân

Quản lý hồ sơ bệnh án của bệnh nhân luôn là một công việc tẻ nhạt vì đây

là dữ liệu cực kỳ nhạy cảm cần được xử lý cẩn thận Hồ sơ sức khỏe điện tử(EHR) giúp dễ dàng truy xuất nguồn gốc lịch sử y tế của bệnh nhân, cung cấpthêm thông tin cho bác sĩ vì nó giúp họ khám phá ngân hàng dữ liệu sức khỏe củabệnh nhân để đưa ra quyết định phù hợp trong việc cung cấp phương pháp điềutrị tốt nhất, nhưng nó cũng có những vấn đề riêng Khi nói đến EHR, cần phảichú ý thêm để cung cấp tính bảo mật, khả năng truy cập dễ dàng và có thể kiểmtra được Ví dụ, bất cứ khi nào chúng ta nghĩ về thông tin, đặc biệt là dữ liệu cánhân của chúng ta được lưu trữ trực tuyến hoặc chuyển giao trực tuyến lúc đầu,

đó là mối quan tâm lớn về thao tác dữ liệu, mất mát hoặc bị đánh cắp khác dẫn

Trang 9

Đồ án thực tập

đến dữ liệu không có sẵn trong khoảng thời gian cần thiết Thực hiện truyền dữliệu an toàn và đáng tin cậy giữa các tổ chức qua một mạng không bảo mật.Việc có một EHR duy nhất

cho mỗi người sẽ tạo ra một lượng lớn dữ liệu phải được xử lý trong các hệ thốngtập trung "Nói một cách dễ hiểu, trong lĩnh vực tài chính, tổng số giao dịch tàichính do Bitcoin thực hiện đã đạt 400 triệu giao dịch trong mười năm Trong bốicảnh này, trong lĩnh vực y tế của Brazil, đã có 1,4 tỷ lượt bệnh nhân đến khámchỉ trong năm 2018 bởi Hệ thống y tế hợp nhất của nó Tại Trung Quốc, đã cókhoảng 7 tỷ lượt bệnh nhân vào năm 2017."[4] Điều này lại tạo ra nhiều vấn đềkhác nhau về khả năng bảo trì, khả năng tiếp cận, bảo mật, độ tin cậy và khả năngtương tác Để tránh xa những tình huống có vấn đề như vậy, blockchain có thểđược điều chỉnh để xử lý dữ liệu của bệnh nhân

Việc áp dụng công nghệ chuỗi khối trong lĩnh vực chăm sóc sức khỏe cóthể chuyển đổi hệ thống hiện có bằng cách cung cấp độ tin cậy cao hơn và khảnăng truy cập dễ dàng thông qua mạng phân tán, bảo mật bằng cách sử dụng cácphương pháp mã hóa và khả năng kiểm tra thông qua các bản ghi bất biến Để đạtđược tất cả các yêu cầu này, một chuỗi khối phải có các tính năng đã nói ở trêncùng với mạng được phân loại doanh nghiệp để hạn chế quyền truy cập công khai

mà không được phép Hyperledger Fabric đáp ứng điều này bằng cách cung cấpchính xác cùng một loại chuỗi khối Hyper-ledger Fabric cung cấp một mạngchuỗi khối cấp doanh nghiệp sử dụng khái niệm hợp đồng thông minh để thựchiện các giao dịch trong mạng Điều này có thể chứng minh là một giải pháptuyệt vời trong việc giải quyết các vấn đề đặt ra bởi các hệ thống cơ sở dữ liệutruyền thống trong lĩnh vực chăm sóc sức khỏe cùng với các vấn đề liên quan đếnchính lĩnh vực chăm sóc sức khỏe đó

Trong bài báo cáo này, nội dung thảo luận chính là về quản lý dữ liệu bệnhnhân, đây sẽ là quá trình truyền dữ liệu an toàn linh hoạt giữa các chuyên gia y tếthuộc các tổ chức khác nhau và cung cấp khả năng tiếp cận dễ dàng cho bệnhnhân thông qua việc sử dụng Hyperledger Fabric

1.2. Mục đích:

Chăm sóc sức khỏe là một trong những ngành công nghiệp quan trọng nhấthiện có Trong thời đại công nghệ và đổi mới này, ngành Chăm sóc sức khỏe đôikhi tạo ra ảo tưởng về một ngoại lệ Nếu chúng ta nghĩ về nó, rất nhiều công việctrong Bệnh viện, chẳng hạn như lưu trữ và quản lý dữ liệu của bệnh nhân, đượcthực hiện giống như cách đã được thực hiện một thập kỷ trước Mặt khác, chúng

ta có thể thấy các số liệu thống kê như tuổi thọ và tỷ lệ tử vong cho thấy đã cónhững đổi mới lớn trong ngành chăm sóc sức khỏe Để giải mã những tuyên bốmâu thuẫn này, chúng ta cần hiểu sự khác biệt giữa đổi mới theo chiều dọc vàchiều ngang Đổi mới theo chiều dọc nói về sự đổi mới cụ thể cho một lĩnh vựchoặc ngành trong khi đổi mới theo chiều ngang là những đổi mới xuyên suốt các

Trang 10

Đồ án thực tập

Trang 9

dọc trong lĩnh vực chăm sóc sức khỏe, nhưng những đổi mới theo chiều ngangvẫn chưa tương tác tốt với ngành này Chuỗi khối là một ví dụ tuyệt vời về sự đổimới

Trang 11

 Quyền riêng tư và bảo mật là những khía cạnh quan trọng khác cần đượctính đến Hồ sơ sức khỏe có thể chứa thông tin cá nhân, tính bảo mật củathông tin này không nên bị xâm phạm.

 Hồ sơ sức khỏe phải có thể kiểm tra được và không bị giả mạo Cần có một

hệ thống minh bạch nhưng an toàn, trong đó bất kỳ thay đổi nào về trạngthái của cơ sở dữ liệu đều có thể được ghi lại và truy ngược lại thực thể đãthực hiện thay đổi

 Cần có một hệ thống lấy bệnh nhân làm trung tâm để bệnh nhân kiểm soát

dữ liệu của mình

Với các yêu cầu nêu trên, việc sử dụng phương pháp tiếp cận hệ thống tập trung trở nên khá khó khăn Cách tiếp cận tập trung gây khó khăn trong việc đápứng yêu cầu về khả năng tương tác vì dữ liệu được lưu trữ trong cơ sở dữ liệu trung tâm của một tổ chức và khả năng chặn thông tin vẫn có thể xảy ra Ngoài

ra, cần phải có mức độ tin cậy cao trong một hệ thống như vậy vì không có tính minh bạch và quản trị viên của cơ sở dữ liệu tập trung có thể thao túng dữ liệu (giả mạo) mà không bị theo dõi Một bất lợi khác là có một điểm thất bại duy nhất

Một blockchain được phép có vẻ phù hợp với tình huống này Chuỗi khối làmột sổ cái phân tán không thay đổi Chuỗi khối được phép (riêng tư) không mở cho tất cả mọi người mà chỉ những người tham gia đáng tin cậy mới được chọn

là một phần của hệ thống như vậy Nó thuận lợi cho khả năng tương tác vì nó là một hệ thống phân tán Nó là một phương tiện an toàn và đáng tin cậy đáp ứng các yêu cầu về quyền riêng tư và bảo mật Nó cung cấp một hệ thống có thể kiểmtra và chống giả mạo vì các chuỗi khối là bất biến và lịch sử giao dịch được ghi lại

Tóm lại, động lực chính cho dự án này là sử dụng chuỗi khối được cấp phép

để thiết kế một hệ thống quản lý dữ liệu bệnh nhân (dưới dạng hồ sơ sức khỏe điện tử) lấy bệnh nhân làm trung tâm và trao quyền cho bệnh nhân kiểm soát dữ liệu của mình dữ liệu tốt hơn Hệ thống này tính đến các yếu tố như khả năng tương tác, quyền riêng tư, bảo mật, tính minh bạch và khả năng kiểm tra hồ sơ

Trang 12

Đồ án thực tập

Trang 11

1.3. Giới thiệu Hyperledger Fabric:

Chuỗi khối đã xuất hiện trong hai thập kỷ qua nhưng vì công nghệ này liên quan đến nhiều bên hoặc thực thể và những thực thể này có thể đáng tin cậy và/hoặc không đáng tin cậy nên Chuỗi khối chưa được xem xét cho các ứng dụngdoanh nghiệp Nhưng với khái niệm về blockchain được phép, nhiều công nghệ xuất hiện cho các mạng blockchain đáng tin cậy Một số ví dụ về chuỗi khối được phép là NEM, Quorum, Chain core và Hyperledger Fabric

Linux đã bắt đầu dự án Hyperledger Fabric, một chuỗi khối riêng tư và được phép Nó cung cấp một mạng sổ cái phân tán bất biến được phép cho các doanh nghiệp thực hiện các giao dịch công khai cũng như bí mật trong cùng mộtmạng Nó cung cấp một mạng con đáng tin cậy trong một mạng chia sẻ chỉ cho phép các bên đáng tin cậy tham gia vào mạng con đáng tin cậy này Nó cung cấpmột mạng trong mạng cho phép người tham gia giao tiếp cả giao dịch không bí mật và bí mật với các thực thể mạng khác theo yêu cầu

Vì chuỗi khối có sổ cái bất biến và mỗi sổ cái được thêm vào sau khi phê duyệt giao dịch Các thuật toán khác nhau đã được sử dụng trong các chuỗi khối công khai, Proof of Work (PoW) và Proof of Stake (PoS) là những ví dụ về các thuật toán như vậy được sử dụng trong phê duyệt giao dịch Các thuật toán như vậy dựa trên sự đồng thuận và yêu cầu một số người tham gia đồng thuận để phêduyệt bất kỳ giao dịch nào Cách tiếp cận này không tuân thủ khi nói đến các giao dịch doanh nghiệp, vì không phải lúc nào cũng cần có sự chấp thuận của tất

cả người tham gia, chỉ cần hai người tham gia hoặc thậm chí sự chấp thuận của một người tham gia là đủ cho một số giao dịch nhất định và không thể đồng thuận với PoW và PoS Để khắc phục nhược điểm này, các chính sách chứng thực đã được giới thiệu trong Hyperledger Fabric để phê duyệt giao dịch và mỗi người tham gia đã được chỉ định vai trò của họ Mạng Hyperledger Fabric liên quan đến nhiều vai trò và thành phần và sẽ dễ giải thích hơn sau khi xác định cácvai trò và thành phần này:

 Membership service provider (MSP): tất cả các thực thể mạng trong ledger Fabric tự đăng ký sử dụng nhà cung cấp dịch vụ thành viên Mọi tổchức trong Hyperledger Fabric đều có thể có MSP của riêng mình và sau

Hyper-đó, một MSP chung sẽ được yêu cầu để thực hiện giao dịch trên mạng

 Distributed ledger: Hyperledger Fabric cung cấp một sổ cái bất biến vớimỗi ngang hàng cam kết và được thêm vào sau mỗi giao dịch thành công.Mỗi sổ cái có thêm hai thành phần là trạng thái thế giới và nhật ký giaodịch Trạng thái thế giới có trạng thái sổ cái hiện tại trong khi nhật ký giaodịch lưu giữ hồ sơ của tất cả các giao dịch dẫn đến trạng thái thế giới

 Consensus: Nó chỉ xảy ra trong Hyperledger Fabric thông qua một số đồngnghiệp nhất định Chính sách xác nhận xác định ít nhất có bao nhiêu đồngnghiệp phải phê duyệt giao dịch trước khi sổ cái được thêm vào

Trang 13

Đồ án thực tập

 Smart contracts: Đây là các mã chương trình cung cấp cho người tham giaHyperledger Fabric quyền truy cập có kiểm soát vào sổ cái Mọi nhiệm vụhoặc chức năng được thực hiện trong Hyperledger Fabric thông qua các hợpđồng thông minh được xác định trước Các hợp đồng thông minh này đangđược viết bằng lập trình chung như Go, Javascript, Java, v.v và không phảibằng bất kỳ ngôn ngữ dành riêng cho miền nào

 Chaincode: Đó là một gói hợp đồng thông minh và chính sách chứng thực

và đã được xác định trên một kênh tại thời điểm tạo kênh và tất cả nhữngngười tham gia kênh phải phê duyệt chaincode để tham gia vào bất kỳ giaodịch nào thông qua kênh này Chaincode chứa tất cả các tác vụ có thể đượcthực hiện trên mạng

 Channel: Mạng blockchain được phép trong đó chỉ những người tham giađược phép mới có thể truy cập Tất cả các giao dịch trong HyperledgerFabric được thực hiện thông qua một kênh

 Peer: Các thực thể mạng chứa sổ cái và liên quan trực tiếp đến giao dịch.Các tổ chức tham gia vào Hyperledger Fabric kết nối với mạng bằng cách

sử dụng các đồng nghiệp này Có hai loại đồng nghiệp: Đồng nghiệp xácnhận chịu trách nhiệm xác nhận các giao dịch theo các chính sách đã xácđịnh Trong khi các đồng nghiệp xác nhận cam kết các giao dịch một khi nóđược xác nhận bởi số lượng tối thiểu các đồng nghiệp xác nhận theo chínhsách chứng thực

 Orderer: Một thực thể mạng chịu trách nhiệm đặt hàng các giao dịch trong

đó các giao dịch sẽ được thêm vào tất cả các sổ cái sau khi xác nhận Có thể

có nhiều người đặt hàng trong một mạng lưới và sẽ tạo thành một dịch vụđặt hàng

Sau khi xác định các thành phần và vai trò, Hyperledger Fabric có thể đượcgiải thích là một chuỗi khối trong đó các tổ chức được quản trị viên cho phép,truy cập các kênh thông qua các đồng nghiệp Vai trò của các đồng nghiệp này cóthể được nhận ra bằng cách sử dụng MSP Các tổ chức có thể có nhiều đồngnghiệp và những đồng nghiệp này có thể đóng vai trò vừa là đồng nghiệp cam kếtvừa là đồng nghiệp xác nhận Một ứng dụng hoặc SDK cung cấp một cổng để các

tổ chức này truy cập vào kênh Thông qua ứng dụng này, các tổ chức được phép

có thể yêu cầu giao dịch Các đồng nghiệp chứng thực xác nhận các giao dịch saukhi xác thực và gửi chúng cho Người đặt hàng Người đặt hàng đặt hàng chuỗigiao dịch và sau đó gửi chuỗi đó cho các đồng nghiệp cam kết Các đồng nghiệpcam kết sau khi xác minh rằng các giao dịch này đã được xác nhận bởi các đồngnghiệp xác nhận cam kết các giao dịch Trong Hyperledger Fabric, tất cả cácđồng nghiệp cam kết đều chứa một sổ cái và cập nhật tất cả các sổ cái đồng thời

Trang 14

Đồ án thực tập

Trang 13

1.4. Hyperledger Fabric và Hệ thống bệnh án:

Hyperledger Fabric cung cấp giải pháp khả thi cho các vấn đề đặt ra khi xử

lý Hồ sơ sức khỏe điện tử (EHR) Là một chuỗi khối được phép, HyperledgerFabric chỉ cho phép những người tham gia có thể nhận dạng (các tổ chức y tế)tham gia vào các giao dịch, do đó có thể tạo ra một hệ thống những người thamgia đáng tin cậy 'có khả năng' Như đã giải thích trong phần trước, sổ cái phân táncủa Hyperledger Fabric được sử dụng để phân cấp EHR, giúp giải quyết vấn đềtập trung hóa hồ sơ, nhằm tránh điểm lỗi duy nhất và duy trì tính sẵn sàng cao,đồng thời giảm chi phí chuyển EHR sang viện y tế khác trong trường hợp cầnthiết bằng cách loại bỏ người trung gian Do đó, dữ liệu có thể được minh bạchhơn cho bệnh nhân Sổ cái bất biến mang lại lợi thế là duy trì tính toàn vẹn củaEHR và lịch sử y tế của bệnh nhân cũng có thể được theo dõi dễ dàng, do đó đạtđược khả năng kiểm toán

EHR yêu cầu mức độ bảo mật cao, hạn chế quyền truy cập vào hồ sơ củanhân viên được ủy quyền và mức độ mã hóa cao Hyperledger Fabric cung cấpnhiều tính năng có thể cắm khác nhau hỗ trợ việc này Một tính năng đáng chú ýnhư vậy là liên hệ thông minh mà qua đó có thể truy cập sổ cái, sử dụng các chứcnăng cốt lõi của hệ thống y tế này có thể được xây dựng với hợp đồng thôngminh Ví dụ: xác định cách tạo EHR, ai có quyền truy cập vào nó, ai có thể sửađổi nội dung của EHR và nhiều chức năng khác Cũng sẽ có trường hợp bệnhnhân có thể muốn thu hồi quyền truy cập vào một bác sĩ hoặc tổ chức y tế cụ thể

và cấp quyền truy cập cho người khác, điều này có thể đạt được với sự trợ giúpcủa hợp đồng thông minh Do các hợp đồng thông minh này trong đó các chứcnăng cốt lõi của hệ thống được xác định, các chức năng này có thể được táchthành nhiều liên hệ thông minh do đó cung cấp khả năng bảo trì của hệ thống Ví

dụ, trong trường hợp có bất kỳ thay đổi nào trong hành vi của hệ thống, một chứcnăng mới sẽ được cung cấp cho các bác sĩ, được xác định trong hợp đồng thôngminh và có thể dễ dàng thay thế bằng một hợp đồng thông minh khác mà khôngảnh hưởng đến toàn bộ hệ thống chăm sóc sức khỏe

Một ưu điểm lớn khác của việc sử dụng Hyperledger Fabric là khái niệmthu thập dữ liệu riêng tư, điều này cho phép tổ chức tham gia giữ dữ liệu của họ ởchế độ riêng tư với các tổ chức khác trong khi vẫn duy trì tính chất phi tập trungcủa Hyperledger Fabric Điều này đạt được bằng cách lưu trữ dữ liệu trong một

bộ sưu tập riêng trong đó bộ sưu tập có thể thuộc sở hữu của một hoặc nhiều tổchức và giá trị băm của dữ liệu đó đang được phân phối trên mạng Nếu một tổchức bên ngoài bộ sưu tập muốn kiểm tra tính toàn vẹn của dữ liệu, tổ chức đó cóthể yêu cầu giá trị băm của bộ sưu tập và kiểm tra giá trị đó với giá trị mà nó cótại bất kỳ thời điểm nào Ngoài ra, dữ liệu thực tế không bao giờ được truyềntrong mạng và nó không bao giờ rời khỏi bộ sưu tập Trong hệ thống chăm sócsức khỏe, việc thu thập dữ liệu riêng tư này phục vụ mục đích của nó bằng cáchcung cấp bảo mật và mã hóa rất cần thiết cho các HER

Trang 15

Đồ án thực tập

Sau đó, có các thành phần bổ sung hỗ trợ hoạt động trơn tru của hệ thốngchăm sóc sức khỏe, chẳng hạn như Cơ quan cấp chứng chỉ, sử dụng mà bệnhnhân, bác sĩ và chính bệnh viện có thể được ủy quyền kỹ thuật số Tương tự, cónhiều thành phần mô-đun khác nhau giải quyết các thách thức trong hệ thốngchăm sóc sức khỏe Hệ thống chăm sóc sức khỏe sử dụng Hyperledger Fabric cóthể được chia thành nhiều thành phần Đầu tiên, bản thân mạng với một số bệnhviện là tổ chức với các nút ngang hàng của họ để lưu trữ các hợp đồng thôngminh xác định cách hệ thống chăm sóc sức khỏe có thể vận hành và sổ cái phântán lưu trữ EHR Sau đó, kênh trong mạng nơi diễn ra giao tiếp giữa các bệnhviện Tiếp theo là các chức năng của hệ thống chăm sóc sức khỏe, cách thức hoạtđộng của nó được xác định trong hợp đồng thông minh Giao tiếp giữa ngườidùng là bệnh nhân/bác sĩ diễn ra thông qua các API được cung cấp trong Bộ công

cụ phát triển phần mềm (SDK), sau đó gọi các chức năng trong hợp đồng thôngminh để thực hiện các giao dịch

Trang 16

Để giữ cho kiến trúc đơn giản và có thể mở rộng, chỉ có một kênh (kênh C)trong hệ thống Tất cả các tổ chức bệnh viện truy cập vào kênh này để thực hiệnbất kỳ giao dịch nào Ban đầu, hai bệnh viện (tổ chức) là một phần của kiến trúcnày nhưng có sự linh hoạt và nhiều bệnh viện có thể được thêm vào khi cần thiết.Mỗi bệnh viện có Nhà cung cấp dịch vụ thành viên (MSP) và Cơ quan cấp chứngchỉ (CA) riêng chịu trách nhiệm tạo các cặp khóa công khai-riêng tư cho các tổchức và ký các chứng chỉ Các tổ chức không thể tương tác trực tiếp với kênhtrong mạng Hyperledger Fabric, vì vậy họ cần các đồng nghiệp để truy cập kênh.

Ở đây chúng tôi có một đồng đẳng cho mỗi bệnh viện Mỗi ngang hàng có mộtbản sao của cơ sở dữ liệu trạng thái bao gồm trạng thái thế giới hiện tại củamạng Khi bất kỳ giao dịch tạo, đọc, cập nhật hoặc xóa nào được thực hiện, trạngthái thế giới được cập nhật cho tất cả các sổ cái ngang hàng Hợp đồng thôngminh được viết cho mọi loại tương tác cần thiết với mạng Hyperledger Fabric.Các hợp đồng thông minh này được đóng gói thành một mã chuỗi và mã chuỗinày được triển khai trên mọi nút ngang hàng cho các bệnh viện

Bất kỳ giao dịch nào được xác thực bởi một người ngang hàng sẽ chuyểnđến dịch vụ đặt hàng nơi các hành động tiếp theo được quyết định theo chínhsách xác nhận đang hoạt động Trong kiến trúc của chúng tôi, có một nút trìnhđặt hàng, nhưng trong triển khai thực tế, có thể sử dụng nhiều hơn một trình đặthàng, điều này sẽ làm cho hệ thống trở nên đáng tin cậy hơn và có khả năng chịulỗi cao hơn Liên quan đến chính sách chứng thực, trong đó chỉ định các tổ chứccần thực thi mã chuỗi để xác thực giao dịch, chúng tôi đã kiên trì với chính sáchchứng thực mặc định trong đó cả hai tổ chức bệnh viện cần phê duyệt giao dịch

Có ba tác nhân trong hệ thống của chúng tôi là quản trị viên, bác sĩ và bệnh nhân.Mỗi tổ chức có một quản trị viên chịu trách nhiệm đăng ký bác sĩ và bệnh nhân.Các bác sĩ là những người hành nghề y và bệnh nhân là những người dùng mà hồ

sơ y tế sẽ được tạo trong sổ cái phân tán Một ứng dụng web bao gồm giao diệnngười dùng và phụ trợ đóng vai trò là giao diện giữa các tác nhân và mạngHyper-ledger Fabric Chỉ những người dùng được cấp quyền mới có thể đăngnhập vào hệ thống và thực hiện các nhiệm vụ được giao

Trang 17

Đồ án thực tập

Hình 1: Mô hình kiến trúc

Kiến trúc được mô tả cho đến bây giờ là kiến trúc được triển khai chonguyên mẫu Nó có nhiều ưu điểm như đơn giản nhưng an toàn và dễ dàng mởrộng, nhưng nó là một phiên bản tinh chỉnh Trong giai đoạn đầu của dự án này,nhiều ý tưởng đã được đưa ra và một kiến trúc đặc biệt đáng được đề cập Ýtưởng cho kiến trúc đó là mọi tổ chức bệnh viện tham gia mạng sẽ có kênh riêng

Sẽ có hai đồng nghiệp (một đồng nghiệp bác sĩ và một đồng nghiệp bệnh nhân)cho mọi tổ chức Mỗi đồng đẳng sẽ có một bản sao của trạng thái thế giới và mãchuỗi dành riêng cho tổ chức đó Bệnh nhân và bác sĩ sẽ tương tác với mạngblockchain thông qua các giao diện web khác nhau Lợi ích của thiết kế này làbảo mật và quyền riêng tư Vì dữ liệu của bệnh nhân chỉ xuất hiện trong kênh cụthể mà bệnh viện mà bệnh nhân đó đến thăm, nên các bác sĩ và bệnh nhân khác

sẽ không thể truy cập dữ liệu này Hạn chế đáng kể là sự phức tạp và khả năng

mở rộng kém Số lượng kênh trong thiết kế như vậy sẽ tăng tuyến tính đối với sốlượng bệnh viện được thêm vào mạng chuỗi khối

Sau đó, người ta nhận ra rằng có thể đạt được các tính năng bảo mật vàquyền riêng tư mà không làm tăng độ phức tạp bằng cách giới thiệu một kênhmới cho mỗi tổ chức, sử dụng một tính năng của Hyperledger Fabric có tên làThu thập dữ liệu riêng tư Do đó kiến trúc này đã không được theo đuổi thêmnữa Việc thu thập dữ liệu cá nhân và việc sử dụng nó cho trường hợp sử dụngquản lý dữ liệu bệnh nhân sẽ được thảo luận chi tiết hơn trong các phần tiếp theo

2.2. Công cụ xây dựng hệ thống:

1 Môi trường thực hiện:

- Máy tính: DESKTOP-4BO7E9S

Trang 18

Hình 2: Sơ đồ Usercase mô tả chức năng của Hospital

Trang 19

Đồ án thực tập

Tại thời điểm đăng ký bệnh nhân, một bác sĩ cũng được chỉ định cho bệnhnhân Hồ sơ sức khỏe của bệnh nhân có hai phần; dữ liệu cá nhân và dữ liệu y tế

Dữ liệu cá nhân chứa các trường như tên, id, địa chỉ, Bệnh nhân có quyền đọc

và cập nhật dữ liệu cá nhân trong khi họ chỉ có thể đọc dữ liệu y tế và không thểthực hiện bất kỳ thay đổi nào trong đó

Hình 3: Sơ đồ usercase mô tả chức năng của patient

Khi một bác sĩ được chỉ định cho bất kỳ bệnh nhân nào, anh ấy/cô ấy sẽ cóquyền truy cập vào hồ sơ sức khỏe của bệnh nhân.Các bác sĩ có sẽ được quyềnđọc và cập nhật dữ liệu cá nhân.Các bác sĩ có thể đọc hồ sơ sức khỏe của bệnhnhân và chỉ cập nhật dữ liệu y tế của hồ sơ sức khỏe của bệnh nhân khi cần thiết

Trang 20

Đồ án thực tập

Trang 19

Hình 4: Sơ đồ usercase mô tả chức năng của Doctor

Bệnh viện là tài khoản của người quản trị hay còn gọi là admin Bệnh nhậnkhi muốn khám bệnh sẽ tới quầy đăng ký khám chữa bệnh và sẽ được cấp chomỗi bệnh nhân đó 1 tài khoản để theo dõi hồ sơ bệnh án của mình khi đi khámbệnh Người quản lý có quyền theo dõi lịch sử thay đổi của bệnh nhân hoặc bácsĩ

Nhiều kịch bản có thể xảy ra đối với hệ thống này khi xem xét sự tương tácgiữa các tác nhân liên quan Trong các phần phụ sau đây, chúng tôi thảo luận vềmột số tình huống phổ biến

2.4. Bảo mật:

Bảo mật của EHR là vô cùng quan trọng trong các hệ thống chăm sóc sức khỏe Đểcung cấp bảo mật cho EHR, Thu thập dữ liệu cá nhân được sử dụng Thu thập dữliệu riêng tư cung cấp một cách để giữ dữ liệu được xử lý bởi một tổ chức trongmạng ở chế độ riêng tư trong khi vẫn duy trì sổ cái phân tán cho dữ liệu đó Bằngcách này, các tổ chức tham gia mạng có thể thấy các giao dịch đang được thực hiệnnhưng không phải dữ liệu thực tế thay vào đó sẽ có giá trị băm của dữ liệu đó.Điều này là do định nghĩa của các bộ sưu tập mà dữ liệu được liên kết Dữ liệu nàynằm trong cơ sở dữ liệu riêng với tổ chức được phép truy cập Nếu trong trườnghợp bất kỳ người dùng/tổ chức nào khác không có quyền truy cập vào bộ sưu tập

đó cố truy cập vào nó, hợp đồng thông minh sẽ xác minh mspID và các chi tiếtkhác và sẽ từ chối quyền truy cập Điều này có thể được hình dung từ Hình 2.2.Quyền truy cập vào bộ sưu tập này có thể được xác định trong cấu hình bộ sưu tập.Chỉ giá trị băm của dữ liệu được xác nhận bởi các đồng nghiệp, sau đó được sắp

Trang 21

Trường hợp 1: Đầu tiên, phải xác định bộ sưu tập cho từng bệnh viện trongmạng vì người dùng/bệnh nhân sẽ đến khám tại ít nhất một bệnh viện Qua đóđảm bảo EHR của mỗi bệnh viện là riêng tư so với phần còn lại.

Trường hợp 2: Để thuận lợi cho trường hợp bệnh nhân đến khám tại bệnhviện khác, đó là bệnh nhân đăng ký cùng lúc 2 bệnh viện hoặc bệnh nhân tự đăng

ký ở bệnh viện thứ hai Ở đây, EHR của bệnh nhân đó phải được chia sẻ giữa cảhai bệnh viện mà bệnh nhân đã đăng ký Do đó, một bộ sưu tập chung phải đượcxác định với quyền truy cập được cung cấp cho hai bệnh viện có liên quan vàEHR từ bộ sưu tập đầu tiên có quyền truy cập với bệnh viện đầu tiên phải đượcchuyển sang bộ sưu tập chung mới này Điều này có thể được lặp lại nếu bệnhnhân quyết định đăng ký với bệnh viện thứ ba, v.v

Trường hợp 3: Nếu một bệnh nhân quyết định hủy đăng ký khỏi một bệnhviện và chuyển đến một bệnh viện khác, thì EHR của bệnh nhân đó phải đượcthêm vào bộ sưu tập được liên kết với bệnh viện mới và bệnh viện cũ sẽ chỉ cógiá trị băm của dữ liệu đó

Hình 5: Thu thập dữ liệu cá nhân

Trang 22

Đồ án thực tập

Trang 21

Bằng cách xem xét tất cả các kịch bản, phải có 'n! + 1’ kết hợp các bộ sưutập trong đó mỗi bệnh viện có một bộ sưu tập mà quyền truy cập được chia sẻ vớitừng bệnh viện khác và sự kết hợp của các bệnh viện khác Ví dụ: xem xét Bệnhviện A, Bệnh viện B và Bệnh viện C Các bộ sưu tập cho các bệnh viện này sẽ cóBệnh viện A, Bệnh viện B, Bệnh viện C, Bệnh viện AB, Bệnh viện AC, Bệnhviện BC và Bệnh viện ABC Bằng cách này, bất kể bệnh viện/tổ hợp bệnh việnnào mà bệnh nhân đến khám, EHR của họ sẽ được bảo mật và dữ liệu sẽ không

có sẵn bên ngoài bộ sưu tập đó

Ngoài ra, ngoài tính bảo mật này, Bộ sưu tập dữ liệu cá nhân cho phép xácđịnh chính sách chứng thực trong cấu hình của nó Việc xác định chính sáchchứng thực với Thu thập dữ liệu cá nhân đáp ứng yêu cầu của hệ thống, rằng giaodịch EHR liên quan đến bất kỳ bệnh viện nào phải được thực hiện bởi một mìnhbệnh viện đó Trong trường hợp nếu dữ liệu riêng tư được chia sẻ giữa nhiềubệnh viện thì bệnh viện đang thực hiện giao dịch trong bộ sưu tập đó phải ký giaodịch

2.4. Công nghệ:

Việc triển khai toàn bộ hệ thống có thể được chia thành nhiều thành phầnkhác nhau, cụ thể là mạng Hyperledger Fabric và sổ cái phân tán, hợp đồng thôngminh, SDK ứng dụng và giao diện người dùng ứng dụng Mạng là phầnblockchain thực tế của ứng dụng Các hợp đồng thông minh được triển khai bằngJavaScript SDK được phát triển bằng Node.js và giao diện người dùng của ứngdụng được xây dựng bằng ReactJS Trong phần này, chúng ta sẽ xem xét cácthành phần này một cách chi tiết hơn

2.5. Mạng Hyperledger Fabric:

Mạng Hyperledger Fabric là cơ sở của hệ thống Điều này bao gồm cácbệnh viện với các đồng nghiệp của họ tham gia vào kênh với sổ cái phân tán.Như đã giải thích trong kiến trúc, tất cả các bệnh viện được kết nối với một kênhduy nhất Để dễ sử dụng, mạng thử nghiệm có sẵn từ Hyperledger Fabric[11] đãđược sử dụng để thiết lập Hệ thống quản lý dữ liệu bệnh nhân Sử dụng mạnghiện có, các tổ chức được thay đổi để đại diện cho bệnh viện bằng cách sửa đổitệp docker, tệp cấu hình và chứng chỉ tương ứng cho nó Các thay đổi chủ yếubao gồm sửa đổi tên tổ chức để bao gồm bệnh viện trong tệp configtx.yaml và Tổchức phát hành chứng chỉ liên quan trong tệp docker-compose Sau đó, các tệptham chiếu các tệp này được cập nhật Sau khi mạng đã sửa đổi được đưa lên vớihai bệnh viện và một kênh như được hiển thị trong kiến trúc Tất cả các chứngchỉ cần thiết cho tổ chức và các đồng nghiệp có liên quan sẽ được tạo

Cách thức triển khai mạng Hyperledger Fabric:

- Lập kế hoạch cho mạng:

 Xác định số lượng thành viên trong mạng và vai trò của nó

Trang 23

- Xây dựng cấu hình CA và Channel:

 Thiết lập các CA để quản lý chứng chỉ xác thực cho các thành viên trongmạng

 Mỗi tổ chức có thể có 1 CA riêng hoặc có thể chia sẻ CA

 Định nghĩa các kênh trong mạng để tách biệt giao dịch giữa các tổ chứckhác nhau

- Xác thực và đăng ký người dùng:

 Xác định quy trình đăng ký và đăng nhập cho người dùng và tổ chức khácnhau

 Sử dụng CA để đăng ký và cấp chứng chỉ cho người dùng

- Triển khai Smart Contracts (Chaincode):

 Viết hàm smart contract sử dụng ngôn ngữ lập trình được hỗ trợ (thường là

Go hoặc Node.js)

 Triển khai smart contract lên các Peer trong mạng

- Triển khai các nút (Nodes) Peer và Orderer:

 Triển khai các Peer và Orderer trên các máy chủ được xác định trước

 Cấu hình các nút để kết nối với các kênh và sử dụng smart contracts đã triểnkhai

 Thử nghiệm smart contracts và giao thức mạng

 Kiểm tra tích hợp giữa ứng dụng của bạn và mạng blockchain

Trang 24

là một giải pháp thay thế ghi dữ liệu dưới dạng tài liệu JSON CouchDB chophép truy vấn phong phú trên tài liệu JSON so với LevelDB chỉ cho phép truyvấn khóa tổng hợp.

Nhóm đã sử dụng CouchDB làm cơ sở dữ liệu ngang hàng trong dự án này

và lập mô hình từng hồ sơ sức khỏe của bệnh nhân dưới dạng tài liệu JSON nhưtrong Liệt kê Mỗi hồ sơ sức khỏe điện tử chứa nhiều trường và trường bệnh nhânđược sử dụng để xác định chủ sở hữu của hồ sơ sức khỏe Các trường khácdành cho thông tin cá nhân cũng như dữ liệu y tế của bệnh nhân Một trườngkhác là một mảng danh sách các bác sĩ được phép truy cập vào bản ghi, chỉnhững bác sĩ được đề cập trong danh sách mới có thể truy cập vào bản ghi nàynếu không Hyperledger Fabric sẽ từ chối quyền truy cập

Lý do sử dụng couchDB là để có thể thực thi các truy vấn được nhómbằng cách sử dụng tính năng lập chỉ mục couchDB, cho phép nhóm tài liệu JSON(trong trường hợp của chúng tôi là hồ sơ sức khỏe) theo bất kỳ trường nào cótrong tài liệu JSON Hiện tại, không phải bất kỳ tài liệu thiết kế hoặc lập chỉ mụcnào (ddoc

) tính năng của couchDB đã được sử dụng nhưng có thể được xem xét cho hàm ýtrong tương lai

Ngoài ra Docker image của couchDB chạy trên cùng một máy chủ với peer và sốlượng image phụ thuộc vào số lượng peer Mỗi máy ngang hàng có một sổ cái,

do đó, một hình ảnh couchdb cho mỗi máy ngang hàng sẽ được yêu cầu chomạng kết cấu siêu sổ cái

Hình 6: Xây dựng database cho chương trình

- Mô tả: Xây dựng cơ sở dữ liệu bao gồm các đối tượng: bệnh nhân, bác sĩ vàbệnh viện gồm các trường cụ thể trong biểu đồ Mỗi đối tượng sẽ có 1 tài

Trang 25

Đồ án thực tập

khoản Hồ sơ bệnh án có khóa ngoại liên kết đến các đối tượng

2.7. Smart contracts và Chaincode:

2.7.1 Transaction Context

- Stub:

Stub APIs được chia thành các loại:

- World State Data APIs: Các thao tác cơ bản bao gồm getState(), putState() vàdeleteState() API truy vấn, như getStateByRange(), hỗ trợ truy xuất các tậphợp trạng thái, được xác định bởi một phạm vi khóa hoặc truy vấn dựa trên cácgiá trị trong cơ sở dữ liệu trạng thái World State

- Private Data APIs: Tương tự như World State, chúng bao gồmgetPrivateData(), putPrivateData() và deletePrivateData() API truy vấn (ví dụ:getPrivateDataByRange()) truy xuất trạng thái từ các bộ sưu tập dữ liệu riêngtư

- Transaction APIs: Được sử dụng để truy xuất thông tin chi tiết về đề xuất giaodịch hiện tại, bao gồm số nhận dạng giao dịch (getTxID()), dấu thời gian(getTxTimestamp()), danh tính của người tạo (getCreator() ) , đề xuất đã ký(getSignedProposal() ) và thông tin ràng buộc (getBinding()) getTransient() truycập dữ liệu tạm thời

- Key APIs: Thao tác với các khóa trạng thái, bao gồm việc tạo và phân tách cáckhóa tổng hợp API ValidationParameter() quản lý các chính sách chứng thực

- History API: getHistoryForKey() truy xuất các giá trị được lưu trữ và mã địnhdanh giao dịch cho một trạng thái

- Event API: setEvent() quản lý các sự kiện trong phản hồi giao dịch

- Utility APIs: Bao gồm getChannelID() để xác định kênh và invokeChaincode()

để gọi các hợp đồng thông minh khác trên cùng một thiết bị ngang hàng

- Lưu ý: Một số Utility APIs dành riêng cho chaincode cấp thấp và liên quanđến thao tác chi tiết đầu vào; lớp Hợp đồng thông minh tự động hóa việc sắpxếp tham số

+ getFunctionAndParameters()

+ getStringArgs()

+ getArgs()

2.7.2 Xây dựng smart contract

Tất cả logic thực thi cho ứng dụng được triển khai bằng hợp đồng thôngminh Điều này có nghĩa là mọi hoạt động Tạo, Đọc, Cập nhật hoặc Xóa đối với

Trang 26

sĩ, bệnh viện, hồ sơ y tế, tài khoản người dùng và các thay đổi nhật ký

Trang 27

Đồ án thực tập

Ngày đăng: 27/06/2024, 18:51

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Blockchain in healthcare: The Ultimate use case? url: https://blockgeeks.com/guides/blockchain-in-healthcare/. Accessed: 10.3.2024) Sách, tạp chí
Tiêu đề: Blockchain in healthcare: The Ultimate use case
[2] Fabric chaincode lifecycle. url: https://hyperledger-fabric.readthedocs.io/en/release-2.2/chaincode lifecycle.html _ . Accessed: 10.3.2024) Sách, tạp chí
Tiêu đề: Fabric chaincode lifecycle
[3] hyperledger-fabric-patient-data-management. url: https://github.com/Shubham - Girdhar / hyperledger - fabric - patient - data - management . git.Accessed: 10.3.2024) Sách, tạp chí
Tiêu đề: hyperledger-fabric-patient-data-management
[4] Transaction context, url: https://hyperledger-fabric.readthedocs.io/en/release-2.2/developapps/transactioncontext.html Link
[5] Install Fabric and Fabric Samples, url: https://hyperledger- fabric.readthedocs.io/fa/latest/install.html Link
[6] Deploying a smart contract to a channel, url: https://hyperledger- fabric.readthedocs.io/en/latest/deploy_chaincode.html Link
[7] Running a Fabric Application, url: https://hyperledger- fabric.readthedocs.io/en/latest/write_first_app.html Link

HÌNH ẢNH LIÊN QUAN

Hình 1: Mô hình kiến trúc - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 1 Mô hình kiến trúc (Trang 17)
Hình 2: Sơ đồ Usercase mô tả chức năng của Hospital - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 2 Sơ đồ Usercase mô tả chức năng của Hospital (Trang 18)
Hình 3: Sơ đồ usercase mô tả chức năng của patient - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 3 Sơ đồ usercase mô tả chức năng của patient (Trang 19)
Hình 4: Sơ đồ usercase mô tả chức năng của Doctor - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 4 Sơ đồ usercase mô tả chức năng của Doctor (Trang 20)
Hình 6: Xây dựng database cho chương trình - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 6 Xây dựng database cho chương trình (Trang 24)
Hình 7: Hàm khởi tạo sổ cái Initledger - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 7 Hàm khởi tạo sổ cái Initledger (Trang 28)
Hình 8: Hàm khởi tạo hồ sơ bệnh án mới CreateMedicalRecord - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 8 Hàm khởi tạo hồ sơ bệnh án mới CreateMedicalRecord (Trang 29)
Hình 11: Hàm khởi tạo tài khoản người dùng mới - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 11 Hàm khởi tạo tài khoản người dùng mới (Trang 30)
Hình 13: Kết nối API giữa SDK và Smart Contract - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 13 Kết nối API giữa SDK và Smart Contract (Trang 32)
Hình 16: Api xác thực đăng nhập - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 16 Api xác thực đăng nhập (Trang 35)
Hình 17: Api đọc tất cả hồ sơ bệnh án - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 17 Api đọc tất cả hồ sơ bệnh án (Trang 36)
Hình 18: Api đọc hồ sơ bệnh án dựa trên ID của bệnh án - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 18 Api đọc hồ sơ bệnh án dựa trên ID của bệnh án (Trang 37)
Hình 19 : Api tạo hồ sơ bệnh án - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 19 Api tạo hồ sơ bệnh án (Trang 38)
Hình 20 : Api cập nhật hồ sơ bệnh án - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 20 Api cập nhật hồ sơ bệnh án (Trang 39)
Hình 23: Front-end Api đọc hồ sơ bệnh án dựa trên ID của bệnh nhân - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 23 Front-end Api đọc hồ sơ bệnh án dựa trên ID của bệnh nhân (Trang 42)
Hình 25: Front-end Api cập nhật hồ sơ bệnh án - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 25 Front-end Api cập nhật hồ sơ bệnh án (Trang 43)
Hình 30 : Trang cập nhật bệnh nhân. - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 30 Trang cập nhật bệnh nhân (Trang 47)
Hình 31 : Trang thông tin tất cả bác sĩ. - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 31 Trang thông tin tất cả bác sĩ (Trang 47)
Hình 33 : Trang tạo bác sĩ. - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 33 Trang tạo bác sĩ (Trang 48)
Hình 32 : Trang tìm kiếm bác sĩ dựa trên ID bác sĩ. - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 32 Trang tìm kiếm bác sĩ dựa trên ID bác sĩ (Trang 48)
Hình 35 : Trang xem thông tin tất cả hồ sơ bệnh án. - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 35 Trang xem thông tin tất cả hồ sơ bệnh án (Trang 49)
Hình 39 : Trang tìm kiếm bệnh viện theo ID bệnh viện. - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 39 Trang tìm kiếm bệnh viện theo ID bệnh viện (Trang 51)
Hình 38 : Trang xem thông tin tất cả bệnh viện. - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 38 Trang xem thông tin tất cả bệnh viện (Trang 51)
Hình 40 : Trang xem lịch sử thực hiện cập nhật. - báo cáo thực tập tốt nghiệp ngành công nghệ thông tin xây dựng website quản lý bệnh án trên nền tảng blockchain hyperledger
Hình 40 Trang xem lịch sử thực hiện cập nhật (Trang 52)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w