Pengantar

Mengisi kuesioner adalah tugas inti bagi sebagian besar petugas kesehatan yang menggunakan aplikasi kesehatan seluler.
Entri data bisa sulit dan kesalahan dapat terjadi. Sasaran kami dengan library Pengambilan Data Terstruktur (SDC) dan panduan desain adalah membantu Anda meningkatkan pengalaman pengguna saat memasukkan data dan kualitas data yang diambil.
Empat tema yang dibahas dalam bagian ini adalah:
Tata letak & navigasi

Tata letak scroll panjang & berpaginasi
Android FHIR SDK memiliki dua opsi tata letak yang dapat Anda pilih:
- Scroll panjang (default)
- Berhalaman
Kuesioner scroll panjang menampilkan semua pertanyaan di satu halaman dan pengguna membuka setiap pertanyaan dengan men-scroll.
Kuesioner berpaginasi menampilkan konten di seluruh halaman terpisah. Pertanyaan atau kolom input terkait dapat dikelompokkan bersama di satu halaman. Tombol kembali dan berikutnya ditambatkan di bagian bawah halaman untuk berpindah antarhalaman.
Pelajari cara membuat kuesioner yang dipaginasi di GitHub
Tata letak mana yang harus Anda pilih?
Setiap opsi tata letak memiliki kelebihan dan kekurangan. Berikut adalah beberapa atribut setiap jenis tata letak yang perlu dipertimbangkan saat Anda membuat pilihan tentang tata letak yang akan digunakan.
| Scroll panjang | Berhalaman | |
|---|---|---|
| Kecepatan navigasi | Lebih cepat untuk dinavigasi | Lebih lambat untuk dijelajahi |
| Akurasi navigasi | Navigasi yang kurang presisi | Navigasi yang lebih akurat |
| Memfokuskan kembali pertanyaan setelah beralih tugas | Sulit untuk kembali fokus setelah terganggu | Lebih mudah untuk berorientasi ulang setelah terganggu |
| Menyelesaikan kuesioner digital setelah kunjungan (menyalin dari kertas) | Lebih mudah saat menyalin dari kertas | Lebih sulit saat menyalin dari kertas |
| Layar kecil | Lebih buruk untuk layar kecil | Lebih baik untuk layar kecil |
| Aksesibilitas | Lebih buruk untuk aksesibilitas. Sulit dinavigasi. | Lebih baik untuk aksesibilitas. Layar terpisah yang dapat ditangani oleh pembaca layar, text-to-speech, dan teknologi lainnya. |
| Ruang untuk petunjuk dan penjelasan | Lebih buruk untuk panduan dan petunjuk | Lebih baik untuk panduan dan petunjuk |
Scroll panjang
Beri nomor pada pertanyaan untuk mempermudah navigasi dalam tata letak satu halaman.
Perkecil ukuran font judul pertanyaan saat menggunakan scroll panjang, sehingga lebih banyak konten yang terlihat di layar. Contoh: Panjang scroll adalah 16 px. Paginasi adalah 28 px.
Penomoran halaman
Keyboard, dropdown, dan komponen lainnya memakan ruang di halaman, jadi usahakan satu pertanyaan per halaman.
Konten harus terlihat di paruh atas.
Contoh: Ketiga kolom teks ini semuanya terkait dengan info orang yang dapat dihubungi alternatif, sehingga dikelompokkan bersama dalam satu halaman.
Hindari pengelompokan konten yang tidak terkait dalam satu halaman, untuk menghindari kebingungan.
Indikator kemajuan
Indikator progres mencerminkan progres yang dibuat dalam kuesioner.
Sertakan indikator progres pada kuesioner panjang untuk membantu pengguna bernavigasi dan melihat progres. Indikator progres menunjukkan lokasi dalam kuesioner, dan berapa banyak yang tersisa untuk diselesaikan.
Posisikan di bagian atas di atas pertanyaan dan jangkar sehingga selalu terlihat bahkan saat men-scroll.
Dapat diposisikan di bagian bawah, di atas tombol kembali dan berikutnya. Dengan tata letak ini, Anda juga dapat menampilkan halaman yang sedang dibuka pengguna.
Tombol Navigasi
Tombol navigasi (kembali, berikutnya) ditempatkan di bagian bawah kuesioner. Dalam scroll tanpa batas atau di halaman terakhir kuesioner yang dipaginasi, tombol berikutnya diberi label Kirim.
Pertahankan tombol di lokasi yang konsisten dan selalu gunakan tombol aktif yang diberi label dengan tindakannya, seperti kembali dan berikutnya.
Selalu tampilkan tombol aktif, meskipun formulir belum lengkap. Setelah mengetuk berikutnya, tampilkan dialog pop-up dengan petunjuk untuk melengkapi kolom yang belum diisi atau error validasi.
Tombol tidak aktif membuat pengguna sulit mengetahui cara memperbaiki masalah.
Hindari tombol hanya ikon. Selalu beri label tombol dengan tindakan deskriptif.
Pertanyaan & petunjuk
- Judul kuesioner.
- Indikator progres.
- Header grup.
- Judul pertanyaan.
- Petunjuk.
- Kolom input.
- Format entri.
- Kolom wajib diisi.
- Bantuan.
Header grup
Header grup adalah header teks yang ditampilkan di atas judul pertanyaan.
Gunakan header grup untuk mengelompokkan pertanyaan serupa. Gunakan header grup hanya jika header tersebut menambahkan informasi yang berguna.
Gunakan judul singkat untuk mengelompokkan pertanyaan serupa. Contoh: semua pertanyaan terkait histori pasien dikelompokkan.
Hindari judul yang rumit atau judul panjang yang melebihi satu baris.
Judul pertanyaan
Judul pertanyaan menjelaskan secara ringkas informasi yang diminta. Judul pertanyaan memiliki ukuran font terbesar di halaman untuk menarik perhatian pengguna ke pertanyaan.
Setiap halaman atau pertanyaan harus memiliki judul pertanyaan. Buat judul pertanyaan singkat atau susun sebagai pertanyaan.
Judul singkat memudahkan pengguna membaca.
Hindari pertanyaan yang terlalu panjang atau menggabungkan dua pertanyaan.
Selalu sertakan judul pertanyaan agar pengguna lebih mudah mengetahui informasi yang perlu mereka masukkan.
Petunjuk
Petunjuk adalah kolom teks opsional yang ditampilkan di bawah judul pertanyaan.
Gunakan kolom petunjuk untuk menjelaskan petunjuk yang relevan seperti apakah pertanyaan wajib diisi, berapa banyak pilihan yang dapat dibuat (satu atau banyak), dan apa yang harus dilakukan pengguna jika tidak dapat melengkapi semua info atau menjawab pertanyaan.
Gunakan kolom petunjuk untuk memberi tahu apakah pertanyaan wajib diisi dan berapa banyak pilihan yang dapat dibuat.
Gunakan petunjuk untuk memberi tahu pengguna apa yang harus dilakukan jika mereka menghadapi skenario seperti tidak dapat mengisi semua kolom.
Gunakan petunjuk untuk memberikan konteks atau definisi tambahan untuk istilah yang digunakan dalam judul pertanyaan.
Teks label
Teks label memberi tahu pengguna tentang informasi yang diminta untuk bidang teks atau dropdown. Saat kolom dipilih, teks label akan berpindah dari tengah kolom teks ke bagian atas.
Setiap kolom teks dan kotak dropdown harus memiliki label. Teks label harus singkat, jelas, dan terlihat sepenuhnya.
Teks label harus singkat, jelas, dan terlihat sepenuhnya.
Teks label tidak boleh terlalu panjang, terpotong, atau menempati beberapa baris.
Selalu beri label pada kolom teks agar pengguna tahu informasi apa yang harus dimasukkan.
Format entri
EntryFormat ditampilkan di bawah kolom teks untuk memberi tahu pengguna tentang format data tertentu yang harus dimasukkan. Pesan error akan ditampilkan di kolom EntryFormat dan menggantikan petunjuk EntryFormat yang ada.
Gunakan EntryFormat untuk tanggal, nomor telepon, unit, dan bilangan bulat.
Tampilkan format tanggal di bawah kolom dan sertakan frasa deskriptif.
Tidak menampilkan format data dapat menyebabkan data dimasukkan dengan tidak benar.
Saat memasukkan rentang medis, berikan contoh rentang normal. Hal ini dapat membantu pengguna menemukan error atau angka yang berada di luar rentang.
Kolom wajib diisi
Kolom wajib diisi menunjukkan bahwa pengguna harus mengisi kolom dan tidak dapat melanjutkan hingga kolom tersebut diisi.
Untuk menunjukkan bahwa kolom wajib diisi, tampilkan tanda bintang (*) di akhir judul pertanyaan. Sertakan 'pertanyaan wajib diisi' di kolom petunjuk karena tidak semua orang memahami arti tanda bintang (*). Jika tidak ada judul pertanyaan, tampilkan tanda bintang (*) dalam teks label.
Tunjukkan bahwa kolom wajib diisi dengan tanda bintang (*) dan sertakan petunjuk tertulis yang menunjukkan `pertanyaan wajib diisi`.Banyak orang yang tidak tahu arti tanda bintang(*) dan akan mendapatkan manfaat dari penjelasan tersebut.
Hindari menampilkan hanya tanda bintang (*) tanpa deskripsi tertulis tentang artinya.
Gunakan istilah yang paling dikenal oleh pengguna Anda. Contoh: "Wajib" mungkin merupakan istilah yang lebih umum dan digunakan di beberapa negara, bukan "Wajib".
Jika sebagian besar pertanyaan wajib dijawab, tunjukkan pertanyaan yang opsional saja.
Jika tidak ada judul pertanyaan, tampilkan tanda bintang dalam teks label.
Bantuan
Ikon bantuan ditampilkan di samping judul pertanyaan. Setelah mengetuk ikon, kotak informasi bantuan akan muncul dengan informasi tambahan. Mengetuk ikon lagi akan menutup kotak informasi bantuan.
Ini merupakan komponen opsional. Gunakan hanya jika berguna untuk menampilkan informasi tambahan yang tidak perlu selalu terlihat.
Gunakan bantuan untuk informasi yang mungkin hanya perlu dilihat pengguna sekali atau yang memberikan informasi tambahan.
Hindari menyembunyikan petunjuk di dalam kotak Bantuan yang seharusnya dapat dilihat oleh semua orang.
Pengambilan data
Kapan harus menggunakan komponen yang mana?
| Jenis entri data | Pilihan Boolean | Pilihan tunggal | Pilihan ganda | Buka pilihan | Dropdown | Pemilih tanggal | Kolom teks | Penggeser | Pengisian otomatis |
|---|---|---|---|---|---|---|---|---|---|
| Pilih Ya atau Tidak | |||||||||
| Pilih 1 opsi | hati-hati |
||||||||
| Pilih beberapa opsi | hati-hati |
||||||||
| Teks | |||||||||
| Tanggal | |||||||||
| Angka | hati-hati |
Kolom teks
Kolom teks menunjukkan bahwa pengguna dapat memasukkan informasi.
Gunakan kolom teks saat seseorang perlu memasukkan teks ke dalam kuesioner, seperti nama, nomor telepon, atau alamat. Batasi entri data yang memerlukan entri teks (keyboard) saat pilihan yang telah diisi otomatis (pilihan ganda atau pilihan tunggal) dapat digunakan sebagai gantinya.
Pelajari lebih lanjut kolom teks di material.io
Gunakan kolom teks untuk entri data yang memerlukan pengetikan kata atau angka unik.
Hindari penggunaan respons teks bebas jika dapat berupa pilihan ganda, dropdown, atau pilihan tunggal.
Pilihan tunggal & pilihan boolean
Pilihan tunggal dan pilihan boolean adalah kontrol pilihan yang muncul sebagai tombol pilihan saat pengguna diminta memilih satu pilihan dari beberapa opsi.
Gunakan pilihan boolean jika ada pilihan biner 'Ya' atau 'Tidak'. Jika tidak, gunakan komponen pilihan tunggal. Jika ada lebih dari 10 opsi dalam daftar, gunakan drop-down, bukan pilihan tunggal. Dropdown lebih padat dan lebih mudah dinavigasi jika ada banyak opsi.
Gunakan pilihan Boolean jika opsinya adalah 'ya' dan 'tidak'.
Gunakan pilihan tunggal saat pengguna dapat memilih satu opsi dalam daftar.
Hindari pilihan tunggal untuk daftar yang sangat panjang (10+). Gunakan dropdown.
Pemilih tanggal
Pemilih tanggal memungkinkan pengguna memasukkan tanggal melalui pemilih tanggal kalender dan keyboard. Pemilih tanggal kalender diaktifkan saat ikon kalender diketuk.
Gunakan pemilih tanggal kalender hanya untuk tanggal yang mendekati tanggal hari ini, seperti hari terakhir menstruasi atau kunjungan berikutnya. Jika tidak, prioritaskan entri keyboard untuk tanggal seperti tanggal lahir.
Untuk memasukkan tanggal, aktifkan entri keyboard (mengetuk kotak teks) dan pemilih tanggal kalender (mengetuk ikon).
Hindari mengaktifkan pemilih tanggal kalender sebagai satu-satunya metode input untuk tanggal lahir. Sulit untuk membuka bulan dan tahun.
Dropdown
Menu Dropdown memungkinkan pengguna membuat pilihan dari beberapa opsi. Saat pengguna mulai mengetik, opsi akan difilter berdasarkan apa yang dimasukkan. Hal ini dapat membantu pengguna menemukan opsi yang tepat dengan cepat dari daftar yang panjang.
Menu Dropdown adalah alternatif yang bagus untuk pilihan tunggal jika daftar opsi sangat panjang (lebih dari 10 opsi) karena tidak memakan banyak ruang.
Gunakan dropdown saat memilih satu opsi dalam daftar opsi yang sangat panjang, seperti memilih negara bagian atau kota.
Hindari penggunaan dropdown jika lebih mudah mengetik konten daripada men-scroll semua opsi, seperti usia.
Pilihan ganda
Pilihan ganda adalah kontrol pilihan yang muncul sebagai kotak centang saat pengguna dapat membuat beberapa pilihan dari daftar opsi.
Gunakan pilihan ganda saat pengguna hanya dapat memilih dari daftar opsi yang telah ditentukan. Jika pengguna juga dapat menambahkan respons bebas mereka sendiri, gunakan komponen pilihan terbuka. Di kolom petunjuk, tulis "Pilih semua yang berlaku" agar pengguna tahu bahwa mereka dapat memilih beberapa opsi.
Tampilan default adalah penampung di sekitar kotak centang untuk membuat area yang dapat diketuk terlihat jelas.
Hindari menampilkan beberapa opsi per baris, karena variasi ukuran layar dan ukuran teks ponsel, teks dapat terpotong.
Buka pilihan
Pilihan terbuka mirip dengan pilihan ganda, tetapi menambahkan kemampuan bagi pengguna untuk memilih Lainnya dan mengetik teks bebas.
Gunakan pilihan terbuka jika ada daftar opsi yang telah ditetapkan, tetapi pengguna juga dapat menambahkan opsi tambahan. Gunakan pilihan terbuka jika sebagian besar opsi diketahui, tetapi Anda memperkirakan beberapa pengguna akan memilih Lainnya karena tidak ada opsi yang disediakan.
Gunakan jika penting untuk mengumpulkan data yang akurat dan tidak ada opsi yang telah ditentukan sebelumnya yang berlaku. Contoh: pekerjaan.
Hindari penggunaan jika sebagian besar respons memerlukan pemilihan Lainnya. Dalam hal ini, gunakan kolom teks atau kolom paragraf sebagai gantinya.
Penggeser
Penggeser memungkinkan pengguna membuat pilihan dari rentang nilai. Penggeser di Android FHIR SDK adalah penggeser diskret. Penggeser diskrit memungkinkan pengguna memilih nilai tertentu dari rentang yang telah ditentukan. Tanda centang dapat digunakan untuk menunjukkan nilai yang tersedia. Hindari penggunaan penggeser untuk entri data numerik. Sebagai gantinya, gunakan kolom teks atau menu dropdown.
Pelajari lebih lanjut penggeser di material.io
Hindari penggunaan penggeser untuk nilai tertentu jika ada rentang yang besar. Gunakan kolom teks dengan entri keyboard sebagai gantinya.
Validasi dan error data
Validasi data
Validasi data membatasi jenis data atau nilai yang dapat dimasukkan dalam kolom teks. Validasi data dapat meningkatkan kualitas data yang dikumpulkan.
Gunakan kolom EntryFormat untuk menampilkan batasan format atau nilai. Tampilkan pesan error validasi data yang bermakna secara inline dan langsung agar pengguna dapat memperbaiki error.
Tampilkan batasan validasi data di awal agar pengguna tahu cara memasukkan data.
Tanpa menunjukkan berapa digit nomor telepon yang diperlukan, pengguna cenderung mengalami error dan akan membutuhkan waktu lebih lama untuk menyelesaikannya.
Tampilkan error validasi data yang bermakna segera setelah kolom diisi. Pesan error menggantikan teks format entri yang ada.
Jangan menunggu hingga pengguna menekan "kirim" untuk menampilkan error validasi untuk pertama kalinya.
Error
Pesan error memberi tahu pengguna saat terjadi masalah dan menginformasikan cara memperbaiki masalah tersebut.
Gunakan warna, ikonografi, dan teks untuk mengomunikasikan error.
Pelajari lebih lanjut pesan error di material.io
Jelaskan alasan terjadinya error (pertanyaan wajib) dan apa yang dapat dilakukan untuk memperbaikinya (pilih salah satu).
Pesan error yang hanya bertuliskan "error" tidak membantu pengguna mengetahui cara memperbaiki error tersebut.
Contoh: "Format tanggal salah. Formatnya harus dd/mm/yyyy".
Hindari menyalahkan pengguna dengan pesan error yang menyertakan "Anda". Contoh: "Anda memasukkan format tanggal yang salah".
Gunakan warna, ikonografi, dan teks untuk memberi tahu pengguna bahwa ada error.
Untuk mendukung gangguan penglihatan umum seperti buta warna merah-hijau, hindari hanya mengandalkan warna untuk mengomunikasikan error.
Satu ikon sering kali sudah cukup. Jangan berlebihan menggunakan ikon untuk mengomunikasikan error.
