Giới thiệu
Hoàn thành bảng câu hỏi là một nhiệm vụ cốt lõi đối với hầu hết nhân viên chăm sóc sức khoẻ sử dụng ứng dụng sức khoẻ trên thiết bị di động.
Việc nhập dữ liệu có thể khó khăn và xảy ra lỗi. Mục tiêu của chúng tôi với thư viện Thu thập dữ liệu có cấu trúc (SDC) và nguyên tắc thiết kế là giúp bạn cải thiện trải nghiệm người dùng khi nhập dữ liệu và chất lượng của dữ liệu đã thu thập.
Phần này trình bày 4 chủ đề:
Bố cục và điều hướng
Bố cục phân trang và cuộn dài

SDK FHIR của Android có 2 tuỳ chọn bố cục để bạn lựa chọn:
- Cuộn dài (mặc định)
- Được đánh số trang
Bảng câu hỏi cuộn dài hiển thị tất cả các câu hỏi trên một trang và người dùng chuyển đến từng câu hỏi bằng cách cuộn.
Bảng câu hỏi được phân trang sẽ hiển thị nội dung trên các trang riêng biệt. Các câu hỏi hoặc trường nhập dữ liệu liên quan có thể được nhóm lại với nhau trên một trang. Nút quay lại và nút tiếp theo được neo vào cuối trang để di chuyển giữa các trang.
Tìm hiểu cách phân trang bảng câu hỏi trên GitHub
Bạn nên chọn bố cục nào?
Mỗi lựa chọn bố cục đều có ưu và nhược điểm riêng. Dưới đây là một số thuộc tính của từng loại bố cục để bạn xem xét khi lựa chọn bố cục sẽ sử dụng.
Cuộn lâu | Được đánh số trang | |
---|---|---|
Tốc độ di chuyển | Điều hướng nhanh hơn | Điều hướng chậm hơn |
Điều hướng chính xác | Điều hướng kém chính xác hơn | Điều hướng chính xác hơn |
Tập trung vào câu hỏi sau khi chuyển nhiệm vụ | Khó điều chỉnh lại sau khi bị gián đoạn | Dễ dàng xác định lại hướng dẫn sau khi bị gián đoạn |
Hoàn thành bảng câu hỏi kỹ thuật số sau khi truy cập (sao chép từ giấy) | Sao chép từ giấy dễ dàng hơn | Khó sao chép từ giấy hơn |
Màn hình nhỏ | Tệ đối với màn hình nhỏ | Phù hợp hơn với màn hình nhỏ |
Hỗ trợ tiếp cận | Tệ hơn về khả năng hỗ trợ tiếp cận. Khó điều hướng. | Cải thiện khả năng hỗ trợ tiếp cận. Các màn hình rời rạc có thể được xử lý bằng trình đọc màn hình, tính năng chuyển văn bản sang lời nói và các công nghệ khác. |
Không gian để xem hướng dẫn và nội dung giải thích | Không cần hướng dẫn và hướng dẫn | Tốt hơn để có hướng dẫn và hướng dẫn |
Cuộn lâu

Đánh số các câu hỏi để dễ thao tác hơn theo một bố cục trang duy nhất.

Thu nhỏ kích thước phông chữ của tiêu đề câu hỏi khi sử dụng thanh cuộn dài để nhiều nội dung hơn hiển thị trên màn hình. Ví dụ: Cuộn dài là 16px. Được phân trang là 28 px.
Phân trang

Bàn phím, trình đơn thả xuống và các thành phần khác chiếm không gian trên trang, vì vậy, hãy đặt một câu hỏi trên mỗi trang.

Nội dung phải hiển thị trong màn hình đầu tiên.

Ví dụ: Ba trường văn bản này đều liên quan đến thông tin thay thế của người liên hệ, nên được nhóm cùng nhau trên một trang.

Tránh nhóm nội dung không liên quan vào một trang để tránh gây nhầm lẫn.
Chỉ báo tiến trình
Chỉ báo tiến trình cho biết tiến trình đạt được trong một bảng câu hỏi.
Đưa chỉ báo tiến trình vào các bảng câu hỏi dài để giúp người dùng di chuyển và xem tiến trình. Chỉ báo tiến trình cho biết vị trí trong bảng câu hỏi và thời gian còn lại để hoàn thành.

Vị trí ở trên cùng phía trên câu hỏi và điểm liên kết để luôn hiển thị ngay cả khi cuộn.

Có thể đặt ở dưới cùng, phía trên nút quay lại và nút tiếp theo. Với bố cục này, bạn cũng có thể hiển thị trang mà người dùng đang truy cập.
Nút điều hướng
Các nút điều hướng (quay lại, tiếp theo) được neo ở cuối bảng câu hỏi. Trong thao tác cuộn vô hạn hoặc trên trang cuối cùng của một câu hỏi được phân trang, nút tiếp theo sẽ có nhãn là Gửi.
Giữ các nút ở một vị trí nhất quán và luôn sử dụng các nút đang hoạt động được gắn nhãn theo thao tác của các nút đó, chẳng hạn như quay lại và tiếp theo.

Luôn cho thấy các nút đang hoạt động, ngay cả khi biểu mẫu chưa hoàn chỉnh. Khi nhấn vào tiếp theo, một hộp thoại bật lên sẽ xuất hiện kèm theo hướng dẫn cách hoàn thành các trường bị thiếu hoặc lỗi xác thực.

Các nút không hoạt động khiến người dùng khó biết cách khắc phục vấn đề.

Tránh các nút chỉ dành cho biểu tượng. Luôn gắn nhãn cho các nút bằng một hành động mô tả.
Câu hỏi và hướng dẫn

- Tiêu đề bảng câu hỏi.
- Chỉ báo tiến trình.
- Tiêu đề nhóm.
- Tiêu đề câu hỏi.
- Hướng dẫn.
- Trường nhập.
- Định dạng mục nhập.
- Các trường bắt buộc.
- Trợ giúp.
Tiêu đề nhóm
Tiêu đề nhóm là tiêu đề văn bản xuất hiện phía trên tiêu đề câu hỏi.
Sử dụng tiêu đề nhóm để nhóm các câu hỏi tương tự lại với nhau. Chỉ dùng tiêu đề nhóm khi có thêm thông tin hữu ích.

Sử dụng một tiêu đề ngắn để nhóm các câu hỏi tương tự với nhau. Ví dụ: tất cả các câu hỏi liên quan đến tiền sử bệnh đều được nhóm lại.

Tránh sử dụng các tiêu đề phức tạp hoặc tiêu đề dài quá một dòng.
Tiêu đề câu hỏi
Tiêu đề câu hỏi mô tả ngắn gọn những thông tin mà ứng dụng yêu cầu. Tiêu đề câu hỏi có cỡ chữ lớn nhất trên trang để thu hút sự chú ý của người dùng vào câu hỏi.
Mỗi trang hoặc câu hỏi phải có một tiêu đề câu hỏi. Giữ tiêu đề câu hỏi ngắn hoặc diễn đạt dưới dạng câu hỏi.

Tiêu đề ngắn giúp người dùng dễ đọc hơn.

Tránh đặt câu hỏi quá dài hoặc lồng hai câu hỏi với nhau.

Luôn đặt tiêu đề câu hỏi để giúp người dùng dễ dàng biết họ cần nhập thông tin gì.
Hướng dẫn
Hướng dẫn là trường văn bản không bắt buộc xuất hiện bên dưới tiêu đề câu hỏi.
Sử dụng trường instructions để giải thích các hướng dẫn liên quan, chẳng hạn như liệu câu hỏi có bắt buộc hay không, số lượt chọn (một hoặc nhiều) và người dùng nên làm gì nếu không thể hoàn thành tất cả thông tin hoặc trả lời câu hỏi.

Sử dụng trường hướng dẫn để cho biết liệu một câu hỏi có bắt buộc hay không và số lượt lựa chọn là bao nhiêu.

Sử dụng hướng dẫn để cho người dùng biết việc cần làm nếu gặp tình huống như họ không thể điền hết các trường.

Sử dụng hướng dẫn để cung cấp ngữ cảnh hoặc định nghĩa bổ sung cho các thuật ngữ dùng trong tiêu đề câu hỏi.
Nội dung nhãn
Văn bản nhãn thông báo cho người dùng về thông tin cần thiết cho trường văn bản hoặc trình đơn thả xuống. Khi trường được chọn, văn bản nhãn sẽ di chuyển từ giữa trường văn bản lên trên cùng.
Mỗi trường văn bản và hộp trình đơn thả xuống đều phải có nhãn. Văn bản nhãn phải ngắn gọn, rõ ràng và hiển thị đầy đủ.

Văn bản nhãn phải ngắn gọn, rõ ràng và hiển thị đầy đủ.

Văn bản nhãn không được quá dài, bị cắt ngắn hoặc chiếm nhiều dòng.

Luôn gắn nhãn cho trường văn bản để người dùng biết cần nhập thông tin nào.
Định dạng mục nhập
EntryFormat hiển thị bên dưới trường văn bản để thông báo cho người dùng về dữ liệu định dạng cụ thể cần nhập. Thông báo lỗi sẽ hiển thị trong trường EntryFormat và thay thế các hướng dẫn EntryFormat hiện có.
Sử dụng EntryFormat cho ngày, số điện thoại, đơn vị và số nguyên.

Hiển thị định dạng ngày bên dưới trường và thêm một cụm từ mô tả.

Việc không hiển thị định dạng dữ liệu có thể khiến dữ liệu được nhập không chính xác.

Khi nhập phạm vi y tế, hãy cung cấp ví dụ về phạm vi bình thường. Việc này có thể giúp người dùng phát hiện lỗi hoặc số nằm ngoài phạm vi.
Các trường bắt buộc
Các trường bắt buộc cho biết rằng người dùng phải hoàn tất trường này và bị chặn tiến hành cho đến khi trường hoàn tất.
Để cho biết rằng một trường là bắt buộc, hãy hiển thị dấu hoa thị (*) ở cuối tiêu đề câu hỏi. Hãy đưa "câu hỏi bắt buộc" vào trường hướng dẫn vì không phải ai cũng có thể thấy rõ dấu hoa thị (*). Nếu không có tiêu đề câu hỏi, hãy hiển thị dấu hoa thị (*) trong văn bản nhãn.

Hiển thị trường bắt buộc có dấu hoa thị (*) và bao gồm cả hướng dẫn bằng văn bản cho biết "câu hỏi bắt buộc". Nhiều người không quen với ý nghĩa của dấu hoa thị(*) sẽ giúp ích cho việc giải thích.

Tránh chỉ hiển thị dấu hoa thị (*) mà không mô tả ý nghĩa bằng văn bản.

Sử dụng các thuật ngữ quen thuộc nhất với người dùng của bạn. Ví dụ: "Bắt buộc" có thể là thuật ngữ quen thuộc hơn và được sử dụng thay cho "Bắt buộc" ở một số quốc gia.

Nếu bắt buộc phải có hầu hết các câu hỏi, hãy nêu rõ những câu hỏi không bắt buộc.

Nếu không có tiêu đề câu hỏi, hãy hiển thị dấu hoa thị trong văn bản nhãn.
Trợ giúp
Biểu tượng trợ giúp sẽ xuất hiện bên cạnh tiêu đề câu hỏi. Khi người dùng nhấn vào biểu tượng này, một hộp thông tin trợ giúp sẽ xuất hiện cùng với thông tin bổ sung. Thao tác nhấn lại vào biểu tượng này sẽ đóng hộp thông tin trợ giúp.
Đây là thành phần tùy chọn. Chỉ sử dụng khi hữu ích để hiển thị thông tin bổ sung không cần thiết phải luôn hiển thị.

Dùng thông tin trợ giúp đối với thông tin mà người dùng có thể chỉ cần xem một lần hoặc cung cấp thêm thông tin.

Tránh ẩn hướng dẫn trong hộp Trợ giúp mà tất cả mọi người đều có thể thấy.
Thu thập dữ liệu

Khi nào nên sử dụng thành phần nào?
Loại mục nhập dữ liệu | Lựa chọn Boolean | Một lựa chọn | Trắc nghiệm nhiều lựa chọn | Mở lựa chọn | Trình đơn thả xuống | Bộ chọn ngày | Trường văn bản | Thanh trượt | Tự động hoàn tất |
---|---|---|---|---|---|---|---|---|---|
Chọn Có hoặc Không | |||||||||
Chọn một tùy chọn | Thận trọng |
||||||||
Chọn nhiều lựa chọn | Thận trọng |
||||||||
Văn bản | |||||||||
Ngày | |||||||||
Numbers | Thận trọng |
Trường văn bản
Trường văn bản cho biết người dùng có thể nhập thông tin.
Sử dụng trường văn bản khi người dùng cần nhập văn bản vào bảng câu hỏi, chẳng hạn như tên, số điện thoại hoặc địa chỉ. Giới hạn mục dữ liệu yêu cầu mục nhập văn bản (bàn phím) khi có thể sử dụng một lựa chọn đã điền sẵn (trắc nghiệm hoặc một lựa chọn).
Tìm hiểu thêm về các trường văn bản trên material.io

Sử dụng trường văn bản để nhập dữ liệu yêu cầu bạn phải nhập các từ hoặc số riêng biệt.

Tránh sử dụng câu trả lời dạng văn bản tự do khi đó có thể là lựa chọn nhiều đáp án, trình đơn thả xuống hoặc lựa chọn một câu trả lời.
Một lựa chọn và một lựa chọn boolean
Một lựa chọn và lựa chọn boolean là một tuỳ chọn điều khiển lựa chọn xuất hiện dưới dạng nút chọn khi người dùng được yêu cầu chọn một lựa chọn trong số các tuỳ chọn.
Sử dụng boolean choice khi có một lựa chọn nhị phân là "Có" hoặc "Không". Nếu không, hãy sử dụng thành phần một lựa chọn. Nếu có hơn ~10 lựa chọn trong danh sách, hãy sử dụng trình đơn thả xuống thay vì một lựa chọn. Trình đơn thả xuống dày đặc và dễ điều hướng hơn khi có nhiều tuỳ chọn.

Sử dụng lựa chọn Boolean khi các tuỳ chọn là "có" và "không".

Sử dụng một lựa chọn khi người dùng có thể chọn một lựa chọn trong danh sách.

Tránh chọn một lựa chọn cho danh sách quá dài (10 danh sách trở lên). Thay vào đó, hãy sử dụng trình đơn thả xuống.
Bộ chọn ngày
Bộ chọn ngày cho phép người dùng nhập ngày thông qua cả bộ chọn ngày trên lịch và bàn phím. Bộ chọn ngày trên lịch được kích hoạt khi người dùng nhấn vào biểu tượng lịch.
Chỉ sử dụng bộ chọn ngày trên lịch cho những ngày gần với ngày hôm nay, chẳng hạn như kỳ kinh nguyệt gần nhất hoặc lần khám tiếp theo. Nếu không, hãy ưu tiên nhập bằng bàn phím đối với các ngày như ngày sinh.

Để nhập ngày, hãy bật cả mục nhập bằng bàn phím (nhấn vào hộp văn bản) và bộ chọn ngày trên lịch (biểu tượng nhấn vào).

Tránh bật bộ chọn ngày trên lịch làm phương thức nhập duy nhất cho ngày sinh. Khó chuyển sang tháng và năm.
Trình đơn thả xuống
Trình đơn trình đơn thả xuống cho phép người dùng lựa chọn trong nhiều tuỳ chọn. Khi người dùng bắt đầu nhập, các tuỳ chọn sẽ lọc dựa trên nội dung được nhập. Điều này có thể giúp người dùng nhanh chóng tìm thấy tuỳ chọn phù hợp trong một danh sách lớn.
Trình đơn trình đơn thả xuống là một lựa chọn thay thế tuyệt vời cho một lựa chọn khi danh sách các tuỳ chọn quá dài (hơn 10 tuỳ chọn) vì chúng chiếm ít không gian hơn.

Dùng trình đơn thả xuống khi chọn một lựa chọn trong một danh sách rất dài các lựa chọn, chẳng hạn như chọn một tiểu bang hoặc thành phố.

Tránh sử dụng trình đơn thả xuống vì sẽ dễ nhập nội dung hơn thay vì cuộn qua tất cả các tùy chọn, chẳng hạn như độ tuổi.
Trắc nghiệm nhiều lựa chọn
Trắc nghiệm là một chế độ kiểm soát lựa chọn xuất hiện dưới dạng hộp đánh dấu khi người dùng có thể tạo nhiều phần trong một danh sách tuỳ chọn.
Sử dụng trắc nghiệm khi người dùng chỉ có thể chọn trong danh sách các tuỳ chọn đã xác định trước. Nếu người dùng cũng có thể thêm câu trả lời miễn phí của riêng mình, hãy sử dụng thành phần lựa chọn mở. Trong trường instructions, hãy ghi "Chọn tất cả các lựa chọn phù hợp" để người dùng biết rằng họ có thể chọn nhiều tuỳ chọn.

Giao diện mặc định là một vùng chứa xung quanh các hộp đánh dấu để làm rõ vùng có thể nhấn.

Tránh hiển thị nhiều lựa chọn trên mỗi hàng, do sự thay đổi về kích thước màn hình điện thoại và kích thước văn bản, văn bản có thể bị cắt bớt.
Mở lựa chọn
Lựa chọn mở tương tự như trắc nghiệm, nhưng người dùng có thể chọn Khác và nhập văn bản tự do.
Sử dụng lựa chọn mở khi có một danh sách các tuỳ chọn được đặt sẵn, nhưng người dùng cũng có thể thêm các tuỳ chọn bổ sung. Sử dụng lựa chọn mở khi hầu hết các tuỳ chọn đã được xác định, nhưng bạn thấy trước một số người dùng sẽ chọn Khác vì không có tuỳ chọn nào được cung cấp.

Sử dụng khi cần thu thập dữ liệu chính xác và không có lựa chọn nào được xác định sẵn. Ví dụ: nghề nghiệp.

Tránh sử dụng nếu phần lớn các câu trả lời yêu cầu chọn Khác. Trong trường hợp đó, hãy sử dụng trường văn bản hoặc trường đoạn.
Thanh trượt
Thanh trượt cho phép người dùng lựa chọn trong một phạm vi các giá trị. Thanh trượt trong SDK FHIR của Android là một thanh trượt riêng biệt. Thanh trượt riêng biệt cho phép người dùng chọn một giá trị cụ thể trong một phạm vi được xác định trước. Bạn có thể dùng các dấu kiểm để cho biết các giá trị có sẵn. Tránh sử dụng thanh trượt để nhập dữ liệu số. Thay vào đó, hãy sử dụng trường văn bản hoặc trình đơn thả xuống.
Tìm hiểu thêm về thanh trượt trên material.io

Tránh sử dụng thanh trượt cho các giá trị cụ thể khi có một phạm vi lớn. Thay vào đó, hãy sử dụng các trường văn bản có mục nhập bằng bàn phím.
Xác thực dữ liệu và lỗi
Xác thực dữ liệu
Tính năng xác thực dữ liệu ràng buộc loại dữ liệu hoặc các giá trị có thể nhập vào trường văn bản. Việc xác thực dữ liệu có thể cải thiện chất lượng của dữ liệu được thu thập.
Sử dụng trường EntryFormat để hiển thị các quy định hạn chế về định dạng hoặc giá trị. Hiển thị trực tiếp các thông báo lỗi xác thực dữ liệu có ý nghĩa để người dùng có thể sửa lỗi.

Hiển thị trước các hạn chế xác thực dữ liệu để người dùng biết cách nhập dữ liệu.

Nếu không hiển thị số lượng chữ số cần thiết, người dùng có thể gặp lỗi và quá trình này sẽ mất nhiều thời gian hơn để hoàn tất.

Hiển thị các lỗi xác thực dữ liệu có ý nghĩa ngay sau khi điền xong trường. Thông báo lỗi sẽ thay thế văn bản định dạng mục nhập hiện tại.

Đừng đợi cho đến khi người dùng nhấn "gửi" để hiển thị lỗi xác thực lần đầu.
Lỗi
Thông báo lỗi sẽ cảnh báo người dùng khi xảy ra sự cố và hướng dẫn cách khắc phục sự cố.
Sử dụng màu sắc, biểu tượng và văn bản để thông báo lỗi.
Tìm hiểu thêm về các thông báo lỗi trên material.io

Giải thích lý do có lỗi (câu hỏi bắt buộc) và những việc bạn có thể làm để khắc phục lỗi (chọn một câu trả lời).

Một thông báo lỗi chỉ cho biết "lỗi" sẽ không hữu ích để người dùng biết cách khắc phục lỗi.

Ví dụ: "Định dạng ngày không chính xác. Định dạng phải là dd/mm/yyyy".

Tránh đổ lỗi cho người dùng bằng thông báo lỗi có từ "bạn" Ví dụ: "Bạn đã nhập sai định dạng ngày".

Sử dụng màu sắc, biểu tượng và văn bản để thông báo cho người dùng rằng đã xảy ra lỗi.

Để hỗ trợ các trường hợp khiếm thị thông thường như mù màu đỏ/xanh lục, hãy tránh chỉ dựa vào màu sắc để truyền đạt lỗi.

Thông thường chỉ cần một biểu tượng là đủ. Đừng lạm dụng việc sử dụng biểu tượng để thông báo về lỗi.