YÊU CẦU KỸ THUẬT ĐỐI VỚI PHÂN HỆ HIỂN THỊ MÃ QR CÁ
NHÂN THUỘC CÁC NỀN TẢNG, ỨNG DỤNG PHÒNG, CHỐNG DỊCH COVID-19 (Phiên bản 1.1)
(Kèm theo Quyết định số: /QĐ-BTTTT ngày / /2021 của Bộ Thông tin và Truyền thông)
DANH MỤC TỪ NGỮ
VIẾT TẮT VÀ GIẢI THÍCH TỪ NGỮ
Mã QR cá nhân | Mã QR (Quick
Response) gắn với mỗi cá nhân sử dụng các nền tảng, ứng dụng phục vụ phòng,
chống dịch Covid-19 |
Nền tảng QRQG | Nền tảng quốc gia
quản lý người dùng và mã QR cá nhân thống nhất phục vụ phòng, chống dịch
Covid-19 |
QID | Mã người dùng là một
thành phần trong Mã QR cá nhân, được nền tảng QRQG sinh ra và cấp phát cho
các ứng dụng phòng, chống dịch Covid-19 |
CCCD | Căn cước công dân |
CMND | Chứng minh nhân dân |
HTTPS | Hyper Text Transfer
Protocol Secure (giao thức truyền tải siêu văn bản bảo mật) |
API | Application
Programming Interface - là giao diện lập trình ứng dụng, đóng vài trò làm
phương thức trung gian kết nối các ứng dụng và thư viện khác nhau |
BHYT | Bảo hiểm y tế |
I. MỤC ĐÍCH BAN
HÀNH
Tài liệu này quy định
về các yêu cầu kỹ thuật đối với phân hệ hiển thị mã QR cá nhân, hướng dẫn về
việc cấp và sử dụng mã QR cá nhân trong các nền tảng, ứng dụng công nghệ phục
vụ phòng, chống dịch Covid-19.
Mỗi cá nhân sử dụng
các nền tảng, ứng dụng phòng, chống dịch Covid-19 được cấp một mã QR cá nhân.
Mã QR cá nhân có thể được sử dụng để cá nhân, tổ chức có thẩm quyền đọc và truy
vấn các dữ liệu liên quan phục vụ công tác phòng, chống dịch, bệnh Covid-19.
Việc hiển thị và sử
dụng một mã QR cá nhân thống nhất trong tất cả các nền tảng, ứng dụng nhằm tạo
thuận lợi tối đa cho mỗi người dân và các cơ quan, tổ chức khi thực hiện các
nghiệp vụ phòng, chống dịch Covid-19. Người dân có thể lựa chọn cài đặt, sử
dụng nền tảng, ứng dụng có cung cấp mã QR cá nhân phù hợp với nhu cầu và không
cần cài đặt nhiều ứng dụng khác nhau.
Các nền tảng, ứng dụng
khi triển khai phục vụ công tác phòng, chống dịch Covid-19 cần đáp ứng các yêu
cầu kỹ thuật trong tài liệu này.
Các nền tảng phục vụ
việc cung cấp, quản lý mã QR cá nhân cần tuân thủ Quy chế số 733/QC-BCĐ ngày
13/5/2020 của Ban chỉ đạo quốc gia phòng, chống dịch bệnh Covid-19 về quản lý
dữ liệu y tế của người khai báo y tế từ các phần mềm phục vụ công tác phòng,
chống dịch bệnh Covid-19.
II. HƯỚNG DẪN VỀ
VIỆC SỬ DỤNG MÃ QR CÁ NHÂN
1. Cấu trúc mã QR
cá nhân
Mỗi mã QR cá nhân có
định dạng là một chuỗi các ký tự có cấu trúc. Cụ thể như sau:
- Cấu trúc:
SoGiayTo|HoTen|NgaySinh|LoaiDinhDanh|QID|EXT
- Ví dụ:
001093029317|NGUYEN LE KHA
HAN|1987-01-18|0|162979388586171100|<1
Trong đó:
STT | Tên trường | Giải thích | Ghi chú |
1 | SoGiayTo | Số giấy tờ cá nhân
của người dân (số CCCD, CMND, số hộ chiếu). Trên các nền tảng,
ứng dụng phòng, chống dịch Covid-19, hỗ trợ hiển thị số giấy tờ cá nhân ở hai
chế độ: - Chế độ hiển thị
mặc định: Số giấy tờ cá nhân ẩn bớt 6 ký tự đầu tiên bằng cách thay thế bằng
ký tự dấu sao (*). - Chế độ hiển thị
đầy đủ: hiển thị đầy đủ số giấy tờ cá nhân. Các nền tảng, ứng
dụng phòng, chống dịch Covid-19 cần có chức năng để người dùng có thể lựa
chọn chuyển đổi nhanh các chế độ hiển thị nói trên. | Bắt buộc hiển thị
với QR cá nhân có được bởi người dùng tự khai. Không bắt buộc hiển
thị với QR cá nhân có được bởi người dùng được khai hộ. |
2 | HoTen | Họ và tên người dân,
viết hoa, không dấu, mỗi từ cách nhau bởi 01 ký tự khoảng trắng (space). | Bắt buộc |
3 | NgaySinh | Chuỗi ngày tháng năm
sinh theo định dạng: YYYY-MM-DD. Trên các nền tảng,
ứng dụng phòng, chống dịch Covid-19, hỗ trợ hiển thị chuỗi ngày tháng năm
sinh ở hai chế độ: - Chế độ hiển thị
mặc định: chuỗi ngày tháng năm sinh ẩn bớt các ký tự ngày và tháng bằng cách
thay thế bằng ký tự dấu sao (*). - Chế độ hiển thị
đầy đủ: hiển thị đầy đủ chuỗi ngày tháng năm sinh. Các nền tảng, ứng
dụng phòng, chống dịch Covid-19 cần có chức năng để người dùng có thể lựa
chọn chuyển đổi nhanh các chế độ hiển thị nói trên. | Bắt buộc |
4 | LoaiDinhDanh | Loại định danh gồm
các giá trị quy ước: - 0: Người dùng tự
khai; - 1: Người dùng khai
hộ. | Bắt buộc |
5 | QID | Mã người dùng do nền
tảng QRQG cấp, kiểu dữ liệu là chuỗi ký tự | Bắt buộc |
6 | EXT | Các giá trị mở rộng
khác như: 1) QID của người
khai hộ (trong trường hợp là mã QR cá nhân có được bởi người dùng khai hộ). 2) Giới tính (theo QCVN
109:2017/BTTTT); 3) Mã số thẻ BHYT; 4) Số điện thoại
(gồm 10 ký tự số); 5) Chữ ký điện tử… và các thông tin
khác theo nhu cầu thực tiễn. | Tuỳ chọn và các giá
trị theo thứ tự được phân định nhau bởi dấu “<” |
2. Mô hình cung cấp
và quản lý mã QR cá nhân
Hình vẽ sau thể hiện mô
hình của việc cung cấp và quản lý mã QR cá nhân trên các nền tảng, ứng dụng
phục vụ phòng, chống dịch Covid-19.
Mô hình tổng quan hệ thống
Trong mô hình trên,
các thành phần cụ thể gồm có:
- Các ứng dụng phòng,
chống dịch Covid-19 là các nền tảng, ứng dụng phục vụ phòng, chống dịch
Covid-19 do Ban chỉ đạo quốc gia phòng, chống dịch Covid-19, Bộ Y tế, Bộ Thông
tin và Truyền thông triển khai hoặc các ứng dụng do các bộ, ngành, địa phương,
doanh nghiệp triển khai;
- Nền tảng QRQG là nền
tảng do Bộ Thông tin và Truyền thông xây dựng và quản lý;
- Nguồn thông tin xác
thực là hệ thống do một số bộ, ngành, cơ quan trung ương xây dựng và quản lý
phục vụ việc xác thực thông tin người dùng thuộc các nền tảng, ứng dụng phòng,
chống dịch Covid-19;
- Quy trình trao đổi
dữ liệu giữa các thành phần:
(1) Các ứng dụng
phòng, chống dịch Covid-19 gửi yêu cầu cấp QID và QR cá nhân đến nền tảng QRQG;
(2) Nền tảng QRQG tiến
hành gửi dữ liệu cần xác thực đến Nguồn thông tin xác thực;
(3) Nguồn thông tin
xác thực gửi lại kết quả xác thực;
(4) Nền tảng QRQG gửi
trả QID và QR cá nhân hoặc thông báo thông tin chưa chính xác đến các ứng dụng
phòng, chống dịch Covid-19.
- Việc trao đổi dữ
liệu giữa các thành phần trong mô hình được thực hiện thông qua các phương thức
đảm bảo an toàn, bảo mật thông tin.
3. Cung cấp QID từ
nền tảng QRQG
Mỗi nền tảng, ứng dụng
khi triển khai phục vụ công tác phòng, chống dịch Covid-19 cần cung cấp một mã
QR cá nhân thống nhất, theo cấu trúc tại mục II.1 và được cấp từ nền tảng QRQG.
Nền tảng QRQG cung cấp
cho các ứng dụng phòng, chống dịch Covid-19 dịch vụ đăng nhập và cấp mã QR cá
nhân nói trên từ một số tham số đầu vào thông qua API REST service.
- Đặc tả đầu vào API
TT | Tham số | Định dạng | Mô tả |
1 | HoTen (*) | String | Họ và tên người dân,
viết hoa, mỗi từ cách nhau bởi 01 ký tự khoảng trắng (space). Lưu ý: Họ và tên bao
gồm cả dấu. |
2 | NgaySinh (*) | String | Chuỗi ngày tháng năm
sinh của người dân tự khai (hoặc người được khai hộ trong trường hợp khai hộ)
theo định dạng: YYYY-MM-DD |
3 | SoGiayTo | String | Trong trường hợp
người dân tự khai: Số giấy tờ cá nhân là của người dân tự khai (số CCCD,
CMND, số hộ chiếu) và là thông tin bắt buộc. Trong trường hợp
khai hộ cho người khác: Số giấy tờ cá nhân là của người được khai hộ và là
thông tin không bắt buộc. |
4 | LoaiDinhDanh (*) | Integer | Loại định danh, kiểu
số nguyên, gồm các giá trị quy ước như sau: - 0: Người dân tự
khai; - 1: Người dân khai
hộ cho người khác. |
5 | SoDienThoai | String | Trong trường hợp
người dân tự khai: Số điện thoại của người dân tự khai (theo định dạng bắt
đầu bằng số 0) và là thông tin bắt buộc. Số điện thoại đã được xác thực tại
ứng dụng phòng, chống dịch Covid-19. Trong trường hợp
khai hộ cho người khác: Số điện thoại của người được khai hộ (theo định dạng
bắt đầu bằng số 0) và là thông tin không bắt buộc. |
6 | GioiTinh (*) | String | Giới tính của người
dân tự khai (hoặc người được khai hộ trong trường hợp khai hộ) gồm các giá
trị quy ước như sau: 0: Chưa có thông
tin; 1: Giới tính nam; 2: Giới tính nữ. |
7 | QIDKhaiHo | String | Trong trường hợp
người dân tự khai: Giá trị rỗng. Trong trường hợp
người dân khai hộ cho người khác: Giá trị QID của người khai hộ và là thông
tin bắt buộc. |
- Đặc tả đầu ra API
TT | Tên trường | Định dạng | Mô tả |
1 | ResultCode | String | Mã lỗi: xem bảng chi
tiết mã lỗi ở mục II.5 |
2 | ResultMessage | String | Mô tả lỗi |
3 | ResultData | Object JSON | Là một đối tượng gồm
các thuộc tính: QID: mã người dùng do
nền tảng QRQG cấp. QRCode: mã QR của
người dân. |
4. Xác thực thông
tin khai báo của cá nhân
Mỗi người dân khai báo
thông tin trên các nền tảng, ứng dụng phục vụ phòng, chống dịch Covid-19 sẽ
được nền tảng QRQG xác thực.
Nếu thông tin người
dân khai báo là chính xác, thông tin đó sẽ được cập nhật vào nền tảng. Nếu
thông tin không chính xác, ứng dụng phòng, chống dịch Covid-19 thông báo để
người dân biết, cập nhật thông tin khai báo.
Nền tảng QRQG cung cấp
cho các ứng dụng phòng, chống dịch Covid-19 dịch vụ xác thực thông tin nói trên
từ một số tham số đầu vào thông qua API REST service.
Lưu ý: nền tảng QRQG
không thực hiện xác thực các trường hợp khai hộ.
- Đặc tả đầu vào API
TT | Tên trường | Định dạng | Mô tả |
1 | ListXacThuc | Array | Danh sách các đối
tượng chứa thông tin người dân cần xác thực, mỗi đối tượng gồm các thuộc
tính: - SoGiayTo (*): String - số CCCC/CMND; - HoTen (*): String - Họ và tên người dân, viết hoa, không
dấu, mỗi từ cách nhau bởi 01 ký tự khoảng trắng (space); - NgaySinh (*): String - ngày tháng năm sinh theo định dạng:
YYYY-MM-DD; - GioiTinh (*): String - Giới tính của người dân gồm các giá trị
quy ước như sau: 0: Chưa có thông tin; 1: Giới tính nam; 2: Giới tính nữ. - QuocTich: String - mã quốc gia theo TCVN 7217-1:2007; |
- Đặc tả đầu ra API
TT | Tên trường | Định dạng | Mô tả |
1 | ResultCode | String | Mã lỗi: xem bảng chi
tiết mã lỗi ở mục II.5 |
2 | ResultMessage | String | Mô tả lỗi |
3 | ResultData | Array | Danh sách các đối
tượng chứa thông tin người dân đã được xác thực, mỗi đối tượng gồm các thuộc
tính: - SoGiayTo: String - số CCCC/CMND/Hộ chiếu của người dân được
gửi yêu cầu xác thực; - HoTen: String - Họ và tên, viết hoa, không dấu, mỗi từ
cách nhau bởi 01 ký tự khoảng trắng (space) của người dân được gửi yêu cầu
xác thực; - NgaySinh: String - ngày tháng năm sinh theo định dạng:
YYYY-MM-DD của người dân được gửi yêu cầu xác thực; - QuocTich: String - mã quốc gia theo TCVN 7217-1:2007 của
người dân được gửi yêu cầu xác thực; - GioiTinh: String - Giới tính của người dân được gửi yêu cầu
xác thực; - KetQuaXacThuc: Integer - kết quả xác thực, gồm các giá trị quy
ước như sau: 0: Đúng thông tin 1: Sai thông tin 2: Không tồn tại
(kiểm tra theo CCCD/CMT/hộ chiếu) 3: Lỗi không xác
định 4: Chưa xác thực |
5. Bảng mô tả chi
tiết mã lỗi
Mã lỗi | Mô tả |
0 | Thành công |
1 | Access token không
hợp lệ |
2 | IP không hợp lệ |
3 | Số giấy tờ không hợp
lệ |
4 | Loại giấy tờ không
hợp lệ |
5 | Ngày sinh không hợp
lệ |
6 | Họ tên không hợp lệ |
7 | Lỗi không xác định |
III. TỔ CHỨC THỰC
HIỆN
Các nền tảng, ứng dụng
phục vụ phòng, chống dịch Covid-19 trước khi triển khai cần được Bộ Thông tin
và Truyền thông và Bộ Y tế đánh giá đáp ứng yêu cầu kỹ thuật tại tài liệu này.
Nền tảng, ứng dụng
phục vụ phòng, chống dịch Covid-19 đáp ứng yêu cầu kỹ thuật được công bố tại
website: https://covid19.tech.gov.vn.
Đầu mối tổ chức việc
tiếp nhận và đánh giá là Trung tâm Công nghệ phòng, chống dịch Covid-19 quốc
gia./.