Laravel Medical History Form for Filament | FilaForms                                 [ ![Filaforms Logo](https://filaforms.app/logo.svg)FilaForms

 ](https://filaforms.app)  [ Features ](https://filaforms.app#features) [ Pricing ](https://filaforms.app/pricing) [ Blog ](https://filaforms.app/blog) [ Documentation ](https://docs.filaforms.app)  [ Try Demo ](https://filaforms.app/login) [ Buy a license ](https://filaforms.app/pricing#plans) 

 [ Features ](https://filaforms.app#features) [ Pricing ](https://filaforms.app/pricing) [ Blog ](https://filaforms.app/blog) [ Documentation ](https://docs.filaforms.app) [ Try Demo ](https://filaforms.app/login) [ Buy a license ](https://filaforms.app/pricing#plans) 

  1. [Home](https://filaforms.app)
2. /
3. [Form Templates](https://filaforms.app/templates)
4. /
5. Record a patient's medical history before their first visit

 Healthcare template

Record a patient's medical history before their first visit
===========================================================

Import a Laravel medical history form for Filament, collect pre-visit health details, and handle submissions inside your application.

 [ Open this template in the demo builder ](https://filaforms.app/app/templates/medical-history) 13 fields, 2 required. Free demo account, no card. 

 Updated September 2, 2026

 This Laravel medical history form collects pre-visit health context in the Laravel application your clinic or wellness practice already runs. Import the template into FilaForms, review the field table below, and give patients a structured way to prepare before their first appointment.

The imported form gives your application a starting point for a patient history workflow. Submissions remain close to the patient, appointment, and staff processes you already operate. Your team can review a response in the submission dashboard, then use application code when it needs to notify, triage, or create an internal record.

The form should help a clinician prepare, not replace clinical judgement. Patients may omit details, misunderstand a question, or report information that needs follow-up. Make the form's purpose clear before submission, and let staff confirm important information during the appointment.

A 2024 multicenter study published in PMC found that 92.7% of 5,321 patients fully completed a computer-assisted history questionnaire before an orthopedic consultation. Completion still depends on the wording, language, device access, and time available to each patient.

[FilaForms is a Laravel form builder for Filament](/) when a team wants to manage forms inside the application it runs. The visual builder keeps changes in the panel instead of a hand-written Filament schema. The form table provides the imported structure, while the settings block controls its behaviour in that panel.

  Fields in this template (13 fields, 2 required) 
-------------------------------------------------

 Field types used: Text, Date, Number, Multi Select, Textarea, Tags Input, Checkbox List, Radio, Select. Every field is editable in the builder after import.

### Patient

    Field Type Required Validation      Full Name `full_name`   Text  Yes  `required`     Date of Birth `date_of_birth`   Date  Yes  `required`     Height (cm) `height`   Number  No  `numeric`     Weight (kg) `weight`   Number  No  `numeric`     

### History

    Field Type Required Validation      Existing Conditions `conditions`   Multi Select, 9 options  No  none     Current Medication `medication`   Textarea  No  none     Allergies `allergies`   Tags Input  No  none     Previous Surgeries `surgeries`   Textarea  No  none     Family History `family_history`   Checkbox List, 6 options  No  none     

### Lifestyle

    Field Type Required Validation      Smoking Status `smoking`   Radio, 3 options  No  none     Alcohol Units Per Week `alcohol_units`   Number  No  `integer | min:0`     Exercise Per Week `exercise`   Select, 5 options  No  none     Anything Else We Should Know? `notes`   Textarea  No  none     

 Use the submission in your clinic workflow
------------------------------------------

The field table below renders from the imported template. Its grouping helps patients work through sensitive information in a predictable order. Keep the questions focused on what the receiving practice can use before the visit. A longer questionnaire can create more review work without improving the appointment.

Decide who reviews each submission and when. A receptionist may only need confirmation that a form arrived. A nurse may need to flag a response for clinician review. The clinician should see the original submission when context matters, rather than only a simplified note created by a later workflow.

Keep the form separate from the record types created after review. A submitted response records what a patient provided at a point in time. A clinician's verified history may require its own model, permissions, audit trail, and update process. That distinction prevents a workflow from treating unreviewed answers as confirmed medical facts.

The template suits a general clinic or wellness practice as a baseline. For an OB-GYN intake, add a `pregnancy_status` field when that context supports the appointment. For a pediatric version, remove the lifestyle section entirely when it does not fit the patient's age or the practice's review process. Test the revised wording with the people who complete and review it.

Do not duplicate the field table in application documentation or page copy. Let the imported template remain the shared definition of the form. When your practice changes a question, review the downstream listener, staff instructions, and any report that depends on that answer.

FilaForms emits `FormSubmitted` after a patient submits the form. The listener below reads `full_name`, `conditions`, and `medication` from the submission data. It records the received values with the form and submission identifiers, which gives an application workflow a traceable handoff point.

Save this listener as `app/Listeners/LogMedicalHistorySubmission.php`. Laravel 12 discovers listeners in that directory automatically.

```
submission->data;

        $fullName = $data['full_name'] ?? null;
        $conditions = $data['conditions'] ?? null;
        $medication = $data['medication'] ?? null;

        Log::info('Medical history submission received', [
            'form_id' => $event->form->getKey(),
            'submission_id' => $event->submission->getKey(),
            'full_name' => $fullName,
            'conditions' => $conditions,
            'medication' => $medication,
        ]);
    }
}

```

Replace the logging destination with a workflow that fits your application. A clinic might assign a task to a care coordinator, notify an internal queue, or create a draft record for review. Preserve the original submission as the source response. Link derived records back to it so staff can revisit the patient's exact answers when a question arises.

Treat health information with care from the first submission through deletion. Limit which roles can view history responses. Define how long the application retains them. Review backups, exported reports, and notification content, because a secure form screen does not protect data copied into an insecure destination.

This is not a HIPAA-compliant record store by default. You still have to configure encryption and access controls appropriate for health data yourself. Your deployment, policies, user roles, hosting choices, and integration behaviour determine whether the wider workflow meets your obligations.

Review the [FilaForms features for Laravel and Filament](/features) when you need conditional questions, multi-step forms, notifications, or submission reporting around this template. Build only the follow-up workflow your practice can staff and maintain.

 Use this template in your own application
-----------------------------------------

 With FilaForms installed, one call creates the form with every field, rule, and setting listed above. Then edit it in the builder.

```
use FilaForms\Core\Support\FormTemplates;

$form = FormTemplates::createFormFromTemplate('medical-history');
```

  Template schema (JSON) ```
{
    "name": "Medical History Form",
    "description": "Capture conditions, medication and family history",
    "icon": "heroicon-o-heart",
    "category": "Healthcare",
    "popularity": "Very High",
    "sections": [
        {
            "name": "Patient",
            "fields": [
                {
                    "label": "Full Name",
                    "type": "text",
                    "code": "full_name",
                    "required": true,
                    "width": "50"
                },
                {
                    "label": "Date of Birth",
                    "type": "date",
                    "code": "date_of_birth",
                    "required": true,
                    "width": "50"
                },
                {
                    "label": "Height (cm)",
                    "type": "number",
                    "code": "height",
                    "required": false,
                    "validation": [
                        {
                            "name": "numeric",
                            "parameters": []
                        }
                    ],
                    "width": "50"
                },
                {
                    "label": "Weight (kg)",
                    "type": "number",
                    "code": "weight",
                    "required": false,
                    "validation": [
                        {
                            "name": "numeric",
                            "parameters": []
                        }
                    ],
                    "width": "50"
                }
            ]
        },
        {
            "name": "History",
            "fields": [
                {
                    "label": "Existing Conditions",
                    "type": "multi-select",
                    "code": "conditions",
                    "required": false,
                    "options": [
                        {
                            "value": "Asthma"
                        },
                        {
                            "value": "Diabetes"
                        },
                        {
                            "value": "Heart disease"
                        },
                        {
                            "value": "High blood pressure"
                        },
                        {
                            "value": "Epilepsy"
                        },
                        {
                            "value": "Thyroid disorder"
                        },
                        {
                            "value": "Cancer"
                        },
                        {
                            "value": "Mental health condition"
                        },
                        {
                            "value": "None"
                        }
                    ],
                    "width": "100"
                },
                {
                    "label": "Current Medication",
                    "type": "textarea",
                    "code": "medication",
                    "required": false,
                    "placeholder": "Include dose and frequency",
                    "width": "100"
                },
                {
                    "label": "Allergies",
                    "type": "tags-input",
                    "code": "allergies",
                    "required": false,
                    "width": "100"
                },
                {
                    "label": "Previous Surgeries",
                    "type": "textarea",
                    "code": "surgeries",
                    "required": false,
                    "width": "100"
                },
                {
                    "label": "Family History",
                    "type": "checkbox-list",
                    "code": "family_history",
                    "required": false,
                    "options": [
                        {
                            "value": "Heart disease"
                        },
                        {
                            "value": "Diabetes"
                        },
                        {
                            "value": "Cancer"
                        },
                        {
                            "value": "Stroke"
                        },
                        {
                            "value": "Mental health condition"
                        },
                        {
                            "value": "None known"
                        }
                    ],
                    "width": "100"
                }
            ]
        },
        {
            "name": "Lifestyle",
            "fields": [
                {
                    "label": "Smoking Status",
                    "type": "radio",
                    "code": "smoking",
                    "required": false,
                    "options": [
                        {
                            "value": "Never smoked"
                        },
                        {
                            "value": "Former smoker"
                        },
                        {
                            "value": "Current smoker"
                        }
                    ],
                    "width": "50"
                },
                {
                    "label": "Alcohol Units Per Week",
                    "type": "number",
                    "code": "alcohol_units",
                    "required": false,
                    "validation": [
                        {
                            "name": "integer",
                            "parameters": []
                        },
                        {
                            "name": "min",
                            "parameters": [
                                "0"
                            ]
                        }
                    ],
                    "width": "50"
                },
                {
                    "label": "Exercise Per Week",
                    "type": "select",
                    "code": "exercise",
                    "required": false,
                    "options": [
                        {
                            "value": "None"
                        },
                        {
                            "value": "Under 1 hour"
                        },
                        {
                            "value": "1-3 hours"
                        },
                        {
                            "value": "3-5 hours"
                        },
                        {
                            "value": "5+ hours"
                        }
                    ],
                    "width": "50"
                },
                {
                    "label": "Anything Else We Should Know?",
                    "type": "textarea",
                    "code": "notes",
                    "required": false,
                    "width": "50"
                }
            ]
        }
    ]
}
```

  Frequently asked questions
--------------------------

  What does this Laravel medical history form do? It collects pre-visit health context in the Laravel application your clinic or wellness practice already runs. 

 Can I adapt this form for a specialty practice? Yes. Add pregnancy\_status for an OB-GYN intake, or remove the lifestyle section for a pediatric version. 

 How do I handle a submitted medical history in Laravel? Listen for FilaForms\\\\Core\\\\Events\\\\FormSubmitted and read full\_name, conditions, and medication from the submission data. 

 Is this a HIPAA-compliant medical record store? No. It is not a HIPAA-compliant record store by default, so you must configure encryption and access controls appropriate for health data. 

   Run this form inside your Laravel app.
--------------------------------------

 FilaForms installs as a Filament plugin. Submissions land in your own database.

 [ Try it in the demo ](https://filaforms.app/app/templates/medical-history) [ See pricing ](https://filaforms.app/pricing) 

More templates
--------------

- [ Register new patients with contact, insurance and consent details Import a Laravel patient intake form for Filament, collect contact, insurance, and consent... ](https://filaforms.app/templates/patient-intake)
- [ Measure how patients experienced their visit, not just outcomes Import a Laravel patient experience survey for Filament, collect visit feedback, and route... ](https://filaforms.app/templates/patient-experience-survey)
- [ Enroll a student with guardian and medical details in one form Import a Laravel student enrollment form for Filament, collect guardian and medical detail... ](https://filaforms.app/templates/student-enrollment)
- [ Get guardian consent and medical notes before a school trip Import a Laravel field trip permission slip for Filament, collect guardian consent and med... ](https://filaforms.app/templates/field-trip-permission)
- [ Ask attendees how your event went, right after it ends Import a Laravel event feedback form for Filament, collect attendee ratings, and route eac... ](https://filaforms.app/templates/event-feedback)
- [ Brief a writer with everything they need before they start Import a Laravel content request form template for Filament, collect complete writer brief... ](https://filaforms.app/templates/content-request)
- [ Capture honest feedback before an employee's last day Install a Laravel exit interview form for Filament, route sensitive answers carefully, and... ](https://filaforms.app/templates/exit-interview)
- [ Capture scope changes and client approval before work starts Import a Laravel change request form for Filament, record scope, cost, priority, and clien... ](https://filaforms.app/templates/change-request)

    ![FilaForms Logo](/logo.svg) FilaForms 

 Laravel form infrastructure for Filament. Stop rebuilding forms on every project.

 [ Buy a license   ](https://filaforms.app/pricing#plans) 

 ### Product

 [ Features ](https://filaforms.app#features) [ Documentation ](https://docs.filaforms.app) [ Blog ](https://filaforms.app/blog) [ Compare form builders ](https://filaforms.app/compare) [ Templates ](https://filaforms.app/templates) [ Pricing ](https://filaforms.app/pricing) [ About ](https://filaforms.app/about) [ Contact ](mailto:hello@filaforms.app) 

 ### Legal

 [ Terms of Service ](https://filaforms.app/terms-of-service) [ Privacy Policy ](https://filaforms.app/privacy-policy) 

  © 2025-2026 FilaForms. All rights reserved.

 [    ](mailto:hello@filaforms.app) [    ](https://x.com/MinasyanManuk)
