Zdrovia includes a full-featured form builder that lets your clinic create custom forms for patient intake, visit documentation, consent collection, and more. Forms are built once, then assigned to a service, required of every patient, or used to gate an online purchase.
Overview
Forms in Zdrovia serve several purposes:
| Form Type | Where It Applies | Submitted |
|---|---|---|
| Default Patient Forms | All patients (clinic-wide) | Once per patient |
| Intake Forms | A patient’s record | Once per record |
| Visit Forms | A specific visit | Each appointment |
| Service Forms | A booked service | Each appointment where that service is performed |
| Gating Forms | A storefront product | Before the product can be bought — needs practitioner approval |
| Ad-hoc Forms | Added manually on demand | As needed |
The Forms List
Navigate to Forms in the sidebar to see all forms created for your clinic.
Each form card shows:
- Form name
- Description (if set)
- Date created
- Last modified
Actions from the list:
- Create new form — click “New Form”
- Edit a form — click the form card or select Edit from the menu
- Delete a form — select Delete from the card menu (requires confirmation)
Creating a Form
- Navigate to Forms in the sidebar
- Click New Form
- A new blank form opens in the form editor
The Form Editor
The form editor is a drag-and-drop interface for building form fields and structure.
Form Settings
At the top of the editor:
- Form name — the title shown to staff and patients
- Description — optional context or instructions for the form
Form Components
The form builder uses a schema-based component system. You can add the following types of fields:
| Component | Description |
|---|---|
| Text Input | Single-line text entry |
| Textarea | Multi-line text entry |
| Number | Numeric input |
| Select / Dropdown | Choose one option from a list |
| Multi-select | Choose multiple options |
| Checkbox | Single true/false checkbox |
| Checkbox Group | Multiple checkboxes with labels |
| Radio Group | Choose one from a set of radio buttons |
| Date | Date picker |
| Signature | Capture a drawn signature |
| File Upload | Allow the patient to attach a file |
| Heading | Static text heading (not a field) |
| Paragraph | Static descriptive text (not a field) |
| Divider | Visual separator between sections |
Adding Fields
- In the form editor, use the component panel to select a field type
- Drag it into position in the form layout, or click to append it
- Configure the field:
- Label — what the user sees
- Placeholder — hint text inside the input
- Required — whether the field must be filled before submission
- Options — for dropdowns, radio groups, checkboxes: define the list of choices
Reordering Fields
Drag any field up or down in the editor to reorder it. The order in the editor is the order shown to the user.
Deleting Fields
Select a field and click the delete icon to remove it from the form.
Saving the Form
Click Save to save the form to the server. Forms are versioned — each save creates a new revision of the form definition.
Publishing
Published forms are accessible via the patient portal. Drafts are visible to staff only. Toggle the publish state in the form editor to control patient access.
Embedding a form
A published form can be embedded in your own website. Zdrovia gives you embed instructions from the form editor; the embedded form runs at /embed/forms/:code and submits back to your clinic.
The embed uses a short-lived access code rather than a login, so a patient can complete an intake form from your homepage without an account. Signature, sketch and annotation fields all work in the embed.
Importing from PDF
Click Import PDF to upload a PDF document and automatically generate form fields from it. Zdrovia will parse the PDF structure and create appropriate field types. You can then review and adjust the generated fields before saving.
This is useful for:
- Digitizing existing paper forms
- Converting PDF templates from regulatory bodies
- Onboarding forms originally designed in word processors
Form Submissions
When a patient or staff member fills out a form, Zdrovia creates a Form Submission. Submissions are stored against the relevant context:
- Patient record — if filled in the Intake tab
- Visit — if filled in the Visit tab
- Patient — if filled from the Patient Intake Forms card on the profile
- Product listing — if the form gates an online purchase
Submission Revisions
Every time a form is submitted or updated, a new revision is created. Previous revisions are never deleted. This means you always have a complete history of how a form was filled at any point in time.
From the form dialog:
- A revision selector dropdown appears if there are multiple submissions
- Each revision shows: revision number, date submitted, who submitted it (staff or patient), and the action taken
- You can view any historical revision by selecting it from the dropdown
Who Can Submit
Forms can be submitted by:
- Staff — from the record or patient page inside Zdrovia
- Patients — via the patient portal, a kiosk, a handoff link, a form embedded in your site, or a link in a message
The submission record tracks who submitted and when.
Assigning Forms
Forms are assigned to the service a patient books, or to the service line that service sits on. Where both define forms, the service wins — configure at the service level.
Service Forms (per visit)
Shown in the Visit tab every time this service is performed. Use them for procedure-specific consent and documentation.
To assign:
- Navigate to Services in the sidebar
- Open the service
- Under Before and after the visit, add to Default forms
- Save
Intake Forms (once per record)
Asked once for the whole course of care.
To assign:
- Navigate to Services in the sidebar
- Open the service
- Under Service line, click Chart template & forms…
- Add the forms asked once for the course of care
- Save
Gating a Product Purchase
A storefront listing can require a form before a patient may buy it — a consultation questionnaire before a prescription-adjacent product, for example.
When a patient submits a gating form, it lands on Form Reviews (/dashboard/form-reviews): submissions waiting on a practitioner before a gated product can be bought.
| Action | Effect |
|---|---|
| Approve | The patient may buy the product |
| Reject | The purchase stays blocked |
| Invalidate | An earlier approval is withdrawn |
If the patient submits a newer revision while you are looking at an older one, Zdrovia names the revision to review rather than letting you act on the superseded one.
Default Patient Forms
Default patient forms are required for all patients clinic-wide, regardless of what they book.
To configure default forms:
- Navigate to Organization settings
- Find the Default Patient Forms section
- Add or remove forms
These forms appear on the Patient Intake Forms card on every patient profile.
Getting Forms to Patients
There are five ways a form reaches a patient, and only one of them needs an account.
| Surface | Route | Use it for |
|---|---|---|
| Patient portal | /portal |
A patient with a login, filling before they arrive |
| Form queue | /fill |
A clinic device handed to the patient in the room |
| Kiosk | /kiosk |
A waiting-room device — the patient enters a code, fills forms, and can check out |
| Handoff | /form-handoff |
Moving a form from a clinic screen to the patient’s own phone |
| Embed | /embed/forms/:code |
A form on your own website |
The last four use a short-lived access code rather than a session. The code is single-purpose and expires, so nothing else is reachable with it.
You can also attach a form to a message thread, which the patient opens and fills without leaving the conversation.
The Form Queue
The Form Queue is a workflow tool for processing multiple forms in sequence without navigating away.
How It Works
- On a patient’s profile or treatment page, click Add to Queue on one or more form cards
- Forms are added to the queue (visible as a popover/indicator in the header)
- Click the queue indicator to open it
- Work through each form in the queue, submitting one at a time
- The queue advances to the next form after each submission
- Clear the queue when done
Rules:
- All forms in the queue must be for the same patient
- Adding a form that’s already in the queue has no effect (no duplicates)
- Resetting the queue clears both the forms and the patient context
The Form Queue is especially useful during patient intake sessions where multiple forms need to be completed back-to-back.
Tips
- Use Paragraphs and Headings components to add instructions and section breaks within your forms — these help guide patients through longer intake forms.
- The Signature component is essential for consent forms — it captures a drawn signature inline in the form.
- Form submissions are immutable revisions — you never overwrite data, you only add new revisions. This creates a complete audit trail.
- Visit forms reset for each new visit — the previous session’s submission is preserved as history, and a fresh blank form is presented for the new visit.
- Use kiosk mode on a waiting-room tablet rather than emailing intake forms. Completion rates are not comparable.
- Embed your intake form on your own site. A patient who fills it before booking is a patient your front desk never has to chase.
- Only gate the products that clinically need gating — every gated product adds a review to someone’s queue.
