Page 318 - SDMD CNKT va CNTT trong tien trinh CNH_HDH DBSCL
P. 318
người dùng đối với token để kết nối với kênh (channel) tương ứng với tổ chức.
Tiếp theo, nếu kết nối được thiết lập thành công, máy chủ có thể gọi chaincode
tương ứng với HTTP request và trả về kết quả thông qua HTTP response.
Cuối cùng, một mạng blockchain dựa trên nền tảng Hyperledge Fabric được
xây dựng và khởi động bằng Docker với các thành phần chính: Organization,
CA, Kênh, Peer, Chaincode và Ledger.
Sau khi nhận được dữ liệu trả về từ dịch vụ Web, Dispatcher sẽ gửi dữ
liệu và hành động đến Reducer. Ở đây, Reducer sử dụng action và data từ
Dispatcher và kết hợp nó với state cũ để tạo ra một state mới. Sau đó, Reducer
thông báo chế độ xem để cập nhật giao diện.
Python Web Service cung cấp các API được viết bằng khung Django
REST (Django Software Foundation, 2019) theo kiến trúc RESTful để quản
lý các đối tượng cơ bản của hệ thống: thuốc, bệnh, người dùng, thông tin khám
bệnh, phòng khám, khoa điều trị, dịch vụ lâm sàng sẵn sàng và hồ sơ cá nhân.
Dữ liệu đính kèm là chi tiết thuốc ở định dạng JSON. Đầu tiên, DRF sẽ kiểm
tra xem URL có hợp lệ hay không. Nếu hợp lệ, nó sẽ chuyển sang chế độ xem.
Tại đây, xác thực JWT thực hiện xác thực yêu cầu. Nếu hợp lệ, nó sẽ chuyển
sang Serializer, nơi Serializer chuyển đổi dữ liệu từ JSON sang Python. Tiếp
theo, Model tạo một hàng mới trong cơ sở dữ liệu trong bảng Medicine và trả
về dòng dữ liệu mới được tạo cho Serializer trong Python. Tiếp theo, Serializer
sẽ chuyển đổi kết quả thành JSON và trả về chế độ xem. Cuối cùng, view sẽ
trả về kết quả tương ứng cho yêu cầu dưới dạng HTTP response.
Quy trình tạo bệnh án được mô tả như sau. Giả sử bác sĩ Nguyễn Văn
A tạo bệnh án cho bệnh nhân John, Bác sĩ Nguyễn Văn A sẽ nhập hồ sơ bệnh
án (bản rõ M). Sau đó, một khóa đối xứng được tạo ngẫu nhiên (SK) dựa trên
hệ thống mật mã AES-256 với độ dài khóa là 256 bits. Bác sĩ Nguyễn Văn A
có thể sử dụng khóa đối xứng (SK) này để mã hóa dữ liệu bệnh nhân và lưu
thông tin hồ sơ bệnh án được mã hóa (C) vào Blockchain. Bác sĩ Nguyễn Văn
A cũng có thể sử dụng "public_key_Nguyen Van A" của riêng mình để mã
hóa khóa đối xứng (SK) và lưu nó trong việc chia sẻ phi tập trung hồ sơ bệnh
án trên blockchain. Đồng thời, bác sĩ Nguyễn Văn A cũng sử dụng
"public_key_John" của bệnh nhân John để mã hóa dữ liệu khóa đối xứng (SK)
và lưu lại trong việc chia sẻ phi tập trung hồ sơ bệnh án trên blockchain để
chia sẻ hồ sơ bệnh án sau này.
Quy trình chia sẻ hồ sơ bệnh án điện tử được mô tả như sau. Giả sử bác
sĩ Nguyễn Văn A cần chia sẻ hồ sơ bệnh án khi bệnh nhân muốn chuyển bệnh
304