taivnn9 / PACS-Task

0 stars 0 forks source link

176440 PACS nguồn mở: 1.Thêm giao diện quản lý license #4

Open taivnn9 opened 3 weeks ago

taivnn9 commented 3 weeks ago

Mõi CSKCB được mặc đinh 2 license viewer chạy vĩnh viễn: license này vẫn phải gửi thông tin key để đăng ký, có thời gian vô hạn Key dùng để check license dựa vào thông tin: địa chỉ MAC, thông tin MAIN, thông tin CPU, Mã CSKCB

các thông tin cần quản lý:

A. license PACS

  1. Chạy trang RIS → đọc thông tin phần cứng tại máy đó: địa chỉ MAC, thông tin MAIN, thông tin CPU… (có thể các thông tin khác, miễn sao bv dùng bản ghost thì không bị trùng thông tin là được) + “PACS”
  2. Generate ra key từ các thông tin trên
  3. Check thông tin key này tại lên server PACS của bệnh viện, xem có license hay chưa, nếu chưa có license thì qua bước 4, 5, nếu đã có license thì check xem date của license trên server của cty
  4. Gửi thông tin Key, MAC, Main,CPU lên PACS server của công ty
  5. Thêm màn hình: nhập license

B. License Dicomviewer

  1. Chạy trang vspviewer → đọc thông tin phần cứng tại máy đó: địa chỉ MAC, thông tin MAIN, thông tin CPU… (có thể các thông tin khác, miễn sao bv dùng bản ghost thì không bị trùng thông tin là được) + "viewer"
  2. Generate ra key từ các thông tin trên
  3. Check thông tin key này tại lên server PACS của bệnh viện, xem có license hay chưa, nếu chưa có license thì qua bước 4, 5, nếu đã có license thì check xem date của license trên server của cty
  4. Gửi thông tin Key, MAC, Main,CPU lên PACS server của công ty
  5. Thêm màn hình: nhập license

C. Thêm màn hình tạo license từ key:

  1. Màn hình này giao diện độc lập với PACS, chỉ người cty nắm, không bàn giao xuống viện
  2. Màn hình này sẽ gennerate ra key từ các thông tin : MAC, Main, CPU, macskcb → đối chiếu với key của client gửi lên xem hợp lệ không, nếu hợp lệ → tạo chuỗi license
  3. Nếu mã cskcb đó đã có 2 license view có thời hạn vĩnh viễn, thì license thứ 3 bắt buộc phải có thời hạn
  4. License PACS thì luôn luôn có thời hạn
Trongkd1211 commented 1 day ago

Estimate: CRUD cho hệ thống new application: 24h implement thuật toán bảo mật cho license: 16h implement checking license cho API RIS: 24h implement authentication cho hệ thống manage license: 16h

Trongkd1211 commented 1 day ago

QnA DB sử dụng sẽ là DB gì? Infra triển khai module quản lý license sẽ như nào?

Trongkd1211 commented 1 day ago

QnA luồng:

taivnn9 commented 3 hours ago

Cập nhật luồng hoạt động. Luồng đăng ký

  1. lúc đk mới. Ktv nhập mã cskcb lên phần mềm (1), ấn Gen, phần mềm tạo ra key. Gọi tạm nó là machine-key. (Nó sẽ có data của Serial máy + Mã cskcb + PACS hoặc Viewer)
  2. ktv gửi key này cho nhân viên vs. Nhân viên vs nhập vào web quản lý lisence (2). Web này sẽ parse các data, lưu vào db, và tạo 1 key khác, gọi là pacs-key hoặc viewer-key
  3. Nhân viên vs đưa lại cho ktv, ktv nhập vào màn hình đk. Phần mềm check machine-key và pacs/viewer-key khớp với nhau ở 1 số data.

Luồng gia hạn

  1. Khi cần gia hạn. KTV gửi machine-key. Nhân viên VS gen lại pacs/viewer-key và gửi lại.

Yêu cầu phần mềm:

  1. Giao diện nhập Mã CSKCB, Chọn loại lisence (PACS hay Viewer)
  2. Lấy Serial number từ máy
  3. Tạo machine-key (key này luôn giữ lại). Dùng thuật toán Mã hóa để KTV không nắm được quy luật
  4. Giao diện nhập lisence
  5. machine-key đủ đơn giản để KTV nhìn và gửi lại cho nhân viên VS
  6. Phần mềm có thể là web app. Để KTV không phải thực hiện trực tiếp trên máy

Luồng khi hết hạn/ gia hạn bản quyền

Khi hết hạn bản quyền, phần mềm vẫn cho phép dùng tiếp 30 ngày, nhưng

Sau 30 ngày. Phần mềm trên server sẽ stop các container lại.

Sau khi gia hạn bản quyền

Chú thích (1) Phần mềm: nằm ở server viện, có thể là web(recommend) hoạc app (2) web quản lý lisence: nằm ở server VS, là web