Designing a good form is hard. So many forms are frustrating to use, tedious, and ask the wrong questions. This is a guide of form design best practices to help build strong forms to improve your service access process.
Note: Caredove staff will help you apply this principles in the design phase of your form, and will perform the technical implementation of building your form. Learn more about updating your forms.
First, a few important definitions:
Form filler - The person who is filling out the form. This could be a referrer, family member, client/patient/registrant, yourself, etc... Sometimes anybody from the public can fill out a form, and other times it must be a registered Caredove user.
Form subject - This is the person the information filled on the form is about. This could be the same person who is filling the form, or a different person. In healthcare, this person is often also known as the client, patient, or registrant.
Form receiver - The person receiving the form. For healthcare referrals this is often the "provider" of a healthcare service
1. The Golden Rule
Only ask questions that serve the purpose and audience of your form
Designing what questions to ask, and how to ask them on a form is dependent on the purpose of the form, and who will be filling it out (the audience). By clearly defining your form's purpose and audience, you can evaluate the quality of your form's design and each of its questions.
The most common errors in form design are related to purpose and audience:
asking "nice-to-have" questions that aren't related to the form's purpose,
using language that isn't appropriate for the audience - in particular, using healthcare jargon with public audiences, or internal process language with external audiences.
The following are the most common purposes & audiences for Caredove forms, and related design considerations to build a successful form:
Purpose | Design Considerations |
Contact Us Solicit interest to prompt the public to have a "learn more" conversation about an organization's services. | Don't "scare off" the user with complicated questions, prioritize making the follow-up connection.
|
Self-Referral to Intake Appointment A pre-registration form that is used by the public to book a first appointment with an intake coordinator, who will make a decision to admit to service. | Design the form as the first part of the "Intake Appointment" flow, where more questions will be asked where a personal touch (e.g., prompt with follow up questions) is more appropriate.
|
Referral to Intake Appointment Same as "Self-Referral to Intake Appointment", except that the person filling out the form (referrer) is a healthcare professional, such as a care coordinator, social worker, or physician who is making a referral on behalf of a client or patient. | The referrer MAY or MAY NOT have useful information about the client that would help them avoid having to "tell their story twice", and help jump-start the intake appointment.
|
Assessment & Service Routing Assessment forms may be used to help define the client's needs, which is then used to help identify the most appropriate service(s) to meet those needs. | These are inherently the most complicated types of forms, and thus require the most thoughtful consideration about how to simplify them.
|
2. Form & Page Structure
The following section structure is recommended for all forms:
Standard form structure:
Introduction
Eligibility
Questions
Contact Information
Results (Routing forms only)
Additional Questions (e.g., "How did you hear about us")
Consent
Depending on the purpose and audience of the form, any of these sections may be completely omitted from the form. For example,
A contact us form would use only the "Contact Information" and "Consent" sections.
A referral form would rarely use the introduction section
Additional Questions should rarely be used
The results section is only used by routing forms
Depending on their size, these sections could all be presented on a single page, or spread across multiple pages. Use the following rule to decide if you should use a single-page or multi-page form:
Single page vs. Multi-page rule of thumb
Use a single page form when its length is under 5 (desktop) screen high. For longer forms, give each section its own page (other than consent, which should be appended at the end of the last form section).
On multi-page forms, label the pages with the exact section titles listed here. On a single page form, don't use a page title, the form title is sufficient.
The following describes how to design each of the form sections
Section | Design Considerations |
Introduction | This section is typically used with the form types:
|
Eligibility | This section is typically used with the form types:
⚠️ Exceptions:
|
Questions This section is the main content of most forms. Ask what is needed to accomplish the purpose of the form. | This section is typically used with the form types:
|
Contact Information The information required for the form receiver (provider) to contact the client. | Typically used with:
⚠️ Exceptions
|
Results page This page displays the action results of a routing form (e.g., the matched service to refer to) | Typically used with:
|
Additional Information For "one more thing..." meta questions that are not associated with the main purpose of the form. | Typically used with:
|
Consent Clients (or their guardian) must agree to share their personal information for the purposes of receiving an intake appointment. Read more on consent best practices here. | Typically used with:
|
3. Page Layout
Headers
Headers are useful to visually group concepts within a page. There are two ways to add headers, both of these methods appear the same to the form filler, but can appear slightly different to the form receiver:
Display text - Set style property as "header"
Group's header text - Note that on the answers display, the group's content is "indented" one level.
Apply headers as follows
Use headers on longer form pages, avoid headers on shorter forms.
Keep header labels short.
When headers are used, EVERY question on the page should be under a logically grouped header. However, narrative content that describes the page may be useful before the first header.
Group headers can also have secondary text for additional context about the upcoming questions. If secondary text is used with one header on a page, then it should usually be used with all headers on the page.
Groups
Groups are collections of questions that are wrapped together in a group.
Groups have the following uses:
1) Apply headers to a section of content in a page (with optional sub-headers)
2) Apply conditional display logic to multiple questions on a page at once
3) Modify formatting of content for the form RECEIVER, where the group's question answers are indented
4) Apply group formatting of expandable accordions, or group backgrounds
5) Create "Hidden" form sections which are not visible for users
Use expandable accordions for "read more" style of display text content that is not necessary to proceed with the form, but may provide helpful background to those who are interested (e.g., privacy policy details). Generally, questions are not included in accordions.
Use "Hidden" groups to hold calculations that are never displayed to the form filler (e.g., calculate age based on a date of birth date field, which is used to determine eligibility).
Dividers
Dividers are a visual flourish for breaking up page content vertically. Dividers can be either horizontal lines or blank rows.
Use dividers for subtle visual vertical grouping within a page, where a header is overkill.
Usage of line dividers is generally preferred over the usage of spacers.
Display Text
Display text shows markdown formatted text (learn more about using markdown), and has the following purposes:
Provide narrative about the form and related submission processes
Provide formatting on the form (e.g., headers, images)
Display formatted results of calculations
Display narrative about routing form results (e.g., routed service, next steps)
Display text is formatted with markdown (NOT HTML tags), which is a simple text-editor friendly method for writing styled content. The following are the most commonly used markdown syntax (for full syntax, see this markdown cheat sheet):
Heading | # H1 |
Bold | **bold text** |
Italic | *italicized text* |
Numbered list | 1. First item |
Bulleted list | - First item |
Horizontal line | --- |
Link | [title](https://www.example.com) |
Image | ![alt text](image url) |
Linked Image | [![alt text](image url)](https://www.example.com) |
Table | | Syntax | Description | |
To include video content into a form, insert it as a linked image, which will open in a new tab on click. For example:
[![Video title](https://img.youtube.com/vi/dQw4w9WgXcQ/0.jpg)](https://www.youtube.com/watch?v=dQw4w9WgXcQ)
Note that every youtube video has a corresponding online thumbnail image that can be used as per the example.
Display Text Settings
Emphasis style provides various appearances for your message. (e.g., yellow for Warning or red for Error)
Use pre-set variable options (see chart below for most commonly used) when you would like to add information that can be pulled from the Service listing (e.g., Organization Name, Service name, Phone number) This approach supports the maintenance of the form.
{{action-organization}} | Organization name |
{{action-service}} | Service name |
{{action-service-phone}} | Service inquiry phone number |
{{action-service-website}} | Service website |
{{action-service-email}} | Service inquiry email |
Display Text Clarity
Avoid using language that leaves the registrant confused as to whether they are included.
✅ Do You must be 21 years of age or younger to be eligible for this service. | ❌ Don't Those up to 21 years of age are eligible for this service. |
4. Question Design
Designing strong questions can be difficult. Apply the following best practices:
Question Clarity
Use short labels. If more explanation about the meaning of a question is required, use secondary or helper text. Note that the secondary and helper text does not appear on the form submission, which makes it easier for the receiver to read the form response data. The secondary text in the following example is in italics.
✅ Do 🔲 Has diagnosis that prevents travel 🔲 Unable to arrange transportation | ❌ Don't 🔲 The patient has a diagnosis (e.g. agoraphobia, debilitating anxiety, or psychiatric condition) that prevents them from leaving their residence 🔲 The patient is unable to arrange transportation to clinics, grocery shopping or social events |
Don't use use superfluous words (e.g., "please")
Do | Don't |
Avoid industry jargon and internal process terms
e.g., “Crisis Service”, “Central Intake”
Do | Don't |
✅ Are you experiencing overwhelming thoughts, emotions or behaviours which might put yourself or somebody else in immediate danger? | ❌ Are you in crisis? |
Don't use unexplained abbreviations
Do | Don't |
Avoid starting a question with a verb when the meaning is clear without it
Do | Don't |
5. Question Formatting and Syntax
Header style
Capitalize headers using book capitalization rules.
Do | Don't |
Keep header labels short. When tempted to create a long header, use the groups sub-header feature or a display text item to show the extra words instead.
Do | Don't |
Question label style
Capitalize questions using sentence case (capitalize only FIRST word).
Do | Don't |
✅ Why are you seeking help today? | ❌ Why Are You Seeking Help Today? |
DON'T add punctuation to the end of a question UNLESS the question is formatted as a full sentence, then include a question mark.
Do
| Don't ❌ Date of Birth. ❌ Date of Birth: |
✅ Why are you seeking help today? | ❌ Why are you seeking help today ❌ Why are you seeking help today. ❌ Why are you seeking help today: |
Show Questions on Same Line
Only show the next item on the same line when they are directly related conceptually. Don't show items on the same line exclusively for the purpose of condensing the length of the form.
Do | Don't |
6. Question Types
There are a variety of data types available to use in Caredove forms, each with their own best practices when designing your questions.
Text & Number
Text and number fields are similar, except that number fields only accept numbers and the width of the number field is always narrow.
Generally, it is ok to use a text field even if it will accept a number as the input.
Use a number field instead of a text field when
The field is being used in a numeric calculation.
The form field has an integration to an application that wants the data type specified as a number.
For advanced formatting of a number field (e.g., auto-inserting space between numbers in a driver's licence number), use a text field with an input mask.
Yes/No
Yes/No restricts the values to TRUE | FALSE (and in some cases, "empty").
Display options are: Yes/No, Toggle, Checkbox.
It is often better to use other fields types than a yes/no
If the field might be updated later to include a third option (such as "do not know" or "other"), then consider using a select field instead, and set the options to behave like a yes/no field (e.g., "Yes | No | Unsure")
If there are a series of yes/no questions that are thematically similar, put them all under a multi-select checkbox field instead
✅ Do 🔲 Mental health 🔲 Transportation 🔲 Food | ❌ Don't 🔲 Do you need help with transportation? 🔲 Do you need help with food? |
If you want to allow the user to not answer the question, then use the "yes | no" format, because the unselected format will save as "empty". Using the "checkbox" or "toggle" must start with a TRUE or FALSE default value.
Date/Time
Always use the date/time field when asking dates, as it provides a visual date picker and can be used in calculations.
Limit the time frame that can be selected (e.g., Birth dates can only be in the past, and potentially today, if the form is for newborns).
Select
Use select fields when you need to restrict answers to a pre-defined set, want the answers "coded" for algorithmic analysis, or need to use the answer options to clarify the meaning of the question.
Display formats: Radio Buttons, Checkboxes, Dropdown menu (single select), Dropdown menu (multi select).
Choosing drop-downs vs. radios/checkboxes:
Use radios/checkboxes when there are fewer options (less than 5-7), or the option text is longer than a few words
Use drop-downs when there are many options (greater than 5-7) and the option text is short.
Choosing horizontal vs. vertical orientation for radios/checkboxes:
Vertical orientation is generally preferred over horizontal layout, but it is an artistic choice dependent on the "feel" of the form
Only use horizontal layout for simple options with few words that fit on one line (e.g., 🔘 Yes 🔘 No 🔘 Unsure)
Avoid switching between horizontal and vertical within a page section
"Other - Specify" options:
When a select field has an associated "other" (or "comment", "details", etc...) option, add it as an additional question that is hidden unless a relevant option is selected.
In the specify field, say what is being specified (e.g., "specify other language"), not just "specify"
Don't write "specify" the the label of the option (e.g., 🔲 "Other", not 🔲 "Other (specify)")
✅ Do 🔲 English 🔲 French ✓ Other Specify other language: _________ | ❌ Don't Preferred language 🔲 English 🔲 French 🔲 Other (specify) Specify: _________ |
Agreement
An agreement field displays a Yes/No or Checkbox field, with additional standardized special formatting to visually designate its importance.
Use an agreement field in the following circumstances
Custom consent questions in addition to the standard consent question (learn more about building consent questions).
Terms & conditions in addition to the standard terms and conditions.
Acknowledgment statements.
Calculation
When using hidden calculations, put them in a hidden group at the bottom of the same page where their output is first being used.
7. Common Questions
There are many common questions which are asked across many forms (e.g., name, address, etc...). Over time, Caredove will add more of these questions to a "Library" section, which will have the best practices built into each question. When not available as a library question, use the following best practices for these questions.
Question Library
Caredove has a standardized library of common questions. Each question has standardized structure and wording that has been carefully designed with consideration for clarity, simplicity, layout, interoperability and the breadth of use cases that it could be applied to. Questions often have multiple items in them (e.g., first name, last name), may have conditional logic, and will have any interoperability settings pre-configured.
If you have a question that is in the question library, you should use the library version of it instead of building a new custom version. This helps keep a common experience across forms, and ensures that best practices are applied.
Try out the Caredove question library on the following, which contains finalized and draft versions of standardized questions.
There is a degree of customization that is available to library questions:
Library questions are not required by default. You can make all of parts of a library question required.
You can SUBTRACT items from a library (e.g., subtract postal/zip code from address), BUT, you cannot add it back in later. You will need to re-add it from the library.
Consent Questions
About Consent at Caredove
Principle 3 of the Caredove’s privacy policy (found here) is as follows:
"The “principle of consent” means that the knowledge and consent of the individual are required for the collection, use or disclosure of PI or PHI, except when inappropriate. Gathering consent is the obligation of the person collecting the PHI and using Caredove to make the referral.
Caredove assists referrers to record the acquisition of consent: In the case of revoked consent, referrers and can revoke the referral at any time before the referral has been received. Also, receiving organizations are able to create and revoke user access to referral PHI and log access to received and sent referrals. Caredove does not directly acquire consent from patients for the collection of PHI.
On any occasion where a patient self-refers through Caredove, the patient will be provided with all identifying purposes and be asked to provide consent in a click-through agreement."
Caredove Standard General Consent
Every Caredove referral form needs to have a general consent in which we share the name of the organization to which the client is giving consent to share their info. This consent statement is presented as a click-through agreement at the end of the form.
The standard Caredove consent statement is as follows:
"By submitting this form, I agree to send this personal information to **{{action-organization}}**, for the purpose of requesting **{{action-service}}**. I have the authorization to send the information about any other people that may be included on this form (e.g., a client, parent, child).
I agree to these Terms and Conditions and Privacy Policy, which outline how this personal information is kept safe."
If the request is also CC'd to an additional destination, that needs to also be included in the consent.
This consent statement is sufficient for most referral forms, without the need for an additional custom consent.
Custom Consent
An organization may have additional consent statements to include on the form. Custom consent statements are common on referrals to a central intake service or for services for infants/newborns, but uncommon on referral and contact forms.
Phrase the consent statement an action that can be agreed to with a yes/no answer. Often the phrase begins with "I consent to..." or "I agree that..."
Include the purpose of the action in the consent statement
Use the "Agreement" field type, with a yes/no style.
Limit to a maximum of 3 additional consent statements. Sometimes one consent can include multiple bullet points.
For referral forms to intake appointments, don't include consent to treat - which should be collected at the intake appointment rather than the referral form.
✅ Custom Statement Examples I agree that my personal information will be sent to Government Agency ABC, for the purposes of reporting on utilization of public health resources ⃝ Yes ⃝ No
⃝ Yes ⃝ No |
Acknowledgment vs. Consent Statements
While consent statements relate specifically to granting permission to perform an action and informing of the purpose of that action, and acknowledgment statement is meant to draw the person's attention to specific information.
✅ Custom acknowledgement Statement Examples I acknowledge that this service has a long wait list, and I may not start service in the next 12 months. I acknowledge that this service may have additional costs that may be identified after the initial appointment. ⃝ Yes ⃝ No |
Eligibility Questions
There are two ways to add eligibility questions. If launching the form from a referral or routing flow from a service, then the eligibility questions that are associated with the related service listing will be displayed to the user for confirmation. These are simple yes/no confirmations of eligibility stated as inclusion criteria. This should be the primary approach for building eligibility criteria
Sometimes more sophisticated eligibility questions are required (e.g., checking a calculated age vs. a date of birth, or conditionally displaying eligibility questions). In these cases additional eligibility questions may be included on the form.
See the "Form & Page Structure" section of this document for best practices on the placement and hierarchy of eligibility question.
Use the following guidelines when building eligibility criteria:
For agreement style (checkbox) eligibility, always make checking the box the CORRECT answer that allows to proceed with the form. For example, if the client must be over 65, have diabetes and be a non-smoker, require the form filler to CHECK all the criteria instead of leaving all of the criteria blank:
✅ Do ✓ Over age 65 ✓ Has diabetes ✓ Non-smoker | ❌ Don't ✓ Has diabetes 🔲 Smoker |
Whenever possible, express eligibility in the POSITIVE (i.e., and "inclusion criteria") rather than the NEGATIVE (i.e., "exclusion criteria")
Do ✅ Lives in Ontario | Don't ❌ Does not live outside Ontario |
When it is necessary to use exclusion criteria, instead if inclusion criteria, start with "Does not..." or "Is not".
Do | Don't |
Show the feedback message about being ineligible on a separate page. See the "Form & Page Structure" for details.
If there are eligibility questions that otherwise belong in the "Contact Information" or "Questions" sections, move the question in the eligibility section instead (e.g., Date of birth, postal code, etc..)
8. Conditional Display Logic
Conditional display logic allows you to show/hide questions and groups depending on the value of other fields on the form. It is very easy to over-complicate a form with sophisticated display logic, making it difficult to troubleshoot, maintain, and update.
Use the following best practices when building display logic:
Understand operators - particularly with multi-select questions, which have a lot of advanced sophistication. Read the Build Conditional Logic tutorial.
Build all of the display conditions for a question into a single question, never add the same question twice to a form configuration.
Multiple conditions can be included in conditional display logic. This has two configurations 1) ALL of the conditions must be true or 2) ANY of the conditions must be true. For more advanced nested conditions, first build calculation fields and then use the results in the conditional display logic.
Avoid "double negative" logic, where both the question and the operator are negative
Do | Don't ❌ smoker_status != non-smoker |