Đề tài thử nghiệm xây dựng hệ thống quản lý, tư vấn, chăm sóc sức khỏe kết hợp với công nghệ blockchain Hyperledger Fabric Blockchain vào việc bảo mật hệ thống và truy cập dữ liệu giữa c
Trang 1ĐẠI HỌC QUÓC GIA TP HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
GOK CR
LÊ NGỌC HIEN
NGHIÊN CỨU HE THONG QUAN LÝ, TƯ VAN VA CHAM SOC
SỨC KHỎE TÍCH HỢP CÔNG NGHỆ BLOCKCHAIN
LUẬN VĂN THẠC SĨ, KHÓA LUẬN CAO HỌC
NGÀNH CÔNG NGHỆ THÔNG TIN
Mã số: 8.48.02.01
TP HO CHÍ MINH - NĂM 2023
Trang 2ĐẠI HỌC QUÓC GIA TP HCM TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
5D CR
⁄Z
Sà
LÊ NGỌC HIẾN
NGHIÊN CỨU HE THONG QUAN LÝ, TƯ VAN VA CHAM SOC
SỨC KHỎE TÍCH HỢP CÔNG NGHỆ BLOCKCHAIN
RESEARCH MANAGEMENT, CONSULTING AND HEALTHCARE SYSTEM INTEGRATE BLOCKCHAIN
TECHNOLOGY
LUAN VAN THAC Si, KHOA LUAN CAO HOC
NGANH CONG NGHE THONG TIN
Mã số: 8.48.02.01
NGƯỜI HƯỚNG DẪN KHOA HỌC:
1 PGS TS Nguyễn Hoàng Tú Anh
TP HO CHÍ MINH - NĂM 2023
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là đề tài nghiên cứu và phát triển của cá nhân tôi được
sự hướng dẫn của PGS TS Nguyễn Hoàng Tú Anh Hệ thống được nghiên cứu và
phát triển trong đề tài “NGHIÊN CỨU HỆ THONG QUAN LY, TƯ VAN VA
CHAM SOC SỨC KHỎE TÍCH HỢP CÔNG NGHỆ BLOCKCHAIN” là trung
thực và chưa được công bố và phát triển trước đây Nếu có bất kỳ sự gian lận nàotôi xin chịu hoàn toàn trách nhiệm về nội dung dé tài của mình
Trang 4Chương 2 CÁC CÔNG TRÌNH NGHIÊN CỨU LIEN QUAN
2.1 Gem Health Network ([05])
3.6 Elastic Search va ứng dung trong cơ chê ghi log và báo cáo
3.7 Azure Service Bus va Redis Cache trong mô hình Microservices
Trang 5Chương 4 HỆ THONG QUAN LY, TƯ VAN CHAM SOC SỨC KHỎE 27
4.1 Tổng quan hệ thống
4.2 Mục tiêu hệ thống
4.3 Phân tích thiết kế nghiệp vụ hệ thống
4.4 Phân tích thiết kế kiến trúc hệ thống
4.4.1 Tổng quan mô hình hệ thốn;
4.42 — Kiến trúc hệ thống
4.4.3 Thiết kế cơ sở dữ liệu
4.4.4 Tích hợp Hyperledger Fabric Blockchain
4.5 Phân tích tinh năng hệ thống
Chương 5 KET QUA ĐẠT DUOC VÀ HƯỚNG PHÁT TRIÊN
5.I Đánh giá hệ thống
5.11.
5.12 Nhược điểm
5.2 Kết quả đạt được và kế hoạch phát trién
TÀI LIEU THAM KHAO
Trang 6TOM TAT KHÓA LUẬN
Blockchain đang trong quá trình phát triển mạnh mẽ và hoàn thiện mình trởthành một công nghệ an toàn, đáng tin cậy về việc chia sẻ dữ liệu Blockchain đượcứng dụng vào nhiều lĩnh vực khác nhau như: Tài chính, quản lý chuỗi cung ứng,công nghiệp thực pham, IOT, y tế và chăm sóc sức khỏe
Đề tài thử nghiệm xây dựng hệ thống quản lý, tư vấn, chăm sóc sức khỏe kết
hợp với công nghệ blockchain (Hyperledger Fabric Blockchain) vào việc bảo mật
hệ thống và truy cập dữ liệu giữa các đối tượng liên quan tới hệ thống (bệnh nhân,
bác sĩ, dược sĩ, bệnh viện, nhà thuốc) Cùng với đó là thiết kế hệ thống theo kiếntrúc Microservices kết hợp với các công nghệ hiện đại như Elastic Search, Azure
Service Bus, Redis Cache giúp cải thiện hiệu năng khi tích hợp Blockchain và tăng
độ tin cậy của hệ thống, và hệ thống theo dõi và phân tích trên mạng lưới
s* Chương 2: CÁC CÔNG TRÌNH NGHIÊN CỨU LIEN QUAN
- Gem Health Network
Trang 7Công nghệ Blockchain
Các loại Blockchain
Private Blockchain và ứng dụng trong doanh nghiệp
Kiến trúc MicroservicesElasticSearch và ứng dụng trong cơ chế ghi log và báo cáo
Azure Service Bus và RedisCache trong mô hình Microservices
* Chương 4: HE THONG QUAN LÝ, TƯ VAN CHAM SOC SỨC
KHỎE
“Tổng quan hệ thôngMục tiêu hệ thốngPhân tích thiết kế nghiệp vụ hệ thốngPhân tích thiết kế kiến trúc hệ thống
Phân tích tính năng hệ thốngs* Chương 5: KET QUA ĐẠT ĐƯỢC VÀ HƯỚNG PHAT TRIEN
Đánh giá hệ thốngKết quả đạt được và kế hoạch phát triển
«> TÀI LIỆU THAM KHẢO
Trang 2
Trang 8Chương 1 MO ĐẦU
1.1 Giới thiệu
Từ sau khi đại dịch Covid (12-2019) diễn ra đã dần thay đổi mô hình kinhdoanh, học tập, chăm sóc sức khỏe cũng như hành vi người dùng từ truyền thống
offline sang online.
Ngành Y Tế cũng nằm trong xu hướng trước đại dịch, cần các hệ thống hỗ trợ
từ xa đành cho mọi người trong nguy cơ đại dịch quay trở lại và các nguy cơ dịch
bệnh khác có thé xảy ra
Ngoài ra các hệ thống trực tuyến phát triển nhanh và mạnh kèm theo đó là cácnguy cơ tan công, dữ liệu người dùng có thé bị xâm phạm trên các ứng dụng trựctuyến Cùng với đó, các vấn đề liên quan tới nguồn gốc, giá cả trong chuỗi cungứng y tế cũng là vấn đề cần được giải quyết và sự minh bạch được đặt lên hàng đầu
Vì vậy việc đưa blockchain vào nền tảng y tế trực tuyến là một giải pháp có thể
hướng tới để cải thiện bảo mật và sự minh bạch trong quy trình Tuy nhiên việc tích
hợp blockchain vào hệ thống cũng mang lại một thách thức về công nghệ va khảnăng mở rộng hệ thống hiện tại, cùng với đó là các van dé về hiệu suất đảm bảo tính
sẵn sàng của hệ thống cũng là thách thức kèm theo
Từ nhu cầu thực tiễn và vấn đề cốt lõi đề tài đề xuất xây dựng thử nghiệm hệthống quản lý, tư vấn chăm sóc sức khỏe ứng dụng công nghệ blockchain Ứng
dụng hướng tới các đối tượng: bệnh nhân, bác sĩ, dược sĩ, nhà thuốc, bệnh viện
Cung cấp các tính năng liên quan tới quản lý dữ liệu bệnh nhân, đơn thuốc, thanh
toán, quản lý thuốc, tư vấn y tế cho bệnh nhân Cùng với đó đề tài đề xuất hướng
thiết kế xây dựng kiến trúc hệ thống một cách tỉnh gọn khả năng mở rộng và tíchhợp cao khi kết nối công nghệ Blockchain
1.2 Ứng dụng và thách thức
1.2.1 Ứng dụng quan lý tư vấn chăm sóc khỏe
Đề tài hướng tới xây dựng thử nghiệm hệ thống quản lý tư vấn chăm sóc sức
khỏe tích hợp công nghệ blockchain trong việc lưu trữ và vận hành hệ thống
Trang 9Các tính năng đặc trưng ứng dụng của hệ thống:
- Tư vấn chăm sóc sức khỏe: Bệnh nhân có thể đặt lịch hẹn chăm sóc sứckhỏe với nguồn lực Bác sĩ/Dược sĩ hệ thống kết nối Dược sĩ/Bác sĩ thựchiện tư vấn ghi chú các tư vấn, triệu chứng lâm sàng và chỉ định hướng
dẫn điều trị
- Quản lý nguồn lực được sĩ, bác sĩ, bệnh viện, nhà thuốc liên kết: Cácbệnh viện, tổ chức có thể quản lý các Bác Sĩ, Dược Sĩ của mình cũng
như các cơ sở khám chữa bệnh.
- Quản lý thuốc trên hệ thống và cửa hàng và giao dịch mua thuốc từ bệnh
nhân: các nhà thuốc trên hệ thống có thể quản lý và điều chỉnh danh mục
thuốc tại cửa hàng
-_ Tích hợp công nghệ blockchain trong việc lưu trữ dữ liệu đảm bảo tính
toàn vẹn thông tin và bảo mật hệ thống
Hệ thống hướng tới việc xây dựng một nền tảng dành cho cộng đồng, người dân
có thể sử dụng hệ thống dé được tư vấn khám chữa bệnh Hệ thống cũng hướng tớiviệc liên kết với các tô chức và cá nhân trong lĩnh vực y tế làm nguồn nhân lựckhám chữa bệnh thông qua hệ thống Hiện nay, đa số các các hệ thống phục vụtrong lĩnh vực y tế hướng tới hai mục tiêu chính đó phục vụ cho nhu cầu quản lý,
vận hành tổ chức và hệ thống dịch vụ y tế cho bệnh nhân của các tổ chức, phòng
khám cá nhân Các hệ thống gần như độc lập và không có mối liên kết giữa các tổ
chức y tế hoặc chia sẻ tài nguyên, vậy nên mục tiêu hệ thống hướng tới việc nâng
cao sức khỏe cong đồng đại dịch
Ngoài ra, để đáp ứng khả năng mở rộng, cũng như tích hợp công nghệ
Blockchain một cách hiệu quả nhất, đề tài hướng tới xây dựng kiến trúc hệ thống
theo mô hình Mieroservice, đáp ứng khả năng mở rộng linh hoạt, dễ dàng bảo trì và
phát triển dự án nhanh gọn Cùng với đó hệ thống cũng tích hợp Redis Cache và
Elastic Search trong quá trình lưu trữ dữ liệu trung gian, theo dõi, liên kết giữa dịch
vụ blockchain và hệ thống ứng dụng
Trang 4
Trang 101.2.2 Thách thức
> Nghiệp vụ và liên kết đối tác: Mục tiêu đề tài hướng tới việc liên kết các cánhân, tổ chức trong lĩnh vực y tế (Bệnh viện, nhà thuốc, các dược sĩ, bác sĩ ).Điều này gây khó khăn trong việc xây dựng hệ sinh thái cho hệ thống, cần làmviệc với nhiều đối tác và chứng minh độ khả thi của nền tảng Hệ thống liênquan tới mảng y tế mang nhiều nghiệp vụ đặc trưng, cần phải tham khảo đốichiếu nhiều hệ thống khác, đưa ra lối phân tích phù hợp giữa các hệ thống vớinhau nhằm phục vụ cho nhiều đối tượng
Blockchain và các vấn dé liên quan: Blockchain trong lĩnh vực y tế còn khá mới
X
đối với thị trường Việt Nam Việc áp dụng Blockchain vào hệ thống cần đánh
giá cụ thể các dữ liệu được lưu trữ trên Blockchain để tối ưu hiệu năng, chỉ phí,toàn vẹn dữ liệu và bảo mật hệ thống Việc tích hợp Blockchain vào hệ thống
cần đảm bảo tính khả dụng khi mở rộng, các cơ chế hồi phục dữ liệu đối với các
dữ liệu không vượt qua đồng thuận, kèm với đó là hệ thống theo dõi với lượng
giao dịch lớn xảy ra trên mạng lưới Ngoài ra vấn đề tin tưởng đối với các các
hệ thống Blockchain tại Việt Nam còn thấp và vấn đề pháp lý dành cho côngnghệ Blockchain tại Việt Nam còn chưa đầy đủ
1.3 Mục tiêu, đối tượng và phạm vi nghiên cứu
1.3.1 Mục tiêu
Đề tài đưa ra mục tiêu xây dựng một ứng dụng, giải pháp phần mềm phù hợpvới nhu cầu thực tế và ứng dụng xã hội, với mục tiêu hỗ trợ cộng đồng trong đại
dịch.
Mục tiêu khoa học: Đề tài thực hiện nhằm đánh giá khả năng tích hợp công
nghệ Blockchain vào ứng dụng thực tiễn, cụ thé trong lĩnh vực y tế Blockchain là
công nghệ phát triển và thịnh hành trong nhiều năm qua, việc kiểm tra tính khả
dụng của công nghệ trong các lĩnh vực mang ý nghĩa khoa học và ứng dụng cho
cộng đồng công nghệ tại Việt Nam Ngoài ra đề tài cũng hướng tới đề xuất phương
án xây dựng kiến trúc và mô hình hệ thống phù hợp đối với công nghệ Blockchain
vào các nền tảng ứng dụng, cùng với đó là các nền tảng công nghệ bổ trợ choBlockchain trong việc tích hợp vào hệ thống
Trang 111.3.2 Đối tượng và phạm vi nghiên cứu
Đề tài hướng tới lĩnh vực y tế hỗ trợ tư vấn cho người bệnh, các đối tượng đượchướng tới trong hệ thống bao gồm:
- Bệnh nhân: Người dùng cuối trên hệ thống, sử dụng hệ thống đề được tư van vềsức khỏe, mua thuốc trong quá trình điều trị bệnh
- Bac si/Duge Sĩ: Người dùng cuối trên hệ thống, sử dụng hệ thống dé tư vấn sức
khỏe bệnh nhân, kê các đơn thuốc sử dụng cho bệnh nhân điều trị cũng như ghi
chú các phương pháp điều trị cho bệnh nhân
-_ Tổ chức y tế (Bệnh viện, phòng khám): Người dùng sử dụng hệ thống quản trị
tổ chức y té bao gom bệnh nhân, bác sĩ, dược sĩ thuộc biên chế tổ chức
- Nhà thuốc: Người dùng quản lý nhà thuốc, bao gồm các tác vụ quản lý danh
mục thuốc, giá thuốc, quy trình bán hàng
Với mục tiêu nghiên cứu thử nghiệm, đề tài hướng tới việc xây dựng thửnghiệm hệ thống quản lý tư vấn chăm sóc sức khỏe ứng dụng công nghệBlockchain Vì tính chất thử nghiệm tính khả dụng đề tài, đề tài chọn PriviteBlockchain ứng dụng trong hệ thống để kiểm tra khả năng tích hợp và vận hành.Cùng với đó, kiến trúc mô hình lựa chon là Microservices như một mô hình tối ưutrong việc tích hợp và mở rộng hệ thống Tiếp theo, đề tài sử dụng Elasticsearch —một công nghệ hỗ trợ tìm kiếm nhằm sử dụng Blockchain một cách hiệu quả hơntrong việc truy vấn dữ liệu và tạo ra trải nghiệm tối ưu cho người dùng khi sử dụng
Tính mới của đền tài: với công nghệ blockchain mang nhiều ý nghĩa trong các
hệ thống tương lai, đảm bảo về độ tin cậy Có thê loại bỏ các bên thứ ba tham gia
vào quy trình doanh nghiệp, có thể triển khai trên quy mô lớn và phi tập trung Hệthống cung cấp cho người dùng khả năng lưu trữ và truy cập thông tin an toàn, hơn
Trang 6
Trang 12hết là việc truy xuất nguồn gốc của các giao dịch trong suốt quá trình đảm bảo tính
minh bạch.
Hiện nay các hệ thống blockchain tại Việt Nam còn khá khiêm tốn, việc nghiêncứu một hệ thống mang ý nghĩa hỗ trợ cộng đồng, áp dụng các công nghệ tiên tiến
vào thực tế như là một việc khả thi mang ý nghĩa cho cộng đồng công nghệ Vì vậy
đề tài “NGHIÊN CUU HE THONG QUAN LÝ, TƯ VAN VA CHAM SOC SỨC
KHỎE TÍCH HỢP CÔNG NGHỆ BLOCKCHAIN” mang ý nghĩa trên
Đa phần các hệ thống y tế hiện tại có sự kết hợp chặt chẽ tới quy trình hoạtđộng tại cơ sở y tế, bệnh nhân phải đến trực tiếp địa điểm khám chữa bệnh đề được
sử dụng dịch vụ tư vấn chăm sóc sức khỏe Thì để tài mở ra xu hướng sử dụng dịch
vụ tư vấn trực tiếp, nhằm nâng cao tính tiện dụng và có thể sử dụng trong đại dịchCovid-19 tại Việt Nam Hệ thống cũng hộ trợ việc mua thuốc trực tuyến bằng hệthống nhà thuốc liên kết trên hệ thống, bệnh nhân có thể chủ động chọn đơn vị cungcấp phù hợp với vị trí địa lý của bệnh nhân
Ngoài ra các dữ liệu trong lĩnh vực y tế đa phan là các dit liệu có tính nhạy cảm
cao nên cân được đê cao tính bảo mật, việc áp dụng công nghệ blockchain vào các
hệ thống y tế mở ra một hướng xây dựng hệ thống công nghệ thông tin mới nhắmnâng cao độ bảo mật, và toàn vẹn đối với dữ liệu Ngoài ra mạng lưới blockchain có
cơ chế cho người sử dụng trên mạng lưới có thê trao quyền truy cập, điều này giúp
nâng cao tính năng người dùng trong việc chủ động chia sé dit liệu một cách an
toàn.
Cùng với đó đề tài hướng tới nghiên cứu đề xuất mô hình tối ưu trong việc sửdụng công nghệ Blockchain, phương pháp tích hợp blockchain nhưng vẫn giữ đượchiệu năng của hệ thống, độ chịu tải, khả năng mở rộng Hiện các ứng dụngBlockchain ngày càng phé biến, việc đề xuất mô hình xây dựng hệ thống cùng các
nền tảng vệ tỉnh hỗ trợ cộng đồng trong việc xây dựng phát triển hệ sinh thái công
nghệ Blockchain Cùng với đó là một phương án kiến trúc linh động trong việc phát
triển, nâng cấp và vận hành hệ thống
Trang 131.5 Quy trình thực hiện
Nghiên cứu tổng quan về nền tảng lý thuyết công nghệ Blockchain
Nghiên cứu các hệ thống hỗ trợ y tế trực tuyến tại Việt Nam và thế giới
Nghiên cứu các hệ thống tích hợp blockchain đặc biệt các hệ thống y tế
Chọn lọc thiết kế hệ thống hỗ trợ tư vấn sức khỏe tích hợp blockchain
Xây dựng thử nghiệm hệ thống quản lý, tư vấn, chăm sóc sức khỏe
Tích hợp công nghệ blockchain vào hệ thống với công nghệ lựa chọn làHyperledger Fabric Blockchain trong các quá trình vận hành hệ thông
Tích hợp Elastic Search vào hệ thống ghi log và báo cáo
Tích hợp Azure Service Bus và Redis Cache vào hệ thống, chuyển đổi các dịch
vụ trong Microservices hoạt động bất đồng bộ cải thiện hiệu năng hệ thống
Đánh giá sản phẩm thử nghiệm qua các tiêu chí: lưu trữ hồ sơ (tốc độ, khả năng
lưu trữ), khả năng chia sẽ và bao mật, tính toàn vẹn thông tin
Kết luận độ khả thi và phát triển trong tương lai
Trang 8
Trang 14Chương 2 CÁC CONG TRÌNH NGHIÊN CỨU LIÊN QUAN
Blockchain là công nghệ có nhiều tiềm năng cho lĩnh vực chăm sóc sức khỏe,
trên thế giới cũng đã có nhiều ứng dụng chăm sóc sức khỏe sử dụng blockchain vàcác giải pháp phần mềm cụ thé sẽ áp dụng công nghệ blockchain
2.1 Gem Health Network ([05] T McGhin)
Đối với ngành y tế, việc quản lý hồ sơ và tài liệu được lưu trữ bảo mật và tuân
thủ theo luật nghiêm ngặt ví dụ như về luật bảo hiểm y tế tại Mỹ Các hỗ sơ tài liệu
được lưu trữ tại cơ sở dữ liệu tập trung, điều này có thể dẫn đến các rủi ro tiềm ânnhư: bảo mật dữ liệu, khả năng bị tấn công, thất lac dit liệu Và mô hình lưu trữ này
cũng gây một số bất cập khi sử dụng như khả năng tương tác với các hệ thống khác,
chia sẻ các dữ liệu bảo mật giữa các hệ thống với nhau Mỗi lần người dùng sử
dụng một nên tảng hoặc dịch vụ khác cần phải tạo hd sơ M tế khác nhau, và cầnthêm thời gian xác thực thông tin cho tat cả lại từ đầu, tạo nên một trải nghiệm chưa
tot.
Từ các vấn dé trên Gem Health Network ({05] T McGhin) được xây dựng dé
giải quyết các vấn đề, hệ thống sử dụng mạng lưới Blockchain Ethereum dé xây
dựng hạ tang mang của mình Gem Health Network cho phép tat cả các chuyên gia
chăm sóc sức khỏe truy cập vào cùng một thông tin chăm sóc sức khỏe, loại bỏ
những hạn chế của việc lưu trữ tập trung Người dùng được ủy quyền có quyên truycập theo thời gian thực vào thông tin điều trị mới nhất Điều này có thể giúp giảmthiểu nguy cơ sơ suất y tế do thông tin lỗi thời và ngăn ngừa các vấn đề sức khỏe cóthê phát sinh từ thông tin sai lệch đó và chia sẻ thông tin hồ sơ bệnh nhân giữa bệnh
nhân, bác sĩ và các tô chức y tế Tuy nhiên, có một số thách thức cần được giải
quyết, chang hạn như quản lý danh tính cho bệnh nhân và nếu có bat kỳ loại quản lýkhóa nào dé bảo mật hỗ sơ khỏi giả mạo và lạm dụng Ngoài ra, nếu khóa công khai
bị mat hoặc bị rò ri, làm cách nào dé khôi phục thông tin và cập nhật khóa bị xâm
phạm là các vấn đề cần được giải quyết
Trang 152.2 OmiPHR ([05] T McGhin)
OmniPHR ((05] T McGhin) là một mô hình được phat triển bởi Roehrs, Costa
và Righi để giúp xử lý hồ sơ sức khỏe của bệnh nhân Hệ thống cung cấp cho bệnhnhân dịch vụ thống nhất hồ sơ sức khỏe khi hồ sơ của họ được lưu trữ trên nhiềunền tảng khác nhau Ngoài ra OmniPHR còn giải quyết vấn đề các nhà cung cấpdịch vụ chăm sóc sức khỏe có quyền truy cập vào dữ liệu cập nhật về bệnh nhân của
họ, ngay cả khi hồ sơ được lưu trữ ở một vị trí khác hoặc đã được cập nhật bởi cácnhà cung cấp dịch vụ chăm sóc sức khỏe khác Để làm được điều này, vấn dé chínhcủa OmniPHR ({05] T McGhin) là tìm cách giải quyết là sự khác biệt giữa hồ sơsức khỏe điện tử (EHR) và PHR EHR là các hồ sơ được lưu giữ theo nhiều tiêuchuẩn của chính phủ giúp giải quyết van đề lưu trữ hồ sơ thống nhất giữa các tiêubang và quốc gia Điều này cho phép hồ sơ luôn cập nhật và chính xác nhất có thẻ
OmniPHR ({05] T McGhin) giúp tạo ra một giải pháp giúp cho bệnh nhân nhìn
được tổng quan và đây đủ về hồ sơ bệnh án của họ và duy trì độ chính xác nhất
Để giải quyết van đề OmniPHR ([05] T McGhin) xây dựng một framework kếthợp công nghệ Blockchain tập trung vào việc phân phối và khả năng tương tác với
dữ liệu hệ thống và các nền tảng y tế khác Các nguồn dữ liệu được mã hóa và xác
thực trên mạng lưới Blockchain Các đơn vị, tô chức y tế có thể truy cập vào mạnglưới blockchain để thực hiện truy cập dữ liệu Khi dữ liệu được đưa lên mạngblockchain Bệnh nhân và nhà cung cấp dịch vụ chăm sóc sức khỏe có trách nhiệmxác minh và nhập các dữ liệu khác nhau, chẳng hạn như nhân khẩu học cho bệnh
nhân và chân đoán cho nhà cung cấp dich vụ chăm sóc sức khỏe Và bệnh nhân phải
cấp quyền truy cho ai khác truy cập vào hồ sơ vì theo mặc định, chỉ bệnh nhân vànhà cung cấp dịch vụ chăm sóc sức khỏe mới có quyền truy cập vào dữ liệu
2.3 Heathcare Data Gateway[9]
Heathcare Data Gateway ([9] Yue, X., et al., 2016) là đề tài nghiên cứu bởiYue, Wang, Jin, Li va Jiang Mục tiêu hướng tới là tạo điều kiện thuận lợi trongviệc kiểm soát hồ sơ y tế của bệnh nhân, nói cách khác họa có thé dé dàng sở hữu,kiêm soát và chia sẻ dữ liệu một cách an toàn hơn Hệ thống được phát triển trênnền tảng di động với cơ sở mạng 5G dang phát triển mạnh mẽ tạo đủ cơ sở hạ tang
Trang 10
Trang 16sử dụng hệ thống Hệ thống gồm 3 lớp lưu trữ: lớp lưu trữ cung cấp dịch vụ lưu trữ
độc lập, an toàn có thể mở rộng, khả dụng cao và độc lập cho dữ liệu sức khỏe, lớp
quản lý dữ liệu bao gồm một tập hợp các HDG ([9] Yue, X., et al., 2016) của cá
nhân và được kết nối với nhau, và một lớp sử dụng dữ liệu cho phép của các cácthực thé sử dụng dữ liệu chăm sóc sức khỏe truy cập vào hệ thống hồ sơ y tế Các
hoạt động và kết quả sẽ được lưu trữ lại trên hệ thống blockchain ở dạng mã hóa
Bệnh nhân có thể chia sẻ dữ liệu trên blockchain của mình bằng cách chia sẻ khóa
an toàn cho người muốn xem hồ sơ dữ liệu trên Blockchain Khi người dùng được
chia sẻ sử dụng đọc dit liệu HDG ([9] Yue, X., et al., 2016) thực hiện tạo một ban
sao sưu dữ liệu cơ sở và người dùng được chia sẻ thao tác trên tính năng được cung
Hầu như các hệ thống Blockchain được ứng dụng với vai trò chính là bảo mật
và chia sẻ dữ liệu, công nghệ Blockchain giúp giải quyết vấn đề của các hệ thống y
tế đơn lẻ là việc chia sẻ dữ liệu, tổng hợp toàn bộ hồ sơ bệnh án của bệnh nhân từ
đó đưa ra những quyết định chính xác hơn Các dự án và đề tài nghiên cứu cho thấyrằng Blockchain đang là công nghệ ứng dụng cho việc chia sẻ thông tin hiệu quả vàđang được tin tưởng hiện nay, bên cạnh đó cũng còn nhiều vấn đề mà các hệ thốngBlockchain cần phải giải quyết
Trang 17Chương 3 CƠ SỞ LÝ THUYET
3.1 Hé thống chăm sóc sức khỏe hiện tại
Hiện nay các ứng dụng phục vụ trong lĩnh vực y tế tại Việt Nam tương đối
phong phú, đa phần các ứng dụng được phát triển một cách độc lập phục vụ cho nhu
cầu nhất định của các đơn vị hoạt động trong lĩnh vực y tế như bệnh viện, phòng
khám, nhà thuốc Các hệ thống phần mềm có thé chia làm 2 loại phổ biến trên thịtrường: ứng dụng theo dõi y tế, sức khỏe và ứng dụng quản lý bệnh viện, phòngkhám, vật tư y tế Về mục đích, ứng dụng theo đõi sức khỏe tập trung vào ngườidùng đầu cuối là bệnh nhân, ứng dụng theo dõi và ghi nhận tình trạng sức khỏe
bệnh nhân từ đó đưa ra các tư vấn phù hợp Đối với hệ thống quản lý bệnh viện,
phòng khám, phần mềm phần lớn tập trung vào các tính năng quản lý phòng ban,
quy trình làm việc, lịch khám chữa bệnh, quản lý các vật tư và chuỗi cung ứng vật
tư Và thực tế gần như các hệ thống này độc lập và nguồn dữ liệu chưa chia sẻ vớinhau, đối với người dùng đầu cuối việc thiếu sót các thông tin giữa các ứng dungtạo nên trải nghiệm chưa tốt và nhập liệu nhiều lần nếu bệnh nhân sử dụng nhiêudịch vụ y tế khác nhau
Một số ứng dụng y tế nôi tiếng và thông dụng tại Việt Nam hiện nay:
-_ FPT Ehospital: Được FPT phát triển và ứng dụng cho chính hệ thống y tếcủa mình, phần mềm được nhiều các bệnh viện và phòng khám trên cả nước
sử dụng FPT Ehospital được đánh giá là dé sử dụng và tiếp cận nhanh với
người dùng đầu cuối
- VNPT HIS: Được đánh giá là một trong những phần mềm quản lý bệnh
phòng khám nỗi bật trong năm 2020 Với lượng phỏng khám và bệnhviện sử dụng nhiều, phần mềm tập trung vào các chức năng trong việc quản
lý và phân hóa theo các mảng chuyên biệt phù hợp với nhu cầu thực tế củabệnh viện, phòng khám Phần mềm góp phần làm cho công việc quản lýliên quan tới các khoa khác nhau đơn giản hơn việc quản lý giấy tờ truyềnthống.
- Ncovi: Được phát triển với chỉ đạo từ Bộ Y Tế và Bộ thông tin - truyềnthông Ứng dụng phục vụ cho việc theo dõi thông tin sức khỏe của bệnh
Trang 12
Trang 18nhân Covid-19, ứng dụng hoạt động khá hiệu quả và giúp đỡ cho nhân dân
trong giai đoạn dịch Covid-19 bùng phát.
- Edoctor: Ứng dụng giúp người dùng theo dõi và tư vấn chăm sóc sức khỏecho từng đối tượng phù Ứng dụng liên kết các bênh viện và phòng khám
trên khu vực lựa chọn, từ đó giúp bạn tối ưu trong việc tìm kiếm dịch vụ
Kèm theo ứng dụng còn mang tới nhiều ưu đãi hỗ trợ người bệnh, kết nối
các bác sĩ chuyên khoa đầu ngành để hỗ trợ bệnh nhân, kèm theo đó là
nhiều thông tin về sức khỏe cũng được đăng tải trên ứng dụng
Xét về nền tảng ứng dụng, đa phần các ứng dụng phục vụ cho việc theo dõi sức
khỏe được phát triển trên nền tảng di động, thuận tiện cho người dùng có thể ghi
nhận vào trao đổi thông tin một cách thuận tiện Các hệ thống quản lý bệnh viện,phòng khám đa phần được phát triển trên nền tảng web, phù hợp cho việc quản lý
và vận hành hơn, tuy nhiên trên nền tảng di động vẫn có phát triển các tính năngnhỏ để tạo sự thuận tiện khi sử dụng
Xét tổng quát các ứng dụng về y tế tại Việt Nam khá phong phú, đa nền tảng, có
thé hỗ trợ hầu hết các nhu cầu của bệnh nhân Tuy nhiên các nền tảng này vẫn cònhạn chế như các ứng dụng chỉ là các hệ thông độc lập và giải quyết một vấn đề hoặc
phục vụ cho nhu cầu cụ thê, việc xây dựng hệ sinh thái cho một dịch vụ y tế còn
chưa có, việc tích hợp mở rộng và phát triển hệ sinh thái cũng là một van đề, đòi hỏi
các ứng dụng phải có kiến trúc phù hợp linh động trong việc tính hợp mở rộng hệ
thống Các ứng dụng theo dõi tư vấn y tế còn chưa liên kết được với các hệ thongquản lý của các bệnh viện phòng khám, nên việc chuyển đổi thông tin bệnh án còngặp nhiều khó khăn và cần giải quyết
Đối với công nghệ Blockchain, hiện nay các ứng dụng áp dụng công nghệ
Blockchain còn chưa có, việc chưa phát triển ngoài yếu tố công nghệ, việc phát
triển tốn nhiều chi phí đầu tư về cơ sở hạ tang, các kiến trúc phù hợp với công nghệ.Điều này các tổ chức y tế tại Việt Nam còn chưa được đầu tư mạnh mẽ, kèm theo
đó là hệ sinh thái và chia sẻ dữ liệu giữa các tô chức còn chưa nhất quán và các vấn
đề liên quan khác ngoài lề cũng là cản trở, giảm động lực việc phát triển nâng cấp
hệ thống áp dụng công nghệ Blockchain
Trang 19Về kiến trúc hệ thống và quy mô phát triển, đa phần các ứng dụng được nêu
thường vừa và nhỏ, kèm theo thời gian phát triển đã lâu nên đa phần kiến trúc lựa
chọn là Monolithic (kiến trúc nguyên khối), kiến trúc này dễ phát triển và nhanh
chóng ra được ứng dụng tuy nhiên việc tích hợp mở rộng và nâng cấp công nghệgần như là một thách thức to lớn, vì việc sửa đổi gần như phải sửa đồi toàn bộ cơ
cấu của phần mềm Và việc phát triển phần mềm qua nhiều năm thì cơ cấu kiến trúc
nay càng trở nên công kénh và khó kiếm soát
3.2 Công nghệ Blockchain
Blockchain là một công nghệ số cái phân tán (DLT - Distributed Ledger
Technology) bat bién, chống giả mạo, được sử dụng trong một môi trường được
chia sẻ và đồng bộ hóa, nơi tất cả các giao dịch được xác thực bởi người dùng và cóthé theo đối được Nó cho phép một môi trường phi tập trung, nơi tắt cả các thànhviên của mạng có thể tương tác an toàn mà không cần đến cơ quan thứ 3 đáng tincậy xác minh Do đó, nó loại bỏ sự cần thiết của một thực thể trung tâm bằng cách
xác thực và lưu trữ tất cả các giao dịch thông qua sự đồng thuận phân tán Các dữ
liệu được lưu trữ trên blockchain là bất biến và không thể bị xóa, các khối trongmạng lưới sẽ được ký và mã hóa bat biến, các khối mới khi được sinh ra sẽ lưu chữ
ký của khối trước để liên kết với nhau, chính điều này làm cho việc mạng lướiblockchain gần như không bị thay đổi thông tin, giả mạo
Blockchain có tác dụng như một số cái ghi lại tất cả các giao dịch xảy ra trên
mạng lưới của mình Với tính chất trên thì blockchain có các đặc điểm chính sau:
- Tính Phân tán - Decentralized: Dữ liệu trên hệ thống có thể được truy cập,theo đõi, lưu trữ và cập nhật trên nhiều hệ thống khác nhau, không tập trungtrên một hệ thống nhất định
- Tính minh bạch — Transparent: Dữ liệu được ghi lại và lưu trữ trên mạng
lưới blockchain, các block được sinh ra với sự đồng thuận (chứng thực công.việc, chứng thực cô phan ) từ mạng và có thể theo dõi trong suốt vòng
đời của nó và không thê bị loại bỏ khỏi mạng.
Trang 14
Trang 20Tính bắt biến - Immutable: Blockchain cung cấp các thông tin về thời gian
và kiểm soát dé xác định tính bat biến, các block được sinh ra không thể bị
thay đôi hay xóa đi và có một mã định danh.
Tinh không thé đảo ngược - Irreversible: khi các giao dịch được thực hiện,
mạng lưới sẽ chứng thực giao dịch bằng các hình thức khác nhau đề sinh ra
một khối, và khối này không thẻ thay đồi
Tính tự chủ - Autonomy: các nút trên mạng lưới blockchain có được truy
cập, lưu trữ và cập nhật dữ liệu một cách an toàn mà không cần sự can thiệp
hoặc xác thực của bên thứ ba.
Nguồn mở - Open Source: Tắt cả người dùng có thể truy cập vào mạng lưới
blockchain.
Quyền sở hữu và tính duy nhất - Ownership and uniqueness: Mọi tài liệu,tài sản được trao đôi và giao dịch trên Blockchain đều được lưu trữ thôngtin sở hữu của nó với một mã băm duy nhất
Xuất xứ - Provenance: Mọi sản phẩm, tài sản đều có tài liệu hồ sơ kỹ thuật
số trong mạng lưới blockchain dé xác thực nguồn gốc của nó
Hợp đồng thông minh — Smart Contract: là một chương trình nhỏ được thựchiện hợp đồng (các tác vụ liên quan tới nghiệp vụ có tính thứ tự), smart
contract được thực thi mà không cần bên thứ ba Smart contract thay thế
nhu cầu về một hợp đồng thông thường với cơ chế bảo mật, độ tin cậy tốt
hơn và chỉ phí giao dịch phát sinh thấp Hợp đồng thông minh được mã
hóa, trong đó bao gồm các điều kiện về quy tắc, hành động, điều khoản sẽ
được áp dụng cho các bên tham gia giao dịch.
Ethereum
Blockchain 1.0 là nền tảng của Bitcoin, tiền điện tử đầu tiên được phát triển bởi
Nakamoto Ngoài tiền điện tử, Blockchain 2.0, cấp độ lớn tiếp theo trong sự pháttriển của công nghệ blockchain Được giới thiệu vào 2015 Ethereum được côngkhai với khái niệm hợp đồng thông minh, mở rộng phạm vi ứng dụng blockchain cóthể ứng dụng Ethereum được phát triển bơi Buterin, lấy cảm hứng từ Bitcoin, thuậttoán đồng thuận được Ethereum áp dụng là Proof-ofstake (PoS) được đánh giá làhiệu quả hơn Pow PoS phụ thuộc vào số lượng cổ phần mà những người tham gia
Trang 21nắm giữ dé chọn ngẫu nhiên người chiến thắng Ethereum có thé cho phép người
dùng thực hiện các hợp đồng thông minh và phát triển các ứng dụng liên quan đếntiền điện tử
3.2.2 HyperLedger Fabric
Hyperledger Fabric là một dự án Hyperledger về blockchain và các công cụ liênquan dưới sự tài trợ của Linux Foundation vào đầu năm 2016 Hiện nay dự án này
được đầu tư bởi IBM, Linux Foundation và các công ty khác Nền tảng này được
đánh giá là một nên tảng blockchain phát triển mạnh dưới sự đầu tư của IBM, nềntảng này cho phép phát triển trên một số ngôn ngữ lập trình thông dụng hiện nay
như NodeJs, Java, Go.
Đặc trưng của Hyperledger Fabric so với các mang khác là kiến trúc xác thựctrình thực thi Luỗng giao dich trong Hyperledger Fabric bao gồm 3 bước: thực hiện
giao dịch, đặt hàng và xác thực giao dịch Khác với các public blockchain, các nút
trong Hyperledger Fabric đều có một danh tính xác định có thể phân thành 3 vai trò
- Membership Service Provider (MSP): Nhà cung cấp dịch vụ thành viên
quản lý danh tính người dùng và kiểm soát quyền truy cập vào mạng
blockchain MSP sử dụng cơ quan cấp chứng chỉ (CA) để xác thực và xác
thực người dùng.
- Smart Contract (chaincode): Hợp đồng thông minh, còn được gọi là
chaincode, xác định vòng đời của một tài sản được duy trì word state.
Chaincode chứa các phương thức đề thực hiện thay đổi đối với nội dung và
Trang l6
Trang 22cũng để truy vấn trạng thái hiện tại của nội dung Nó là một thành phần
phần mềm được sử dụng trong Hyperledger Fabric, gói một hoặc nhiều hợpđồng thông minh lại với nhau để được cài đặt trên một kênh cụ thê Khi càiđặt mã chaincode, chính sách xác nhận cần phải được xác định, chính sáchnày sẽ quyết định các đồng nghiệp (tổ chức) nào có quyền xác nhận một
giao dịch trong hợp đồng thông minh đề nó được coi là hợp lệ và được cam
kết với số cái
Transactions: Giao dịch là một hành động được khách hàng yêu cầu thựchiện để thay đổi tài sản ở trạng thái hiện tại Một giao dịch có thể đọc hoặcghi trạng thái thế giới hiện tại và phải được xác thực theo chính sách xác
nhận như được định nghĩa trong chaincode
Blockchain Ledger: Blockchain là một số cái không thé thay đổi các giaodịch xảy ra trong kênh Bằng cách truy vấn số cái, khách hàng được ủyquyền có thê xem chuỗi giao dịch từ khi bắt đầu tài sản cho đến khi trạng
thái hiện tại của tài sản đó
World state: Trạng thái hiện tại của mỗi tài sản trong số cái Bằng cách truy
van world state, khách hàng có thé có được trạng thái hiện tại của nội dung.Channels: có thể tạo các kênh khác nhau trong Hyperledger Fabric, lớp này
cung cấp một lớp giao tiếp riêng biệt cho một nhóm người tham gia dé duy
trì sự riêng tư của thông tin liên lạc và dữ liệu
Các loại Blockchain
Public Blockchain: Đây là hệ thống blockchain mà tất các người dùng đượcquyền truy cập và đọc ghi dữ liệu mạng lưới, ai cũng được quyền truy cập vàomạng lưới và cũng được coi như là một nút ủy quyền trên mạng lưới Các giaodịch trên Blockchain này đòi hỏi rất nhiều nút tham gia vào quá trình xác thực
có thé hàng nghìn nút tham gia xác thực giao dịch Do đó dé tắn công vào manglưới Blockchain nay gần như là điều bất khả thi vì chi phí dé tan công hệ thốngrất cao Các public blockchain phỏ biến: Bitcoin, Ethereum
Private Blockchain: Đây là hệ thống blockchain chỉ cho phép người dùng được
ủy quyền quyền đọc dữ liệu, Các quyền ghi thuộc về bên thứ ba (thường là chủ
Trang 23sở hữu là doanh nghiệp hoặc cá nhân) Bên thứ ba này cũng có thể phần quyền
người dùng được đọc dữ liệu trong một số trường hợp Vì là một Private
Blockchain được một bên xác định ghi dữ liệu, cho nên thời gian xác nhận giao
dịch khá nhanh do chỉ cần một lượng nhỏ nút trên mạng lưới được ủy quyền
tham gia xác thực giao dịch.
- Consortium Blockchain: là một kết hợp giữa Private Blockchain và Public
Blockchain, mạng lưới có chain dàng cho private chain và chain dành cho
public chain, các dữ liệu trên public chain được quyền truy cập và đọc ghi tự do
và các dữ liệu trên private chain vẫn được kiểm soát bởi bên thứ 3 (phía doanhnghiệp hoặc cá nhân) Ví dụ: Các ngân hàng hay tổ chức tài chính liên doanh sẽ
sử dụng Blockchain cho riêng mình.
Tùy vào nhu cầu nhất định mà các ứng dụng blockchain linh động trong việclựa chọn loại blockchain để phát triển Đối với phạm vi dé tài và mục tiêu thửnghiệm và đưa ra mô hình kiến trúc phù hợp khi kết nối blockchain vào hệ thống,
đề tài lựa chọn private blockchain trong quá trình tích hợp dé thuận tiện cho quá
trình phát triển
3.4 Private blockchain và ứng dụng trong doanh nghiệp
Đối với Private blockchain có tốc độ xử lý giao dịch sẽ nhanh hon rat nhiều sovới Public Blockchain vì quá trình xác thực chỉ dựa vào các nút ủy quyên, tuy nhiênchỉ một số ít các bên được quyền ghi đữ liệu vào mạng lưới blockchain Đối với
private blockchain thì người dùng chỉ được đọc dữ liệu, và các dữ liệu được ghi trên
mạng lưới block chain hoàn toàn phụ thuộc vào bên thứ 3 Đơn cử cho mạng lưới
private blockchain trên thị trường là Ripple, một hình thức private blockchain.
Việc ghi dữ liệu phụ thuộc hoàn toàn vào bên thứ 3 có điểm mạnh là các thôngtin ghi trên mạng lưới được kiểm soát, tránh các thông tin nhạy cảm được ghi vàomạng lưới và không thể nào bị xóa bỏ Tuy nhiên điều này cũng ngược lại tất cả phụthuộc vào độ tin cậy của các nút được ủy quyên, điều này làm giảm độ bảo mật nếu
hệ thống càng ít nút, các nút được ủy quyền bị xâm hại càng cao và dễ bị thao túng
dữ liệu nhiều hơn
Trang 18
Trang 24Dựa vào đặc điểm của mình, private blockchain thường được áp dụng trong các
hệ thống doanh nghiệp Với việc tốc độ xử lý nhanh, chỉ phí giao dịch rẻ và quyền
kiểm soát phụ thuộc vào hệ thống của doanh nghiệp hoạt đơn vị vận hành giúp đỡ
trong việc kiểm soát mạng lưới Thêm vào đó dựa vào đặc tính mạng lưới có phânquyền đọc ghi nên hệ thống doanh nghiệp có thể kiểm soát trao quyền trên mạng
lưới Tuy nhiên vẫn còn một số cản trở nhất định, việc xây dựng mạng lưới ban đầu
khá cao Và thêm vào đó khi hệ thống được mở rộng và kết nối với các mạng khác,thì private blockchain sẽ không còn phù hợp nữa và cần cơ cấu lại thànhConsortium để đưa những dit liệu cần thiết trong việc chia sẻ lên onchain
3.5 Kiến trúc Microservices
Kiến trúc microservices là một tập hợp các dịch vụ nhỏ tự trị Mỗi dịch vụ này
là độc lập và triển khai trên một miền nhất định trong một ngữ cảnh ràng buộc Các
miền này có sự giới han và sự phân chia tự nhiên trong một doanh nghiệp có ranh
giới rõ ràng Các dịch vụ giao tiếp với nhau bằng cách sử dụng các API được xác
định rõ, chỉ tiết triển khai nội bộ của từng dịch vụ được ân khỏi các dịch vụ khác
Miroservices
Lợi ích của việc ứng dụng Microservices mang lại:
- Sự nhanh nhẹn: Vì microservices được triển khai độc lập nên việc quản lý
các bản sửa lỗi và bản phát hành tính năng sẽ dé dang hơn Bạn có thé cập
nhật dịch vụ mà không cần triển khai lại toàn bộ ứng dụng và khôi phục bancập nhật nếu có sự có Trong nhiều ứng dụng truyền thống, nếu lỗi được tìmthấy trong một phần của ứng dụng, nó có thể chặn toàn bộ quá trình phát
Trang 25hành Các tính năng mới có thể được giữ lại đê chờ bản sửa lỗi được tíchhợp, thử nghiệm và xuất bản.
- Nhóm nhỏ, tập trung: Một microservice phải đủ nhỏ dé một nhóm tính nangduy nhất có thể xây dựng, thử nghiệm và triển khai nó Quy mô đội nhỏthúc day sự nhanh nhẹn hơn Các nhóm lớn có xu hướng kém năng suất
hơn, vì giao tiếp chậm hơn, chỉ phí quản lý tăng lên và sự nhanh nhẹn giảm
đi.
- Cơ sở mã nhỏ: Trong một ứng dụng nguyên khối, có xu hướng theo thời
gian các phụ thuộc mã trở nên rối Thêm một tính năng mới yêu cầu phảichạm vào mã ở nhiều nơi Bằng cách không chia sẻ mã hoặc kho dữ liệu,
kiến trúc microservices giảm thiểu sự phụ thuộc và điều đó giúp việc thêm
các tính năng mới dễ dàng hơn.
- _ Hỗn hợp các công nghệ: Các nhóm có thé chọn công nghệ phù hợp nhất vớidịch vụ của họ, sử dụng kết hợp các công nghệ khi thích hợp.
- Cô lập lỗi: Nếu một microservice riêng lẻ không khả dụng, nó sẽ không làmgián đoạn toàn bộ ứng dụng, miễn là bat kỳ microservice nào ngược dòngđược thiết kế để xử lý các lỗi một cách chính xác (ví dụ: bằng cách thựchiện ngắt mạch).
- Khả năng mở rộng: Các dich vụ có thể được mở rộng quy mô một cách độclập, cho phép bạn mở rộng các hệ thống con yêu cầu nhiều tài nguyên hơn
mà không cần mở rộng toàn bộ ứng dụng Sử dụng một bộ điều phối như
Kubernetes hoặc Service Fabric, bạn có thể đóng gói mật độ dịch vụ caohơn vào một máy chủ duy nhát, điều này cho phép sử dụng tài nguyên hiệu
quả hơn.
- Cách ly dữ liệu: Việc thực hiện cập nhật lược đồ dé dàng hơn nhiều vì chỉ
một dịch vụ nhỏ duy nhất bị ảnh hưởng Trong một ứng dụng nguyên khối,
cập nhật giản đồ có thể trở nên rất khó khăn, vì các phần khác nhau của ứngdụng có thể chạm vào cùng một dữ liệu, khiến bất kỳ thay đổi nào đối vớilược đồ đều có rủi ro
Tuy nhiên để đạt được những ưu điểm trên Microservices cũng mang lại một sốthách thức và giới hạn nhất định cần phải cân nhắc:
Trang 20
Trang 26Tính phức tạp: Một ứng dụng microservices có nhiều bộ phận chuyền động
hơn so với ứng dụng nguyên khối tương đương Mỗi dịch vụ đơn giản hơn,nhưng toàn bộ hệ thống nói chung phức tạp hơn
Phát triên và thử nghiệm: Viết một dịch vụ nhỏ dựa vào các dịch vụ phụthuộc khác yêu cầu một cách tiếp cận khác với cách viết một ứng dụng
nguyên khối hoặc phân lớp truyền thống Các công cụ hiện tại không phải
lúc nào cũng được thiết kế để hoạt động với các phụ thuộc dịch vụ Việc tái
cấu trúc qua các ranh giới dịch vụ có thể khó khăn Việ kiểm tra sự phụ
thuộc của dịch vụ cũng là một thách thức, đặc biệt là khi ứng dụng đang
phát triển nhanh chóng
Thiếu quản trị: Cách tiếp cận phi tập trung để xây dựng microservices có
những ưu điểm, nhưng nó cũng có thể dẫn đến nhiều van đề Bạn có thé kếtthúc với rất nhiều ngôn ngữ và khuôn khổ khác nhau khiến ứng dụng trở
nên khó duy trì Có thể hữu ích nếu đưa ra một số tiêu chuẩn cho toàn dự án
mà không quá hạn chế tính linh hoạt của các nhóm Điều này đặc bi
dụng cho chức năng xuyên suốt như ghi nhật ký
Tắc nghẽn mạng và độ trễ: Việc sử dụng nhiều dịch vụ nhỏ, chỉ tiết có thểdẫn đến nhiều giao tiếp giữa các dịch vụ hơn Ngoài ra, nếu chuỗi phụthuộc dịch vụ quá dài (dich vu A gọi B, dịch vụ gọi C ), độ trễ bổ sung cóthể trở thành một vấn đề Bạn sẽ cần thiết kế các API một cách cẩn thận
Tránh các API quá trò chuyện, suy nghĩ về các định dạng tuần tự hóa và tìm
kiếm các địa điểm dé sử dụng các mẫu giao tiếp không đồng bộ như san lấpmặt bằng tải dựa trên hàng đợi
Tính toàn vẹn của dữ liệu: Với mỗi microservice chịu trách nhiệm về tính
ồn định của dữ liệu của chính nó Do đó, tính nhất quán của dữ liệu có thé
là một thách thức Nâng cao tính nhất quán cuối cùng nếu có thể
Quan lý: Đề thành công với microservices đòi hỏi một nền văn hóa DevOpstrưởng thành Việc ghi nhật ký liên quan đến các dịch vụ có thể là mộtthách thức Thông thường, việc ghi nhật ký phải tương quan với nhiều lệnh
gọi dịch vụ cho một thao tác của người dùng.
Trang 27-_ Phiên ban: Các cập nhật cho một dich vụ không được phá vỡ các dịch vụ
phụ thuộc vào nó Nhiều dịch vụ có thé được cập nhật bat kỳ lúc nào, vì vậy
nếu không có thiết kế can thận, bạn có thé gặp van dé với khả năng tương
thích ngược hoặc chuyền tiếp
- Bộ kỹ năng: Microservices là những hệ thống có tính phân tán cao Đánh
giá cân thận xem nhóm có đủ kỹ năng và kinh nghiệm đề thành công hay
không.
Đánh giá các mặt lợi hại và quy mô và lộ trình phát triển, việc ứng dụngMicroservice góp phần trong việc phát triển chuyên sâu các mô dun trên hệ thống,tính ồn định và khả năng mở rộng cao có thé tùy chỉnh các tính năng linh động
Microservices giúp tách biệt dịch vụ Blockchain thành một dịch vụ hỗ trợ
không làm phá vỡ hệ thống, các mô dun khác vẫn có thé phát triển một cách songsong, giảm thiểu tối đa khối lượng công việc thay đồi cấu trúc mã lệnh khi tích hopBlockchain và đội ngũ phát triển Blockchain không cần phải hiểu quá sâu nghiệp vụtrên hệ thống dé tích hợp
3.6 Elastic Search và ứng dụng trong cơ chế ghi log và báo cáo
Với lượng lớn giao dịch được thực hiện trên mạng lưới Blockchain hằng ngày,
việc theo doi hành vi trên mạng lưới và kiểm ra tính đúng đắng cũng như xem lại
lịch sử dữ liệu, báo cáo thống kê là vô cùng cần thiết Với khối lượng dữ liệu được
sinh ra liên tục gần như hệ thống log trên hệ thống, việc lưu trữ trên một cơ sở dữliệu quan hệ là không cần thiết và céng kénh khi lượng dữ liệu phát sinh quá lỡn,
chưa thực sự phù hợp cho việc báo cáo và theo dõi liên tục.
Đáp ứng các nhu cầu trên Elastic Search là một đại diện ưu tú cho việc theo dõi
log và báo cáo Được biết đến là một cơ sở dữ liệu mã nguồn mở và là top dau trong
các cơ sở đữ liệu được ưa chuộng nhất về revelance search engine Một số địnhnghĩa chỉ tết về Elastic Search:
- Elasticsearch là một search engine.
- Elasticsearch được phát triển từ Lucene Apache
Trang 22
Trang 28-_ Elasticsearch được phát triển trên nền tảng web application thông qua các
API theo chuẩn REST FULL
- Elasticsearch có khả năng phân tích cấu trúc dữ liệu để lưu trữ, và dùng
công cụ dé thống kê dữ liệu cực kỳ mạnh mẽ
- Elast arch có thể được triển khai server riêng hoặc dịch vụ cloud và
đồng thời giao tiếp thông qua REST FULL API vậy nên nó không quá phụ
thuộc vào client được viết bằng gì hoặc hệ thống hiện tại của bạn được viếtbằng gì Bởi vậy, việc tích hợp nó vào hệ thống sẽ trở nên dễ dàng hơn vàbạn chỉ cần thực hiện hành động gửi request http lên là nó sẽ trả về kết qua
- Elasticsearch có kha năng phân tan và mở rộng khả năng lưu trữ một cách
linh hoạt, đảm bảo tính toàn vẹn và khả dụng của dữ liệu.
- Elasticsearch là một opensource và được phát triển bằng Java
Ngoài ra Elastic Search còn mang lại các tiện ích mạnh mẽ như: khả năng tìm
kiếm mạnh mẽ dựa trên Apache Lucene, khả năng phân tích và tính toán bằng
histogram của dữ liệu và time series ngay tại máy chủ một cách nhanh chóng, việc
chủ động trong việc phân tách keywords thành token giúp tăng tối đa hiệu quả tìmkiếm và cuối cùng là nền tảng độc lập có thể tùy chỉnh tích hợp thông qua rest full
Mội số khái niệm liên quan tới Elastic Search:
- Document: Document là đơn vị lưu trữ cơ sở trong Elasticsearch, dit liệu
được lưu trữ dưới định dang JSON được lập chỉ mục dé tìm kiếm trongElasticsearch Các trường thông tin trong document sẽ được phân tích déphục vụ tìm kiếm một cách chính xác hơn trong Elasticsearch Khi dit liệuđược gửi lên Elasticsearch, dữ liệu sẽ được xử lý phân tích tuần tự hóa các
dữ liệu Json và lưu trữ trên các kho lưu trữ phân tán của mình.
- Index: Khái niệm Index trong các cơ sở dữ liệu quan hệ như SQL, Postgres,
được biết đến với mục tiêu đánh chỉ mục phục vụ việc tìm kiếm theo các
chỉ mục Thi trong Elasticsearch Index mang ý nghĩa hoàn toàn khác, Index
được hiểu là một tập hợp một bộ dữ liệu (Document) có cấu trúc giống
Trang 29nhau được lưu trữ trên Elasticsearch Index gần giống như table trong các
cơ sở đữ liệu quan hệ, tuy nhiên đây chỉ là định nghĩa về mặt logic về vật lý
thì dữ liệu trên Index sẽ không được lưu trữ trên cùng một không gian vật
lý mà sẽ được lưu trữ phân đoạn trên các node phân tán của Elasticsearch.
Node: Node là một đơn vị lưu trữ dữ liệu vật lý trong Elasticsearch, là cấp
lưu trữ vật lý cơ sở trong Elasticsearch, node lưu trữ thông tin các đoạn dữ
liệu của Index và các Document và các thao tác tìm kiếm cũng được thực
hiện trên Node Cơ cấu lưu trữ dữ liệu được mô tả như hình:
Server expects JSON
Š formatted documents Kime | „| asinput data
\ Single Node Cluster /
Hình 3 Cấu trúc lưu trữ trên ElasticsearchElasticsearch có thể cấu hình một node hoặc nhiều node trên trên một
Cluster, các node sẽ có Unique name đề phân biệt các node với nhau trong
quá trình xử lý.
Cluster: Cluster là một cụm các node trên Elasticsearch, các node này sẽ có
cùng thuộc tính cluster.name đề phân biệt cùng hoặc khác Cluster MỗiCluster sẽ có một tên định danh riêng để phân biệt trong quá trình xử lý.Việc định danh cluster trùng tên sẽ gây ra các lỗi cho node nhận nhầm cáccluster, vậy nên khi cài đặt cần đảm bảo các tên là duy nhất Mỗi mộtcluster sẽ có 1 node chính và được lựa chọn một cách tự động để có thể
thay thế nếu như sự cố xảy ra Mỗi cluster sẽ gồm 1 hoặc nhiều node, các
node này có thể hoạt động trên cùng một server hoặc cấu hình trên nhiềuserver khác nhau và có thể mở rộng theo chiều ngang hoặc doc tùy vào cầu
hình.
Shard: Shard là các đoạn dữ liệu theo chiều ngang của một Index, Mỗi
Shard sẽ lưu trữ thông tin của các Document thuộc Index lưu trữ Việc phân
Trang 24
Trang 30tách dữ liệu trên Index giúp cho việc lưu trữ dữ liệu trên nhiều Node và có
thể phân tán dữ liệu Vì vậy, một node có thể có nhiều Shard và đảm nhận
công việc lưu trữ dữ liệu Shard cho phép các index phân mảnh theo chiều
ngang mở rộng, và phân tán dữ liệu và chúng hoạt động song song trên các
đoạn trên các node, từ đó tăng khả năng tìm kiếm và tính toán trên các
node Shard có 2 loại: Primary Shard và Replica Shard phục vụ cho việc
phân tán đữ liệu và bảo toàn vẹn dữ liệu khi xảy ra sự cỗ.
3.7 Azure Service Bus và Redis Cache trong mô hình Mieroservices
Trong kiến trúc Microservice các dịch vụ là độc lập với nhau và giao tiếp với
nhau thông qua API Việc này đồng nghĩa với việc độ trễ trên các dịch vụ xảy ra
làm giảm hiệu năng của hệ thống Tiếp vào đó việc sử dụng Blockchain sẽ ảnh
hưởng khá lớn tới hiệu năng khi thời gian để ghi giao dịch trên mạng lưới
Blockchain chiếm thời gian không nhỏ
Giải pháp khắc phục, thay vì các hệ thống dịch vụ hoàn toàn bằng API, các hệthống dịch vụ có thê hoạt động bất đồng bộ có thê sử dụng bộ đôi Azure ServiceBus và Redis Cache dé quản lý phương thức giao tiếp bất đồng bộ giữa các dịch vụ
với nhau.
Azure Service Bus là dịch vụ hỗ trợ các dịch lưu trữ hoặc lan truyền các eventtheo các cơ chế lưu trữ và thông báo tới các client qua cơ chế Pup/Sub Kết hợp vớiAzure Service Bus là Redis Cache, nền tảng cơ sở dit liệu Redis cung cấp khả nanglưu trữ linh hoạt truy xuất nhanh chóng, làm bộ nhớ đệm dé lưu trữ các thông tintruyền tải giữa các dịch vụ trong Microservices Đối với hệ thống Blockchain, việclưu trữ thông tin giao dịch ngay lập tức là không cần thiết, việc đảm bảo dữ liệuđúng đắn và không thể thay đổi là vấn đề tiên quyết, việc chuyền đổi cơ chế lưu trữbat đồng bộ thông qua bộ đội Azure Service Bus và Redis Cache làm tối ưu hệ
thống và gần như không thấy sự khác biệt so với hệ thống không sử dụng
blockchain về hiệu năng
Việc sử dụng Azure Service Bus còn bồ trợ cho một yếu điểm của các services
trong kiến trúc Microservices đó là sự phức tạp trong quá trình tương tác của cácservices với nhau Azure Service Bus tạo ra một phương thức giao tiếp chung giữa
Trang 31các service và có cơ chế để kiếm soát khi các yêu cầu xử lý gặp sự cố hoặc cung cấp
cơ chế nhiều services cùng hoạt động trong các tác vụ lớn Hoặc trong các sự kiện
làm gián đoạn dịch vụ thì Azure Service Bus như là một phương án tối ưu đề lưu trữ
được cái thông tin yêu cầu còn cần phải xử lý mà không phải mat đi Tuy nhiênAzure Service Bus lại không thật sự hiệu quả trong việc xử lý các tác vụ đồng bộ,
vậy nên cần linh động trong việc tích hợp dịch vụ khi phù hợp
Trang 26
Trang 32Chương 4 HỆ THÓNG QUẢN LÝ, TƯ VẤN CHĂM SÓC SỨC KHỎE
4.1 Tổng quan hệ thống
Trong phạm vi đề tài, sản phẩm phát triển thử nghiệm và tập trung vào các
module ứng dụng hỗ trợ tư vấn chăm sóc sức khỏe và liên kết với hệ thống nhà
thuốc và được sĩ, bác sĩ Cùng với đó là xây dựng nên một kiến trúc sử dụng các
công nghệ hiện đại được hiểu như là một phương án đề xuất tối ưu khi tích hợpBlockchain vào một hệ thống, cũng như là phương pháp giao tiếp giữa hệ thống vàBlockchain, cách theo dõi và kiểm soát dữ liệu hệ thống dam bảo hệ thống không bị
trì trệ và giảm hiệu năng.
Đề tài cũng đề ra phương án xây dựng kiến trúc kết hợp các công nghệ phù hợp
có thể hỗ trợ tối đa cho công nghệ blockchain để nâng cao tính hiệu quả khi tích
hợp Kèm theo công nghệ là xây dựng hệ sinh thái về y té hd trợ cho việc tư vấn
chăm sóc sức khỏe cộng đồng
4.2 Mục tiêu hệ thống
Trong phạm vi dé tài, sản phẩm mang tính chat thử nghiệm nền tảng tư van sức
khỏe online thuận tiện cho người sử dụng, hỗ trợ bệnh nhân trong việc khám chữa
bệnh một cách thuận tiện, xây dựng hệ sinh thái khám chữa bệnh linh động và hiệu
quả.
Nâng cấp cải tiến so với các sản phẩm truyền thống, ứng dụng blockchain và
tính khả dụng của nền tảng công nghệ này trong các hệ thống doanh nghiệp thay vì
chỉ được biết đến trong lĩnh vực tài chính
Tối ưu hệ thống khi tích hợp công nghệ Blockchain vào các nền tảng, giảmthiểu tối đa việc hạn chế hiệu năng hệ thống tuy nhiên vẫn giữ được tính bảo mật
vốn có và đảm bảo thông tin của hệ thống
Cung cấp một kiến trúc phần mềm hiệu quả có thể mở rộng và phát triển một
cách linh hoạt, tối ưu hóa các hệ thống báo cáo và kiểm soát hệ thống thông qua các
công nghệ mới nhất đến từ Elastic Search và kiến trúc Microservices Cung cấp
Trang 33dịch vụ kiểm trang theo dõi mạng lưới Blockchain một cách nhanh chóng và hiệu
quả.
4.3 Phân tích thiết kế nghiệp vụ hệ thống
Dựa theo xu thế công nghệ và phân tích các ưu nhược điểm khi phát triển hệ
thống Đề tài đề xuất xây dựng kiến trúc hệ thống với kiến trúc Microservices, trong
đó blockchain là một services riêng biệt xử lý tách biệt trong việc đưa dit liệu hệ
thống lên mạng lưới blockchain cũng như là truy cập và theo dõi dữ liệu trên mạng
lưới blockchain.
Hệ thống được phân chia thành các dịch vụ nhỏ đảm bảo các tác vụ đặc thù:
- HealthCareService: Dịch vụ đảm bảo các tác vụ liên quan tới đặt lich tư vấn
sức khỏe, hoạt động mua bán thuốc, quản lý cập nhật hỗ sơ bệnh án.
- CoreService: Dịch vụ đảm bảo các tác vụ cơ bản của hệ thống như truy cập
và quản lý các các thông tin nền tảng như danh sách bệnh viện, nhàthuốc
- Blockchain Service: Dịch vụ liên quan tới các tác vụ với blockchain như
đọc ghi dữ liệu trên mạng lưới
- NotificationService: Dịch vụ đảm nhận vai trò điều chuyền và gửi thôngbáo tới các thiết bị sử dụng hệ thống
Theo như dịch vụ đã được phân chia, blockchain service được xem như dịch vụ
trung gian bổ trợ cho hệ thống đảm nhận việc đọc ghi dữ liệu lên mạng lướiblockchain, dịch vụ này được hoạt động bất đồng bộ thông qua API gateway hoặcAzure Message Bus Với thiết kế trên khi Xảy ra Sự cố tại mạng lưới blockchainhoặc linh động trong việc đọc ghi dữ liệu lên hệ thống blockchain sẽ không làmgián đoạn hệ thống và tăng tốc độ phản hoi của hệ thống
Vé tính năng, đề tài tập trung vào 2 tính năng chính: Đăng ký tư vấn khám chữa
bệnh và đăng ký mua thuốc
Trang 28
Trang 34- _ Đăng ký tư vấn khám chữa bệnh:
ĐẶT LỊCH TƯ VẤN DANH SÁCH DƯỢC SĨ TƯ VẤN
Hình 4 Ví dụ tính năng đăng ký lịch tư vấn
age om
2 © J cho bệnh, |
-cM SẺ C2 Cơ
wean Jo z stan
crit enc
Hình 5 Mô tả quy trình đăng ky tư van khám chữa bệnh
Tại quá trình đăng ký khám chữa bệnh, đầu tiên người dùng thực hiện đăng kýcác thông tin về hồ sơ bệnh án và thời gian khám chữa bệnh Hệ thống sẽ xử lý
thông tin thong bao đến dược si/bac sĩ để xác nhận lịch rình, sau khi xác nhận hệ
thống thực hiện song song và bat déng bộ việc lưu trữ dữ liệu lên blockchain thôngqua gửi tin nhắn đến Azure Services Bus để Blockchain Service có thể thực hiện, vàcùng với đó hệ thống cũng thông báo trạng thái xác nhận đến người dùng