{"id":1680,"date":"2026-01-20T08:36:31","date_gmt":"2026-01-20T08:36:31","guid":{"rendered":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/?p=1680"},"modified":"2026-01-27T13:12:02","modified_gmt":"2026-01-27T13:12:02","slug":"custom-forms-builder","status":"publish","type":"post","link":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/kivicare-pro\/documentation\/features\/custom-forms-builder\/","title":{"rendered":"Custom Forms Builder"},"content":{"rendered":"<div class=\"nolwrap\">\n<p>Create unlimited, fully customizable forms for patients, doctors, appointments, and encounters using KiviCare Pro\u2019s powerful Custom Forms Builder\u2014no coding required.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Overview<\/strong><\/h2>\n\n\n\n<p>The <strong>Custom Forms Builder<\/strong> is one of the most flexible features in KiviCare Pro. It allows clinics to collect structured, accurate data across different workflows without modifying core code.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>What You Can Create<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Patient intake and registration forms<\/li>\n\n\n\n<li>Doctor credential and profile forms<\/li>\n\n\n\n<li>Appointment questionnaires<\/li>\n\n\n\n<li>Clinical encounter documentation<\/li>\n\n\n\n<li>Pre-consultation screening forms<\/li>\n\n\n\n<li>Post-treatment feedback forms<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Key Features<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Unlimited custom forms<\/li>\n\n\n\n<li>10+ configurable field types<\/li>\n\n\n\n<li>Easy drag-and-drop form builder<\/li>\n\n\n\n<li>Required field validation<\/li>\n\n\n\n<li>Conditional logic (coming soon)<\/li>\n\n\n\n<li>Export form data to CSV\/Excel<\/li>\n\n\n\n<li>Module-specific form integration<\/li>\n\n\n\n<li>Fully mobile-responsive design<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Available Field Types<\/strong><\/h2>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Text-Based Fields<\/strong><\/h5>\n\n\n\n<p><strong>1. Text Input<\/strong><br>Single-line text field<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ideal for names, IDs, and short answers<\/li>\n\n\n\n<li>Options: placeholder text, default value, maximum length<\/li>\n<\/ul>\n\n\n\n<p><strong>2. Textarea<\/strong><br>Multi-line text input<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Best for medical history, notes, and descriptions<\/li>\n\n\n\n<li>Options: number of rows, placeholder text<\/li>\n<\/ul>\n\n\n\n<p><strong>3. Email<\/strong><br>Validated email input<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ensures correct email format<\/li>\n\n\n\n<li>Commonly used for contact information<\/li>\n<\/ul>\n\n\n\n<p><strong>4. Phone<\/strong><br>Phone number input field<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Supports format validation<\/li>\n\n\n\n<li>Ideal for contact numbers<\/li>\n<\/ul>\n\n\n\n<p><strong>5. Number<\/strong><br>Numeric-only input<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Suitable for age, weight, height, or measurements<\/li>\n\n\n\n<li>Options: minimum, maximum, and step values<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Selection Fields<\/strong><\/h5>\n\n\n\n<p><strong>6. Dropdown (Select)<\/strong><br>Single option selection from a list<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Useful for categories such as blood type or gender<\/li>\n\n\n\n<li>Supports default selection<\/li>\n<\/ul>\n\n\n\n<p><strong>7. Radio Buttons<\/strong><br>Single selection with visible options<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Best for Yes\/No or small option sets<\/li>\n\n\n\n<li>Provides better usability than dropdowns<\/li>\n<\/ul>\n\n\n\n<p><strong>8. Checkboxes<\/strong><br>Multiple selections allowed<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ideal for symptoms, allergies, or conditions<\/li>\n\n\n\n<li>Supports default checked options<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Special Fields<\/strong><\/h5>\n\n\n\n<p><strong>9. Date Picker<\/strong><br>Calendar-based date selection<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Used for birth dates, procedures, or events<\/li>\n\n\n\n<li>Supports date format and min\/max limits<\/li>\n<\/ul>\n\n\n\n<p><strong>10. File Upload<\/strong><br>Upload documents or images<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ideal for reports, ID cards, or insurance documents<\/li>\n\n\n\n<li>Options: file types and size limits<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Creating Your First Custom Form<\/strong><\/h2>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Step 1: Open the Form Builder<\/strong><\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <strong>Settings \u2192 Custom Forms<\/strong><\/li>\n\n\n\n<li>Click <strong>Add New Form<\/strong><\/li>\n<\/ol>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Step 2: Configure Basic Form Details<\/strong><\/h5>\n\n\n    <div class=\"docsy-code-block with-line-numbers\" data-language=\"javascript\">\n                \n        <div class=\"code-header\">\n            <span class=\"code-language\">JAVASCRIPT<\/span>\n            <button class=\"code-copy-btn\" aria-label=\"Copy code\">\n                <i class=\"ph ph-copy\"><\/i>\n                <span class=\"copy-text\">Copy<\/span>\n                <span class=\"copied-text\">Copied!<\/span>\n            <\/button>\n        <\/div>\n        \n        <div class=\"code-wrapper\">\n            <pre class=\"language-javascript\"><code class=\"language-javascript\">Form Name: New Patient Intake Form\nDescription: Comprehensive intake form for new patients\nModule Type: Patient Module\nStatus: Active\n<\/code><\/pre>\n            \n                            <div class=\"line-numbers-wrapper\" aria-hidden=\"true\">\n                                            <span class=\"line-number\">1<\/span>\n                                            <span class=\"line-number\">2<\/span>\n                                            <span class=\"line-number\">3<\/span>\n                                            <span class=\"line-number\">4<\/span>\n                                            <span class=\"line-number\">5<\/span>\n                                    <\/div>\n                    <\/div>\n        \n            <\/div>\n    \n\n\n<h5 class=\"wp-block-heading\"><strong>Module Types Explained<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Patient Module<\/strong> \u2013 Appears while adding or editing patients<\/li>\n\n\n\n<li><strong>Doctor Module<\/strong> \u2013 Used for doctor profiles and credentials<\/li>\n\n\n\n<li><strong>Appointment Module<\/strong> \u2013 Displayed during appointment booking<\/li>\n\n\n\n<li><strong>Encounter Module<\/strong> \u2013 Used inside patient encounters<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Step 3: Add Form Fields<\/strong><\/h5>\n\n\n\n<p>Build a complete patient intake form by adding fields one by one.<\/p>\n\n\n\n<p>Examples include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Known Allergies (Textarea, Required)<\/li>\n\n\n\n<li>Current Medications (Textarea)<\/li>\n\n\n\n<li>Blood Type (Dropdown)<\/li>\n\n\n\n<li>Emergency Contact Details (Text &amp; Phone)<\/li>\n\n\n\n<li>Chronic Conditions (Checkboxes)<\/li>\n\n\n\n<li>Smoking Status (Radio Buttons)<\/li>\n\n\n\n<li>Insurance Information (Text &amp; File Upload)<\/li>\n<\/ul>\n\n\n\n<p>Each field allows customization such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Labels and placeholders<\/li>\n\n\n\n<li>Required or optional status<\/li>\n\n\n\n<li>Validation rules<\/li>\n\n\n\n<li>Display options<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Step 4: Review and Publish<\/strong><\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Review all fields<\/li>\n\n\n\n<li>Reorder fields using drag-and-drop<\/li>\n\n\n\n<li>Click <strong>Save Form<\/strong><\/li>\n\n\n\n<li>Set status to <strong>Active<\/strong><\/li>\n\n\n\n<li>Click <strong>Publish<\/strong><\/li>\n<\/ol>\n\n\n\n<p>\u2705 Your form is now live and ready to use.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"617\" src=\"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-content\/uploads\/sites\/18\/2026\/01\/cusform-form--1024x617.png\" alt=\"\" class=\"wp-image-2539\" srcset=\"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-content\/uploads\/sites\/18\/2026\/01\/cusform-form--1024x617.png 1024w, https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-content\/uploads\/sites\/18\/2026\/01\/cusform-form--300x181.png 300w, https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-content\/uploads\/sites\/18\/2026\/01\/cusform-form--768x463.png 768w, https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-content\/uploads\/sites\/18\/2026\/01\/cusform-form-.png 1534w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Where Custom Forms Appear<\/strong><\/h2>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Patient Module<\/strong><\/h5>\n\n\n\n<p>Displayed when adding or editing a patient.<br>Form data is saved with the patient profile and can be viewed or edited later.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Doctor Module<\/strong><\/h5>\n\n\n\n<p>Used during doctor creation or profile editing.<br>Ideal for storing licenses, experience, certifications, and affiliations.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Appointment Module<\/strong><\/h5>\n\n\n\n<p>Shown during appointment booking.<br>Useful for pre-appointment questions, symptoms, or screening forms.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Encounter Module<\/strong><\/h5>\n\n\n\n<p>Accessible within patient encounters.<br>Form responses become part of the clinical record.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Form Design Best Practices<\/strong><\/h2>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Organize Related Fields<\/strong><\/h5>\n\n\n\n<p>Group fields into logical sections such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Emergency contact details<\/li>\n\n\n\n<li>Insurance information<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Use Clear Labels<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Good: \u201cEmergency Contact Phone Number\u201d<\/li>\n\n\n\n<li>Avoid: vague or unclear labels<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Helpful Placeholders<\/strong><\/h5>\n\n\n\n<p>Provide examples to guide users and reduce errors.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Required Fields<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Mark only essential fields as required<\/li>\n\n\n\n<li>Display clear validation messages<\/li>\n\n\n\n<li>Prevent form submission if required fields are empty<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Viewing Form Data<\/strong><\/h2>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Patient Profiles<\/strong><\/h5>\n\n\n\n<p>Custom form data is visible inside the patient profile, organized by form and submission date.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Appointments<\/strong><\/h5>\n\n\n\n<p>Pre-appointment form responses appear within appointment details.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Encounters<\/strong><\/h5>\n\n\n\n<p>Encounter-specific forms are saved as part of the patient\u2019s medical record.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Exporting Form Data<\/strong><\/h2>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Export Individual Forms<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Choose date range<\/li>\n\n\n\n<li>Export as CSV or Excel<\/li>\n\n\n\n<li>Ideal for backups or reporting<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Bulk Export<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Export submissions from multiple forms<\/li>\n\n\n\n<li>Generate consolidated reports<\/li>\n\n\n\n<li>Useful for analytics, research, or EMR imports<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Editing Existing Forms<\/strong><\/h2>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>What You Can Edit Safely<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Add new fields<\/li>\n\n\n\n<li>Change labels or placeholders<\/li>\n\n\n\n<li>Reorder fields<\/li>\n\n\n\n<li>Add dropdown options<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Use Caution When<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Deleting fields<\/li>\n\n\n\n<li>Changing field types<\/li>\n\n\n\n<li>Removing existing dropdown values<\/li>\n<\/ul>\n\n\n\n<p>\ud83d\udca1 Best practice: duplicate forms before major structural changes.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Real-World Use Cases<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Diabetes assessment forms<\/li>\n\n\n\n<li>Pre-operative screening questionnaires<\/li>\n\n\n\n<li>Pediatric growth and vaccination records<\/li>\n<\/ul>\n\n\n\n<p>Each use case can be tailored to specific workflows using field types and validation rules.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Troubleshooting<\/strong><\/h2>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Form Not Visible<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ensure form status is <strong>Active<\/strong><\/li>\n\n\n\n<li>Confirm correct module selection<\/li>\n\n\n\n<li>Clear cache and refresh<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Required Fields Not Validating<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Re-save the field with the required option enabled<\/li>\n\n\n\n<li>Test in a different browser<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>File Upload Issues<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Verify file size and allowed types<\/li>\n\n\n\n<li>Check server upload limits<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Data Not Saving<\/strong><\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Confirm all required fields are completed<\/li>\n\n\n\n<li>Check database connection<\/li>\n\n\n\n<li>Test for plugin conflicts<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Advanced Tips<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create reusable form templates<\/li>\n\n\n\n<li>Maintain versioning in form descriptions<\/li>\n\n\n\n<li>Export data regularly for analysis<\/li>\n\n\n\n<li>Use separate forms for multiple languages<\/li>\n\n\n\n<li>Prepare for conditional logic (upcoming feature)<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Related Features<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><a href=\"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/kivicare-pro\/documentation-kivicare-pro\/features-documentation-kivicare-pro\/encounter-templates\/\">Encounter Templates<\/a><\/strong> \u2013 Structured clinical documentation<\/li>\n\n\n\n<li><strong>Patient Management<\/strong> \u2013 Centralized patient records<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/kivicare-pro\/documentation-kivicare-pro\/advanced-feature-pro\/reports-analytics\/\">Reports &amp; Analytics<\/a><\/strong> \u2013 Insights from submitted form data<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Create unlimited, fully customizable forms for patients, doctors, appointments, and encounters using KiviCare Pro\u2019s powerful Custom Forms Builder\u2014no coding required. Overview The Custom Forms Builder is one of the most flexible features in KiviCare Pro. It allows clinics to collect structured, accurate data across different workflows without modifying core code. What You Can Create Key [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"parent":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":[],"class_list":["post-1680","post","type-post","status-publish","format-standard","hentry","category-features-documentation-kivicare-pro"],"featured_image_src":null,"author_info":{"display_name":"wordpressadminiq","author_link":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/author\/wordpressadminiq\/"},"_links":{"self":[{"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/posts\/1680","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/comments?post=1680"}],"version-history":[{"count":6,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/posts\/1680\/revisions"}],"predecessor-version":[{"id":2540,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/posts\/1680\/revisions\/2540"}],"wp:attachment":[{"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/media?parent=1680"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/categories?post=1680"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/documentation.iqonic.design\/kivicare-wordpress\/wp-json\/wp\/v2\/tags?post=1680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}