مقدمه

تکمیل پرسشنامهها وظیفه اصلی اکثر کارکنان مراقبتهای بهداشتی است که از برنامههای سلامت موبایل استفاده میکنند.
ورود دادهها میتواند دشوار باشد و خطا رخ دهد. هدف ما از کتابخانهی ثبت دادههای ساختاریافته (SDC) و دستورالعملهای طراحی، توانمندسازی شما برای بهبود تجربهی کاربری ورود دادهها و کیفیت دادههای ثبتشده است.
The four themes covered in this section are:
طرحبندی و ناوبری

اسکرول طولانی و طرح صفحه بندی شده

کیت توسعه نرمافزار اندروید FHIR دو گزینه برای طرحبندی دارد که میتوانید از بین آنها یکی را انتخاب کنید:
- Long scroll (default)
- Paginated
یک پرسشنامه با اسکرول طولانی، تمام سوالات را در یک صفحه نشان میدهد و کاربران با اسکرول کردن به هر سوال دسترسی پیدا میکنند.
یک پرسشنامه صفحهبندیشده، محتوا را در صفحات جداگانه نمایش میدهد. سوالات یا فیلدهای ورودی مرتبط را میتوان در یک صفحه گروهبندی کرد. دکمههای برگشت و بعدی در پایین صفحه قرار گرفتهاند تا بین صفحات حرکت کنند.
یاد بگیرید چگونه یک پرسشنامه صفحهبندی شده در GitHub ایجاد کنید
Which layout should you select?
هر گزینه طرحبندی مزایا و معایب خود را دارد. در زیر برخی از ویژگیهای هر نوع طرحبندی آورده شده است که باید هنگام انتخاب طرحبندی مورد استفاده، در نظر بگیرید.
| Long scroll | Paginated | |
|---|---|---|
| سرعت ناوبری | Faster to navigate | Slower to navigate |
| دقت ناوبری | Less precise navigation | More precise navigation |
| Refocus on question after task switching | Difficult to reorient after interruption | تغییر مسیر آسانتر پس از وقفه |
| تکمیل پرسشنامه دیجیتال پس از بازدید (کپی از روی کاغذ) | Easier when copying from paper | More difficult when copying from paper |
| Small screens | Worse for small screens | Better for small screens |
| دسترسیپذیری | از نظر دسترسی بدتر است. جهتیابی دشوار است. | برای دسترسیپذیری بهتر است. صفحات نمایش مجزا که میتوانند توسط صفحهخوانها، تبدیل متن به گفتار و سایر فناوریها مدیریت شوند. |
| Space for instructions and explanations | Worse for guidance and instructions | برای راهنمایی و دستورالعمل بهتر است |
Long scroll

سوالات را شماره گذاری کنید تا پیمایش در یک طرح تک صفحه ای آسان تر شود.

هنگام استفاده از پیمایش طولانی، اندازه فونت عناوین سوالات را کوچکتر کنید تا محتوای بیشتری روی صفحه نمایش داده شود. مثال: پیمایش طولانی ۱۶ پیکسل است. صفحه بندی ۲۸ پیکسل است.
صفحه بندی

صفحهکلید، منوهای کشویی و سایر اجزا، فضایی را در صفحه اشغال میکنند، بنابراین برای هر صفحه، یک سوال در نظر بگیرید.

Content should be visible above the fold.

مثال: این سه فیلد متنی همگی مربوط به اطلاعات شخص تماس جایگزین هستند، بنابراین در یک صفحه با هم گروهبندی شدهاند.

برای جلوگیری از سردرگمی، از دستهبندی مطالب نامرتبط در یک صفحه خودداری کنید.
Progress indicator
شاخص پیشرفت، پیشرفت حاصل شده در پرسشنامه را نشان میدهد.
برای کمک به کاربران در پیمایش و مشاهده پیشرفت، یک نشانگر پیشرفت در پرسشنامههای طولانی قرار دهید. نشانگرهای پیشرفت، مکان را در یک پرسشنامه و میزان باقیمانده برای تکمیل را نشان میدهند.

در بالای سوال قرار دهید و لنگر بیندازید تا حتی هنگام پیمایش نیز همیشه قابل مشاهده باشد.

میتواند در پایین، بالای دکمههای برگشت و بعدی قرار گیرد. با این طرحبندی میتوانید صفحهای را که کاربر در آن است نیز نمایش دهید.
Navigation Buttons
دکمههای ناوبری (بازگشت، بعدی) در پایین پرسشنامه قرار دارند. در یک پیمایش نامحدود یا در آخرین صفحه یک پرسشنامه صفحهبندی شده، دکمه بعدی با برچسب ارسال مشخص شده است.
دکمهها را در یک مکان ثابت نگه دارید و همیشه از دکمههای فعالی استفاده کنید که با عملکردشان برچسبگذاری شدهاند، مانند دکمههای برگشت و بعدی.

همیشه دکمههای فعال را نمایش دهید، حتی اگر فرمها ناقص باشند. با ضربه زدن روی «بعدی»، یک کادر محاورهای بازشو با دستورالعملهایی برای تکمیل فیلدهای جا افتاده یا خطاهای اعتبارسنجی نمایش داده میشود.

دکمههای غیرفعال، فهمیدن چگونگی رفع مشکل را برای کاربران دشوار میکنند.

از دکمههای صرفاً آیکونی پرهیز کنید. همیشه دکمهها را با یک عمل توصیفی برچسبگذاری کنید.
سوالات و دستورالعملها

- عنوان پرسشنامه.
- نشانگر پیشرفت.
- سربرگ گروه.
- عنوان سوال.
- Instructions.
- فیلد ورودی.
- Entry format.
- فیلدهای الزامی.
- کمک کنید.
سربرگ گروه
سربرگ گروه ، سربرگ متنی است که بالای عنوان سوالات نمایش داده میشود.
از سربرگ گروه برای گروهبندی سوالات مشابه استفاده کنید. فقط زمانی از سربرگ گروه استفاده کنید که اطلاعات مفیدی به آن اضافه شود.

از یک عنوان کوتاه برای گروهبندی سوالات مشابه استفاده کنید. مثال: تمام سوالات مربوط به شرح حال بیمار گروهبندی میشوند.

از عناوین پیچیده یا عناوین طولانی که بیش از یک خط هستند، خودداری کنید.
عنوان سوال
عنوان سوال به طور خلاصه توضیح میدهد که چه اطلاعاتی درخواست شده است. عنوان سوال بزرگترین اندازه فونت را در صفحه دارد تا چشم کاربر را به سمت سوال جلب کند.
هر صفحه یا سوال باید یک عنوان سوالی داشته باشد. عنوان سوال را کوتاه نگه دارید یا آن را به صورت سوالی بیان کنید.

عنوانهای کوتاه، خواندن متن را برای کاربران آسانتر میکنند.

از سوالات خیلی طولانی یا پرسیدن دو سوال پشت سر هم خودداری کنید.

همیشه یک عنوان سؤالی قرار دهید تا کاربران راحتتر بدانند چه اطلاعاتی را باید وارد کنند.
دستورالعملها
دستورالعملها یک فیلد متنی اختیاری است که در زیر عنوان سوال نشان داده میشود.
از فیلد دستورالعملها برای توضیح دستورالعملهای مربوطه استفاده کنید، مثلاً اینکه آیا طرح سوال الزامی است، چند انتخاب میتوان انجام داد (یک یا چند انتخاب)، و اینکه اگر کاربران نتوانند تمام اطلاعات را تکمیل کنند یا به سوال پاسخ دهند، چه کاری باید انجام دهند.

از فیلد دستورالعملها برای اطلاع از اینکه آیا سوالی مورد نیاز است و چند انتخاب میتوان انجام داد، استفاده کنید.

از دستورالعملهایی استفاده کنید تا به کاربران اطلاع دهید که اگر با سناریویی مانند عدم توانایی در تکمیل همه فیلدها مواجه شدند، چه کاری باید انجام دهند.

از دستورالعملها برای ارائه زمینه یا تعاریف اضافی برای اصطلاحات استفاده شده در عنوان سوال استفاده کنید.
Label text
متن برچسب به کاربران اطلاع میدهد که چه اطلاعاتی برای یک فیلد متنی یا منوی کشویی درخواست شده است. وقتی فیلد انتخاب میشود، متن برچسب از وسط فیلد متنی به بالای آن حرکت میکند.
هر فیلد متنی و کادر کشویی باید یک برچسب داشته باشد. متن برچسب باید کوتاه، واضح و کاملاً قابل مشاهده باشد.

متن برچسب باید کوتاه، واضح و کاملاً قابل مشاهده باشد.

متن برچسب نباید خیلی طولانی، کوتاه یا چند خط باشد.

همیشه فیلد متن را برچسبگذاری کنید تا کاربران بدانند چه اطلاعاتی را باید وارد کنند.
Entry format
قالب ورودی (EntryFormat) در زیر فیلد متن نمایش داده میشود تا کاربران را از قالب خاصی که دادهها باید وارد شوند، مطلع سازد. پیامهای خطا در فیلد قالب ورودی نمایش داده میشوند و جایگزین دستورالعملهای قالب ورودی موجود میشوند.
برای تاریخ، شماره تلفن، واحدها و اعداد صحیح از EntryFormat استفاده کنید.

قالب تاریخ را در زیر فیلد نمایش دهید و یک عبارت توصیفی نیز در آن بگنجانید.

عدم نمایش فرمت دادهها میتواند منجر به وارد کردن نادرست دادهها شود.

هنگام وارد کردن محدودههای پزشکی، مثالهایی از محدوده طبیعی ارائه دهید. این میتواند به کاربران کمک کند تا خطاها یا اعدادی را که خارج از محدوده هستند، تشخیص دهند.
فیلدهای مورد نیاز
فیلدهای الزامی نشان میدهند که کاربر باید فیلد را تکمیل کند و تا زمانی که فیلد را تکمیل نکند، از ادامهی کار منع میشود.
برای نشان دادن اینکه یک فیلد الزامی است، در انتهای عنوان سوال، علامت ستاره (*) را نمایش دهید. عبارت «سوال الزامی» را در فیلد دستورالعملها قرار دهید، زیرا برای همه مشخص نیست که علامت ستاره (*) نشان دهنده چیست. اگر عنوان سوالی وجود ندارد، علامت ستاره (*) را در متن برچسب نمایش دهید.

با علامت ستاره (*) مشخص کنید که فیلد مورد نظر الزامی است و دستورالعملهای کتبی را که نشاندهنده «سوال الزامی» است، ضمیمه کنید. بسیاری با معنای علامت ستاره (*) آشنا نیستند و این توضیح میتواند مفید باشد.

از نمایش صرف علامت ستاره (*) بدون هیچ توضیح کتبی در مورد معنای آن خودداری کنید.

از اصطلاحاتی استفاده کنید که برای کاربران شما آشناتر است. مثال: «اجباری» ممکن است اصطلاح آشناتری باشد و در برخی کشورها به جای «الزامی» استفاده شود.

اگر بیشتر سوالات ضروری هستند، مشخص کنید کدام یک اختیاری هستند.

اگر عنوان سوال وجود ندارد، علامت ستاره را در متن برچسب نمایش دهید.
کمک
یک نماد راهنما در کنار عنوان سوال نمایش داده میشود. با ضربه زدن روی این نماد، یک کادر اطلاعات راهنما با اطلاعات اضافی ظاهر میشود. ضربه زدن دوباره روی این نماد، کادر اطلاعات راهنما را میبندد.
این یک جزء اختیاری است. فقط در مواقع مفید برای نمایش اطلاعات اضافی که نیازی به نمایش همیشگی آنها نیست، استفاده شود.

از راهنما برای اطلاعاتی استفاده کنید که کاربران ممکن است فقط یک بار نیاز به دیدن آنها داشته باشند یا اطلاعات اضافی ارائه دهند.

از پنهان کردن دستورالعملها در کادر راهنما که باید برای همه قابل مشاهده باشد، خودداری کنید.
Data capture

When to use which component?
| نوع ورود اطلاعات | Boolean choice | Single choice | انتخاب چندگانه | Open choice | منوی کشویی | انتخابگر تاریخ | فیلد متنی | اسلایدر | Auto-complete |
|---|---|---|---|---|---|---|---|---|---|
| Select Yes or No | |||||||||
| Select one option | احتیاط | ||||||||
| Select multiple options | احتیاط | ||||||||
| متن | |||||||||
| خرما | |||||||||
| اعداد | احتیاط |
Text fields
فیلدهای متنی نشان میدهند که کاربران میتوانند اطلاعات را وارد کنند.
وقتی کسی نیاز به وارد کردن متن در پرسشنامه دارد، مانند نام، شماره تلفن یا آدرس، از فیلدهای متنی استفاده کنید. ورود دادههایی که نیاز به وارد کردن متن (صفحه کلید) دارند را محدود کنید، در حالی که میتوان از یک انتخاب از پیش تعیینشده (چندگزینهای یا تکگزینهای) استفاده کرد.
Learn more about text fields on material.io

از فیلدهای متنی برای ورود دادههایی که نیاز به تایپ کلمات یا اعداد منحصر به فرد دارند، استفاده کنید.

از استفاده از پاسخهای متنی رایگان در مواردی که میتوانند شامل انتخاب چندگانه، منوی کشویی یا انتخاب تک گزینهای باشند، خودداری کنید.
Single choice & boolean choice
انتخاب تکی و انتخاب بولی، کنترلهای انتخابی هستند که وقتی از کاربران خواسته میشود از بین گزینهها، یک گزینه را انتخاب کنند، به صورت دکمههای رادیویی ظاهر میشوند.
وقتی دو گزینه «بله» یا «خیر» وجود دارد، از گزینه بولی استفاده کنید. در غیر این صورت، از مولفه انتخاب تکی استفاده کنید. اگر بیش از حدود ۱۰ گزینه در لیست وجود دارد، به جای انتخاب تکی از منوی کشویی استفاده کنید. منوی کشویی وقتی گزینههای زیادی وجود دارد، متراکمتر و پیمایش آن آسانتر است.

وقتی گزینهها «بله» و «خیر» هستند، از انتخاب بولی استفاده کنید.

وقتی کاربران میتوانند یک گزینه را در لیست انتخاب کنند، از گزینه تک انتخابی استفاده کنید.

برای لیستهای خیلی طولانی (بیش از ۱۰ مورد) از انتخاب تکی خودداری کنید. به جای آن از منوی کشویی استفاده کنید.
انتخابگر تاریخ
انتخابگر تاریخ به کاربران اجازه میدهد تا تاریخها را هم از طریق انتخابگر تاریخ تقویم و هم از طریق صفحه کلید وارد کنند. انتخابگر تاریخ تقویم با لمس آیکون تقویم فعال میشود.
از انتخابگر تاریخ تقویم فقط برای تاریخهایی که به تاریخ امروز نزدیک هستند، مانند آخرین دوره قاعدگی یا بازدید بعدی، استفاده کنید. در غیر این صورت، برای تاریخهایی مانند تاریخ تولد، ورود با صفحه کلید را در اولویت قرار دهید.

برای وارد کردن تاریخ، هم ورودی صفحهکلید (با لمس کادر متن) و هم انتخابگر تاریخ تقویم (با لمس آیکون) را فعال کنید.

از فعال کردن انتخابگر تاریخ تقویم به عنوان تنها روش ورودی برای تاریخ تولد خودداری کنید. پیمایش به ماه و سال دشوار است.
منوی کشویی
منوهای کشویی به کاربران اجازه میدهند از بین چندین گزینه انتخاب کنند. همانطور که کاربر شروع به تایپ میکند، گزینهها بر اساس آنچه وارد شده است فیلتر میشوند. این میتواند به کاربران کمک کند تا به سرعت گزینه مناسب را از یک لیست بزرگ پیدا کنند.
منوهای کشویی جایگزین بسیار خوبی برای یک گزینه هستند، زمانی که لیست گزینهها بسیار طولانی است (بیش از 10 گزینه)، زیرا فضای کمتری را اشغال میکنند.

هنگام انتخاب یک گزینه در یک لیست بسیار طولانی از گزینهها، مانند انتخاب یک استان یا شهر، از منوی کشویی استفاده کنید.

از استفاده از منوی کشویی خودداری کنید، زمانی که تایپ کردن محتوا آسانتر از پیمایش همه گزینهها، مانند سن، است.
انتخاب چندگانه
انتخاب چندگانه یک کنترل انتخاب است که وقتی کاربران میتوانند چندین بخش را از لیستی از گزینهها انتخاب کنند، به صورت کادرهای انتخاب ظاهر میشود.
وقتی کاربران فقط میتوانند از یک لیست از پیش تعیینشده گزینهها انتخاب کنند، از گزینه چندگزینهای استفاده کنید. اگر کاربران میتوانند پاسخ آزاد خود را نیز اضافه کنند، به جای آن از مؤلفه انتخاب آزاد استفاده کنید. در قسمت دستورالعملها بنویسید «همه موارد مربوطه را انتخاب کنید» تا کاربران بدانند که میتوانند چندین گزینه را انتخاب کنند.

ظاهر پیشفرض، یک ظرف در اطراف کادرهای انتخاب است تا ناحیه قابل لمس را مشخص کند.

از نمایش چندین گزینه در هر ردیف خودداری کنید، زیرا به دلیل تغییر اندازه صفحه نمایش تلفن و اندازه متن، ممکن است متن بریده شود.
انتخاب باز
گزینهی باز (Open choice) مشابه گزینهی چندگزینهای است، اما این امکان را به کاربر میدهد که گزینهی «دیگر» (Other) را انتخاب کند و متن دلخواه خود را تایپ کند.
از گزینه باز زمانی استفاده کنید که فهرستی از گزینههای از پیش تعیینشده وجود دارد، اما کاربران میتوانند گزینههای دیگری نیز اضافه کنند. از گزینه باز زمانی استفاده کنید که اکثر گزینهها مشخص هستند، اما پیشبینی میکنید که برخی از کاربران به دلیل عدم اعمال هیچ یک از گزینههای ارائه شده، گزینه «دیگر» را انتخاب خواهند کرد.

زمانی استفاده میشود که جمعآوری دقیق دادهها مهم است و هیچ یک از گزینههای از پیش تعریفشده اعمال نمیشود. مثال: شغل.

اگر اکثر پاسخها نیاز به انتخاب گزینه «دیگر» دارند، از استفاده از آن خودداری کنید. در این صورت، به جای آن از فیلد متنی یا فیلد پاراگراف استفاده کنید.
اسلایدر
اسلایدرها به کاربران اجازه میدهند تا از بین طیف وسیعی از مقادیر انتخاب کنند. اسلایدر موجود در Android FHIR SDK یک اسلایدر گسسته است. یک اسلایدر گسسته به کاربران اجازه میدهد تا یک مقدار خاص را از یک طیف از پیش تعیین شده انتخاب کنند. میتوان از علامتهای تیک برای نشان دادن مقادیر موجود استفاده کرد. از اسلایدر برای ورود دادههای عددی استفاده نکنید. در عوض از یک فیلد متنی یا یک منوی کشویی استفاده کنید.
درباره اسلایدرها در material.io بیشتر بدانید

وقتی محدوده بزرگی وجود دارد، از استفاده از اسلایدر برای مقادیر خاص خودداری کنید. در عوض از فیلدهای متنی با ورودی صفحه کلید استفاده کنید.
اعتبارسنجی دادهها و خطاها
اعتبارسنجی دادهها
اعتبارسنجی دادهها نوع دادهها یا مقادیری را که میتوان در یک فیلد متنی وارد کرد، محدود میکند. اعتبارسنجی دادهها میتواند کیفیت دادههای جمعآوریشده را بهبود بخشد.
از فیلد EntryFormat برای نمایش محدودیتهای قالب یا مقدار استفاده کنید. پیامهای خطای اعتبارسنجی دادههای معنادار را به صورت درونخطی و بلافاصله نمایش دهید تا کاربران بتوانند خطا را برطرف کنند.

محدودیتهای اعتبارسنجی دادهها را از قبل نشان دهید تا کاربران بدانند چگونه دادهها را وارد کنند.

بدون نشان دادن تعداد ارقام شماره تلفن، کاربران احتمالاً با خطا مواجه میشوند و تکمیل آن زمان بیشتری طول میکشد.

بلافاصله پس از تکمیل فیلد، خطاهای اعتبارسنجی معنادار نمایش داده میشوند. پیامهای خطا جایگزین متن قالب ورودی موجود میشوند.

برای نمایش خطاهای اعتبارسنجی برای اولین بار، منتظر نمانید تا کاربر دکمهی «ارسال» را فشار دهد.
خطاها
پیامهای خطا، کاربران را در صورت بروز مشکل آگاه میکنند و نحوه رفع مشکل را به آنها اطلاع میدهند.
از رنگ، آیکون و متن برای بیان خطاها استفاده کنید.
درباره پیامهای خطا در material.io بیشتر بدانید

توضیح دهید که چرا خطایی وجود دارد (سوال الزامی) و برای رفع آن چه کاری میتوان انجام داد (یکی را انتخاب کنید.)

پیام خطایی که فقط «خطا» را نشان میدهد، برای کاربران در جهت رفع خطا مفید نیست.

مثال: "قالب تاریخ اشتباه است. قالب باید روز/ماه/سال باشد".

از سرزنش کاربر با پیامهای خطایی که شامل کلمه «شما» هستند، خودداری کنید. مثال: «شما فرمت تاریخ را اشتباه وارد کردهاید.»

از رنگ، آیکون و متن برای اطلاعرسانی به کاربران در مورد وجود خطا استفاده کنید.

برای پشتیبانی از اختلالات بینایی رایج مانند کوررنگی قرمز-سبز، از تکیه صرف بر رنگ برای بیان خطا خودداری کنید.

اغلب یک آیکون کافی است. در استفاده از آیکونها برای انتقال خطا زیادهروی نکنید.
