{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "patient-intake-form",
  "title": "Patient Intake Form",
  "type": "registry:block",
  "files": [
    {
      "path": "packages/registry-react/blocks/patient-intake-form/PatientIntakeForm.tsx",
      "content": "'use client'\n\nimport * as React from 'react'\nimport {\n  Activity,\n  AlertTriangle,\n  Building2,\n  Calendar,\n  Check,\n  ChevronLeft,\n  ChevronRight,\n  CreditCard,\n  Download,\n  FileCheck,\n  FileText,\n  Lock,\n  Phone,\n  RotateCcw,\n  ShieldCheck,\n  Stethoscope,\n  User,\n  UserCheck,\n} from 'lucide-react'\nimport { cn } from '@/lib/utils'\nimport { Badge } from '@/components/ui/badge'\nimport { Button } from '@/components/ui/button'\nimport { Checkbox } from '@/components/ui/checkbox'\nimport { Input } from '@/components/ui/input'\nimport { Label } from '@/components/ui/label'\nimport { SectionCard } from '@/components/ui/section-card'\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'\nimport { Separator } from '@/components/ui/separator'\nimport { Stepper } from '@/components/ui/stepper'\nimport { Textarea } from '@/components/ui/textarea'\n\nexport interface PatientIntakeData {\n  // Step 1: Personal Information\n  firstName: string\n  middleName: string\n  lastName: string\n  preferredName: string\n  dob: string\n  biologicalSex: string\n  maritalStatus: string\n  phone: string\n  email: string\n  streetAddress: string\n  city: string\n  state: string\n  zipCode: string\n  emergencyName: string\n  emergencyRelationship: string\n  emergencyPhone: string\n\n  // Step 2: Medical History\n  chronicConditions: string[]\n  hasAllergies: boolean\n  allergyDetails: string\n  currentMedications: string\n  pastSurgeries: string\n  primaryCarePhysician: string\n  clinicPhone: string\n\n  // Step 3: Insurance & Billing\n  insuranceCarrier: string\n  memberId: string\n  groupNumber: string\n  policyholderName: string\n  policyholderRelationship: string\n  frontCardUploaded: boolean\n  backCardUploaded: boolean\n\n  // Step 4: Consent & Sign\n  hipaaConsent: boolean\n  treatmentConsent: boolean\n  telehealthConsent: boolean\n  signatureName: string\n  signatureDate: string\n  signerRole: string\n}\n\nexport interface PatientIntakeFormProps {\n  initialStep?: number\n  initialData?: Partial<PatientIntakeData>\n  className?: string\n  onSubmit?: (data: PatientIntakeData) => void\n  onStepChange?: (step: number) => void\n}\n\nconst steps = [\n  { id: 1, title: 'Personal Information', description: 'Demographics & Contact' },\n  { id: 2, title: 'Medical History', description: 'Conditions & Medications' },\n  { id: 3, title: 'Insurance & Billing', description: 'Coverage & Card Photos' },\n  { id: 4, title: 'Consent & Sign', description: 'HIPAA & Authorization' },\n]\n\nconst CHRONIC_CONDITIONS = [\n  { id: 'hypertension', label: 'Hypertension (High Blood Pressure)' },\n  { id: 'diabetes', label: 'Diabetes (Type 1 or Type 2)' },\n  { id: 'asthma', label: 'Asthma / Respiratory Conditions' },\n  { id: 'heart_disease', label: 'Coronary Artery / Heart Disease' },\n  { id: 'arthritis', label: 'Arthritis / Chronic Joint Pain' },\n  { id: 'cancer', label: 'Cancer / Remission History' },\n  { id: 'thyroid', label: 'Thyroid / Endocrine Disorder' },\n  { id: 'anxiety_depression', label: 'Depression / Clinical Anxiety' },\n  { id: 'kidney_disease', label: 'Chronic Kidney Disease' },\n  { id: 'gerd', label: 'Acid Reflux / GERD' },\n]\n\nconst INSURANCE_CARRIERS = [\n  { id: 'bcbs', label: 'BlueCross BlueShield' },\n  { id: 'aetna', label: 'Aetna Health' },\n  { id: 'cigna', label: 'Cigna Healthcare' },\n  { id: 'united', label: 'UnitedHealthcare' },\n  { id: 'medicare', label: 'Medicare Part A / B' },\n  { id: 'medicaid', label: 'Medicaid' },\n  { id: 'humana', label: 'Humana' },\n  { id: 'kaiser', label: 'Kaiser Permanente' },\n  { id: 'self_pay', label: 'Self-Pay (Uninsured)' },\n]\n\nconst DEFAULT_DATA: PatientIntakeData = {\n  firstName: 'Eleanor',\n  middleName: 'Rose',\n  lastName: 'Vance',\n  preferredName: 'Ellie',\n  dob: '1988-10-14',\n  biologicalSex: 'female',\n  maritalStatus: 'married',\n  phone: '(555) 234-8921',\n  email: 'eleanor.vance@example.com',\n  streetAddress: '742 Evergreen Terrace',\n  city: 'Springfield',\n  state: 'OR',\n  zipCode: '97477',\n  emergencyName: 'Marcus Vance',\n  emergencyRelationship: 'spouse',\n  emergencyPhone: '(555) 987-6543',\n\n  chronicConditions: ['hypertension', 'asthma'],\n  hasAllergies: true,\n  allergyDetails: 'Penicillin (Anaphylaxis/hives), Sulfa antibiotics (severe skin rash)',\n  currentMedications:\n    'Lisinopril 10mg PO once daily in morning, Albuterol HFA 90mcg inhaler 1-2 puffs Q4H PRN for bronchospasm, Multivitamin daily',\n  pastSurgeries: 'Appendectomy (Laparoscopic, 2016), Right knee arthroscopy / meniscus debridement (2021)',\n  primaryCarePhysician: 'Dr. Robert Chen, MD',\n  clinicPhone: '(555) 601-2290 — Northwest Health Partners',\n\n  insuranceCarrier: 'bcbs',\n  memberId: 'XEH-902814891',\n  groupNumber: 'GRP-44028',\n  policyholderName: 'Eleanor Vance',\n  policyholderRelationship: 'self',\n  frontCardUploaded: true,\n  backCardUploaded: true,\n\n  hipaaConsent: true,\n  treatmentConsent: true,\n  telehealthConsent: true,\n  signatureName: 'Eleanor R. Vance',\n  signatureDate: '2026-08-21',\n  signerRole: 'patient',\n}\n\nexport function PatientIntakeForm({\n  initialStep = 1,\n  initialData = {},\n  className,\n  onSubmit,\n  onStepChange,\n}: PatientIntakeFormProps) {\n  const [step, setStep] = React.useState(initialStep)\n  const [, setSubmitted] = React.useState(false)\n  const [intakeId] = React.useState('INTAKE-2026-8942')\n\n  const [formData, setFormData] = React.useState<PatientIntakeData>(() => ({\n    ...DEFAULT_DATA,\n    ...initialData,\n  }))\n\n  const updateField = <K extends keyof PatientIntakeData>(key: K, value: PatientIntakeData[K]) => {\n    setFormData((prev) => ({ ...prev, [key]: value }))\n  }\n\n  const toggleCondition = (conditionId: string, checked: boolean) => {\n    setFormData((prev) => {\n      const exists = prev.chronicConditions.includes(conditionId)\n      if (checked && !exists) {\n        return { ...prev, chronicConditions: [...prev.chronicConditions, conditionId] }\n      }\n      if (!checked && exists) {\n        return { ...prev, chronicConditions: prev.chronicConditions.filter((id) => id !== conditionId) }\n      }\n      return prev\n    })\n  }\n\n  const selectedCarrierLabel = React.useMemo(() => {\n    const found = INSURANCE_CARRIERS.find((c) => c.id === formData.insuranceCarrier)\n    return found ? found.label : formData.insuranceCarrier\n  }, [formData.insuranceCarrier])\n\n  function onStepperInput(value: number) {\n    if (value < step && step !== 5) {\n      setStep(value)\n      onStepChange?.(value)\n    }\n  }\n\n  function goNext() {\n    if (step < 4) {\n      const next = step + 1\n      setStep(next)\n      onStepChange?.(next)\n    }\n  }\n\n  function handleSubmit() {\n    setSubmitted(true)\n    setStep(5)\n    onSubmit?.({ ...formData })\n    onStepChange?.(5)\n  }\n\n  function resetForm() {\n    setStep(1)\n    setSubmitted(false)\n    onStepChange?.(1)\n  }\n\n  return (\n    <SectionCard\n      data-slot=\"patient-intake-form\"\n      title=\"New Patient Registration\"\n      description=\"HIPAA-compliant digital intake questionnaire & clinical onboarding portal.\"\n      className={cn('max-w-4xl', className)}\n      headerAction={\n        <div className=\"flex items-center gap-2\">\n          <Badge\n            wrap\n            variant=\"outline\"\n            className=\"border-success/30 bg-success/10 text-success gap-1 py-0.5 text-xs font-medium\"\n          >\n            <ShieldCheck className=\"size-3.5\" aria-hidden=\"true\" />\n            HIPAA Protected\n          </Badge>\n          <Badge wrap variant=\"secondary\" className=\"hidden font-mono text-xs sm:inline-flex\">\n            Form #PHI-2026-894\n          </Badge>\n        </div>\n      }\n      footer={\n        <div className=\"border-border bg-muted/20 flex w-full items-center justify-between border-t px-6 py-4\">\n          {step > 1 && step <= 4 ? (\n            <Button\n              variant=\"ghost\"\n              size=\"sm\"\n              className=\"gap-1.5 text-xs font-medium\"\n              onClick={() => {\n                const prev = step - 1\n                setStep(prev)\n                onStepChange?.(prev)\n              }}\n            >\n              <ChevronLeft className=\"size-4\" aria-hidden=\"true\" />\n              Back\n            </Button>\n          ) : (\n            <span aria-hidden=\"true\" />\n          )}\n\n          {step <= 4 ? (\n            <span className=\"text-muted-foreground text-xs font-medium\">\n              Step {step} of 4 — {steps[step - 1]?.title}\n            </span>\n          ) : (\n            <span className=\"text-muted-foreground text-xs font-medium\">Registration Complete</span>\n          )}\n\n          {step < 4 ? (\n            <Button\n              size=\"sm\"\n              className=\"gap-1.5 text-xs font-medium\"\n              disabled={step === 1 && (formData.firstName.trim() === '' || formData.lastName.trim() === '')}\n              onClick={goNext}\n            >\n              Continue\n              <ChevronRight className=\"size-4\" aria-hidden=\"true\" />\n            </Button>\n          ) : step === 4 ? (\n            <Button\n              size=\"sm\"\n              className=\"bg-primary text-primary-foreground gap-1.5 text-xs font-medium\"\n              disabled={!formData.hipaaConsent || !formData.treatmentConsent || formData.signatureName.trim() === ''}\n              onClick={handleSubmit}\n            >\n              <FileCheck className=\"size-4\" aria-hidden=\"true\" />\n              Submit Registration\n            </Button>\n          ) : (\n            <span aria-hidden=\"true\" />\n          )}\n        </div>\n      }\n    >\n      {/* Stepper Navigation */}\n      {step <= 4 && <Stepper steps={steps} value={step} onValueChange={onStepperInput} className=\"mb-6\" />}\n\n      {/* ================================================================= */}\n      {/* STEP 1: Personal Information                                      */}\n      {/* ================================================================= */}\n      {step === 1 && (\n        <div className=\"space-y-6\">\n          {/* PHI Notice Banner */}\n          <div className=\"border-border/80 bg-muted/40 flex items-start gap-3 rounded-lg border p-3.5 text-xs\">\n            <ShieldCheck className=\"text-primary mt-0.5 size-4 shrink-0\" aria-hidden=\"true\" />\n            <div className=\"space-y-0.5\">\n              <p className=\"text-foreground font-semibold\">Protected Health Information (PHI) Notice</p>\n              <p className=\"text-muted-foreground leading-relaxed\">\n                All legal demographics and medical history submitted through this portal are encrypted in accordance\n                with federal HIPAA Omnibus rules and directly synchronized with the clinic&apos;s Electronic Health\n                Record (EHR).\n              </p>\n            </div>\n          </div>\n\n          {/* Legal Name Section */}\n          <div className=\"space-y-3\">\n            <h3 className=\"text-foreground flex items-center gap-2 text-xs font-semibold\">\n              <User className=\"text-primary size-3.5\" aria-hidden=\"true\" />\n              Legal Patient Identification\n            </h3>\n            <div className=\"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-4\">\n              <div className=\"space-y-1.5 sm:col-span-1\">\n                <Label htmlFor=\"pi-first-name\" className=\"text-xs\">\n                  Legal First Name *\n                </Label>\n                <Input\n                  id=\"pi-first-name\"\n                  value={formData.firstName}\n                  onChange={(e) => updateField('firstName', e.target.value)}\n                  placeholder=\"First name\"\n                  size=\"small\"\n                />\n              </div>\n              <div className=\"space-y-1.5 sm:col-span-1\">\n                <Label htmlFor=\"pi-middle-name\" className=\"text-xs\">\n                  Middle Name\n                </Label>\n                <Input\n                  id=\"pi-middle-name\"\n                  value={formData.middleName}\n                  onChange={(e) => updateField('middleName', e.target.value)}\n                  placeholder=\"Middle name\"\n                  size=\"small\"\n                />\n              </div>\n              <div className=\"space-y-1.5 sm:col-span-1\">\n                <Label htmlFor=\"pi-last-name\" className=\"text-xs\">\n                  Legal Last Name *\n                </Label>\n                <Input\n                  id=\"pi-last-name\"\n                  value={formData.lastName}\n                  onChange={(e) => updateField('lastName', e.target.value)}\n                  placeholder=\"Last name\"\n                  size=\"small\"\n                />\n              </div>\n              <div className=\"space-y-1.5 sm:col-span-1\">\n                <Label htmlFor=\"pi-preferred-name\" className=\"text-xs\">\n                  Preferred Name\n                </Label>\n                <Input\n                  id=\"pi-preferred-name\"\n                  value={formData.preferredName}\n                  onChange={(e) => updateField('preferredName', e.target.value)}\n                  placeholder=\"Nickname / Preferred\"\n                  size=\"small\"\n                />\n              </div>\n            </div>\n          </div>\n\n          <Separator />\n\n          {/* Demographics Section */}\n          <div className=\"space-y-3\">\n            <h3 className=\"text-foreground flex items-center gap-2 text-xs font-semibold\">\n              <Calendar className=\"text-primary size-3.5\" aria-hidden=\"true\" />\n              Birth & Clinical Demographics\n            </h3>\n            <div className=\"grid grid-cols-1 gap-3 sm:grid-cols-3\">\n              <div className=\"space-y-1.5\">\n                <Label htmlFor=\"pi-dob\" className=\"text-xs\">\n                  Date of Birth *\n                </Label>\n                <Input\n                  id=\"pi-dob\"\n                  type=\"date\"\n                  value={formData.dob}\n                  onChange={(e) => updateField('dob', e.target.value)}\n                  size=\"small\"\n                />\n              </div>\n              <div className=\"space-y-1.5\">\n                <Label htmlFor=\"pi-biological-sex\" className=\"text-xs\">\n                  Biological Sex Assigned at Birth *\n                </Label>\n                <Select value={formData.biologicalSex} onValueChange={(val) => updateField('biologicalSex', val)}>\n                  <SelectTrigger id=\"pi-biological-sex\" size=\"sm\" className=\"h-8 text-xs\">\n                    <SelectValue placeholder=\"Select sex\" />\n                  </SelectTrigger>\n                  <SelectContent>\n                    <SelectItem value=\"female\">Female</SelectItem>\n                    <SelectItem value=\"male\">Male</SelectItem>\n                    <SelectItem value=\"intersex\">Intersex</SelectItem>\n                    <SelectItem value=\"undisclosed\">Prefer not to disclose</SelectItem>\n                  </SelectContent>\n                </Select>\n              </div>\n              <div className=\"space-y-1.5\">\n                <Label htmlFor=\"pi-marital-status\" className=\"text-xs\">\n                  Marital Status\n                </Label>\n                <Select value={formData.maritalStatus} onValueChange={(val) => updateField('maritalStatus', val)}>\n                  <SelectTrigger id=\"pi-marital-status\" size=\"sm\" className=\"h-8 text-xs\">\n                    <SelectValue placeholder=\"Select status\" />\n                  </SelectTrigger>\n                  <SelectContent>\n                    <SelectItem value=\"single\">Single</SelectItem>\n                    <SelectItem value=\"married\">Married</SelectItem>\n                    <SelectItem value=\"divorced\">Divorced</SelectItem>\n                    <SelectItem value=\"widowed\">Widowed</SelectItem>\n                    <SelectItem value=\"other\">Other</SelectItem>\n                  </SelectContent>\n                </Select>\n              </div>\n            </div>\n          </div>\n\n          <Separator />\n\n          {/* Contact & Residential Address */}\n          <div className=\"space-y-3\">\n            <h3 className=\"text-foreground flex items-center gap-2 text-xs font-semibold\">\n              <Phone className=\"text-primary size-3.5\" aria-hidden=\"true\" />\n              Contact & Residential Address\n            </h3>\n            <div className=\"grid grid-cols-1 gap-3 sm:grid-cols-2\">\n              <div className=\"space-y-1.5\">\n                <Label htmlFor=\"pi-phone\" className=\"text-xs\">\n                  Mobile Phone Number *\n                </Label>\n                <Input\n                  id=\"pi-phone\"\n                  type=\"tel\"\n                  value={formData.phone}\n                  onChange={(e) => updateField('phone', e.target.value)}\n                  placeholder=\"(555) 234-8921\"\n                  size=\"small\"\n                />\n              </div>\n              <div className=\"space-y-1.5\">\n                <Label htmlFor=\"pi-email\" className=\"text-xs\">\n                  Email Address *\n                </Label>\n                <Input\n                  id=\"pi-email\"\n                  type=\"email\"\n                  value={formData.email}\n                  onChange={(e) => updateField('email', e.target.value)}\n                  placeholder=\"patient@example.com\"\n                  size=\"small\"\n                />\n              </div>\n              <div className=\"space-y-1.5 sm:col-span-2\">\n                <Label htmlFor=\"pi-address\" className=\"text-xs\">\n                  Street Address *\n                </Label>\n                <Input\n                  id=\"pi-address\"\n                  value={formData.streetAddress}\n                  onChange={(e) => updateField('streetAddress', e.target.value)}\n                  placeholder=\"Street, Apt / Suite\"\n                  size=\"small\"\n                />\n              </div>\n              <div className=\"grid grid-cols-1 gap-3 sm:col-span-2 sm:grid-cols-3\">\n                <div className=\"col-span-1 space-y-1.5\">\n                  <Label htmlFor=\"pi-city\" className=\"text-xs\">\n                    City\n                  </Label>\n                  <Input\n                    id=\"pi-city\"\n                    value={formData.city}\n                    onChange={(e) => updateField('city', e.target.value)}\n                    placeholder=\"City\"\n                    size=\"small\"\n                  />\n                </div>\n                <div className=\"col-span-1 space-y-1.5\">\n                  <Label htmlFor=\"pi-state\" className=\"text-xs\">\n                    State\n                  </Label>\n                  <Input\n                    id=\"pi-state\"\n                    value={formData.state}\n                    onChange={(e) => updateField('state', e.target.value)}\n                    placeholder=\"State / Province\"\n                    size=\"small\"\n                  />\n                </div>\n                <div className=\"col-span-1 space-y-1.5\">\n                  <Label htmlFor=\"pi-zip\" className=\"text-xs\">\n                    ZIP Code\n                  </Label>\n                  <Input\n                    id=\"pi-zip\"\n                    value={formData.zipCode}\n                    onChange={(e) => updateField('zipCode', e.target.value)}\n                    placeholder=\"ZIP code\"\n                    size=\"small\"\n                  />\n                </div>\n              </div>\n            </div>\n          </div>\n\n          <Separator />\n\n          {/* Emergency Contact Box */}\n          <div className=\"border-border bg-muted/20 space-y-3 rounded-lg border p-4\">\n            <div className=\"flex flex-wrap items-center justify-between\">\n              <div className=\"flex items-center gap-2\">\n                <UserCheck className=\"text-primary size-4\" aria-hidden=\"true\" />\n                <h4 className=\"text-foreground text-xs font-semibold\">\n                  Emergency Contact (Designated Healthcare Surrogate)\n                </h4>\n              </div>\n              <Badge wrap variant=\"secondary\" className=\"text-xs\">\n                Required\n              </Badge>\n            </div>\n            <div className=\"grid grid-cols-1 gap-3 sm:grid-cols-3\">\n              <div className=\"space-y-1.5\">\n                <Label htmlFor=\"pi-emg-name\" className=\"text-xs\">\n                  Contact Full Name *\n                </Label>\n                <Input\n                  id=\"pi-emg-name\"\n                  value={formData.emergencyName}\n                  onChange={(e) => updateField('emergencyName', e.target.value)}\n                  placeholder=\"Full legal name\"\n                  size=\"small\"\n                />\n              </div>\n              <div className=\"space-y-1.5\">\n                <Label htmlFor=\"pi-emg-rel\" className=\"text-xs\">\n                  Relationship to Patient *\n                </Label>\n                <Select\n                  value={formData.emergencyRelationship}\n                  onValueChange={(val) => updateField('emergencyRelationship', val)}\n                >\n                  <SelectTrigger id=\"pi-emg-rel\" size=\"sm\" className=\"h-8 text-xs\">\n                    <SelectValue placeholder=\"Relationship\" />\n                  </SelectTrigger>\n                  <SelectContent>\n                    <SelectItem value=\"spouse\">Spouse</SelectItem>\n                    <SelectItem value=\"parent\">Parent / Guardian</SelectItem>\n                    <SelectItem value=\"child\">Adult Child</SelectItem>\n                    <SelectItem value=\"sibling\">Sibling</SelectItem>\n                    <SelectItem value=\"friend\">Friend / Relative</SelectItem>\n                    <SelectItem value=\"other\">Other Legal Representative</SelectItem>\n                  </SelectContent>\n                </Select>\n              </div>\n              <div className=\"space-y-1.5\">\n                <Label htmlFor=\"pi-emg-phone\" className=\"text-xs\">\n                  Emergency Phone *\n                </Label>\n                <Input\n                  id=\"pi-emg-phone\"\n                  type=\"tel\"\n                  value={formData.emergencyPhone}\n                  onChange={(e) => updateField('emergencyPhone', e.target.value)}\n                  placeholder=\"(555) 987-6543\"\n                  size=\"small\"\n                />\n              </div>\n            </div>\n          </div>\n        </div>\n      )}\n\n      {/* ================================================================= */}\n      {/* STEP 2: Medical History                                           */}\n      {/* ================================================================= */}\n      {step === 2 && (\n        <div className=\"space-y-6\">\n          {/* Chronic Conditions Checklist */}\n          <div className=\"space-y-3\">\n            <div className=\"flex flex-wrap items-center justify-between\">\n              <div className=\"flex items-center gap-2\">\n                <Activity className=\"text-primary size-4\" aria-hidden=\"true\" />\n                <h3 className=\"text-foreground text-xs font-semibold\">Chronic & Pre-Existing Health Conditions</h3>\n              </div>\n              <Badge wrap variant=\"secondary\" className=\"font-mono text-xs tabular-nums\">\n                {formData.chronicConditions.length} selected\n              </Badge>\n            </div>\n            <p className=\"text-muted-foreground text-xs\">\n              Select any conditions diagnosed or treated in the past 5 years. If none apply, leave unchecked.\n            </p>\n            <div className=\"grid grid-cols-1 gap-2.5 sm:grid-cols-2\">\n              {CHRONIC_CONDITIONS.map((cond) => (\n                <div\n                  key={cond.id}\n                  className=\"border-border hover:bg-muted/30 flex items-center gap-2.5 rounded-lg border p-2.5 transition-colors\"\n                >\n                  <Checkbox\n                    id={`condition-${cond.id}`}\n                    checked={formData.chronicConditions.includes(cond.id)}\n                    onCheckedChange={(checked) => toggleCondition(cond.id, checked === true)}\n                  />\n                  <Label\n                    htmlFor={`condition-${cond.id}`}\n                    className=\"flex-1 cursor-pointer text-xs font-normal select-none\"\n                  >\n                    {cond.label}\n                  </Label>\n                </div>\n              ))}\n            </div>\n          </div>\n\n          <Separator />\n\n          {/* Known Allergies */}\n          <div className=\"border-border bg-muted/20 space-y-3 rounded-lg border p-4\">\n            <div className=\"flex flex-wrap items-center justify-between\">\n              <div className=\"flex items-center gap-2\">\n                <AlertTriangle className=\"text-warning size-4\" aria-hidden=\"true\" />\n                <h4 className=\"text-foreground text-xs font-semibold\">Known Drug, Latex, or Food Allergies</h4>\n              </div>\n              <div className=\"flex items-center gap-2\">\n                <Checkbox\n                  id=\"mh-has-allergies\"\n                  checked={formData.hasAllergies}\n                  onCheckedChange={(checked) => updateField('hasAllergies', checked === true)}\n                  label=\"I have known allergies\"\n                />\n              </div>\n            </div>\n            {formData.hasAllergies ? (\n              <div className=\"space-y-1.5 pt-1\">\n                <Label htmlFor=\"mh-allergy-details\" className=\"text-xs\">\n                  List Specific Allergens & Adverse Reactions *\n                </Label>\n                <Input\n                  id=\"mh-allergy-details\"\n                  value={formData.allergyDetails}\n                  onChange={(e) => updateField('allergyDetails', e.target.value)}\n                  placeholder=\"e.g., Penicillin (Anaphylaxis), Sulfa (Severe Rash), Peanuts (Hives), Latex\"\n                  size=\"small\"\n                />\n              </div>\n            ) : (\n              <p className=\"text-muted-foreground text-xs italic\">No known drug, latex, or food allergies reported.</p>\n            )}\n          </div>\n\n          <Separator />\n\n          {/* Current Medications */}\n          <div className=\"space-y-2\">\n            <div className=\"flex items-center gap-2\">\n              <Stethoscope className=\"text-primary size-4\" aria-hidden=\"true\" />\n              <Label htmlFor=\"mh-medications\" className=\"text-xs font-semibold\">\n                Current Prescription & OTC Medications\n              </Label>\n            </div>\n            <Textarea\n              id=\"mh-medications\"\n              value={formData.currentMedications}\n              onValueChange={(val) => updateField('currentMedications', val)}\n              rows={3}\n              placeholder=\"Include drug name, dosage, and schedule (e.g., Lisinopril 10mg once daily in AM, Metformin 500mg BID with meals)...\"\n              className=\"text-xs\"\n            />\n            <p className=\"text-muted-foreground text-xs\">\n              Include all daily vitamins, herbal supplements, inhalers, and injections.\n            </p>\n          </div>\n\n          <Separator />\n\n          {/* Past Surgeries */}\n          <div className=\"space-y-2\">\n            <div className=\"flex items-center gap-2\">\n              <FileText className=\"text-primary size-4\" aria-hidden=\"true\" />\n              <Label htmlFor=\"mh-surgeries\" className=\"text-xs font-semibold\">\n                Past Surgeries, Major Injuries & Hospitalizations\n              </Label>\n            </div>\n            <Textarea\n              id=\"mh-surgeries\"\n              value={formData.pastSurgeries}\n              onValueChange={(val) => updateField('pastSurgeries', val)}\n              rows={2}\n              placeholder=\"List approximate year and procedure (e.g., Appendectomy 2016, Knee Arthroscopy 2021)...\"\n              className=\"text-xs\"\n            />\n          </div>\n\n          <Separator />\n\n          {/* Primary Care Physician */}\n          <div className=\"space-y-3\">\n            <h4 className=\"text-foreground text-xs font-semibold\">Primary Care Provider / Referring Clinic</h4>\n            <div className=\"grid grid-cols-1 gap-3 sm:grid-cols-2\">\n              <div className=\"space-y-1.5\">\n                <Label htmlFor=\"mh-pcp-name\" className=\"text-xs\">\n                  Physician or Practice Name\n                </Label>\n                <Input\n                  id=\"mh-pcp-name\"\n                  value={formData.primaryCarePhysician}\n                  onChange={(e) => updateField('primaryCarePhysician', e.target.value)}\n                  placeholder=\"Dr. Robert Chen, MD\"\n                  size=\"small\"\n                />\n              </div>\n              <div className=\"space-y-1.5\">\n                <Label htmlFor=\"mh-clinic-phone\" className=\"text-xs\">\n                  Clinic Contact / Phone\n                </Label>\n                <Input\n                  id=\"mh-clinic-phone\"\n                  value={formData.clinicPhone}\n                  onChange={(e) => updateField('clinicPhone', e.target.value)}\n                  placeholder=\"(555) 601-2290\"\n                  size=\"small\"\n                />\n              </div>\n            </div>\n          </div>\n        </div>\n      )}\n\n      {/* ================================================================= */}\n      {/* STEP 3: Insurance & Billing                                       */}\n      {/* ================================================================= */}\n      {step === 3 && (\n        <div className=\"space-y-6\">\n          {/* Primary Insurance Carrier */}\n          <div className=\"space-y-3\">\n            <div className=\"flex flex-wrap items-center justify-between\">\n              <div className=\"flex items-center gap-2\">\n                <Building2 className=\"text-primary size-4\" aria-hidden=\"true\" />\n                <h3 className=\"text-foreground text-xs font-semibold\">Primary Medical Insurance Carrier</h3>\n              </div>\n              <Badge wrap variant=\"outline\" className=\"text-xs\">\n                Primary Plan\n              </Badge>\n            </div>\n            <div className=\"grid grid-cols-1 gap-3 sm:grid-cols-3\">\n              <div className=\"space-y-1.5\">\n                <Label htmlFor=\"ins-carrier\" className=\"text-xs\">\n                  Insurance Carrier *\n                </Label>\n                <Select value={formData.insuranceCarrier} onValueChange={(val) => updateField('insuranceCarrier', val)}>\n                  <SelectTrigger id=\"ins-carrier\" size=\"sm\" className=\"h-8 text-xs\">\n                    <SelectValue placeholder=\"Select carrier\" />\n                  </SelectTrigger>\n                  <SelectContent>\n                    {INSURANCE_CARRIERS.map((carrier) => (\n                      <SelectItem key={carrier.id} value={carrier.id}>\n                        {carrier.label}\n                      </SelectItem>\n                    ))}\n                  </SelectContent>\n                </Select>\n              </div>\n              <div className=\"space-y-1.5\">\n                <Label htmlFor=\"ins-member-id\" className=\"text-xs\">\n                  Member / Subscriber ID *\n                </Label>\n                <Input\n                  id=\"ins-member-id\"\n                  value={formData.memberId}\n                  onChange={(e) => updateField('memberId', e.target.value)}\n                  placeholder=\"e.g. XEH-902814891\"\n                  size=\"small\"\n                />\n              </div>\n              <div className=\"space-y-1.5\">\n                <Label htmlFor=\"ins-group-num\" className=\"text-xs\">\n                  Group Number\n                </Label>\n                <Input\n                  id=\"ins-group-num\"\n                  value={formData.groupNumber}\n                  onChange={(e) => updateField('groupNumber', e.target.value)}\n                  placeholder=\"e.g. GRP-44028\"\n                  size=\"small\"\n                />\n              </div>\n            </div>\n          </div>\n\n          <Separator />\n\n          {/* Policyholder Details */}\n          <div className=\"space-y-3\">\n            <h3 className=\"text-foreground flex items-center gap-2 text-xs font-semibold\">\n              <User className=\"text-primary size-3.5\" aria-hidden=\"true\" />\n              Primary Policyholder Information\n            </h3>\n            <div className=\"grid grid-cols-1 gap-3 sm:grid-cols-2\">\n              <div className=\"space-y-1.5\">\n                <Label htmlFor=\"ins-holder-name\" className=\"text-xs\">\n                  Primary Insured Full Legal Name *\n                </Label>\n                <Input\n                  id=\"ins-holder-name\"\n                  value={formData.policyholderName}\n                  onChange={(e) => updateField('policyholderName', e.target.value)}\n                  placeholder=\"Policyholder name\"\n                  size=\"small\"\n                />\n              </div>\n              <div className=\"space-y-1.5\">\n                <Label htmlFor=\"ins-holder-rel\" className=\"text-xs\">\n                  Relationship to Patient *\n                </Label>\n                <Select\n                  value={formData.policyholderRelationship}\n                  onValueChange={(val) => updateField('policyholderRelationship', val)}\n                >\n                  <SelectTrigger id=\"ins-holder-rel\" size=\"sm\" className=\"h-8 text-xs\">\n                    <SelectValue placeholder=\"Relationship\" />\n                  </SelectTrigger>\n                  <SelectContent>\n                    <SelectItem value=\"self\">Self (Patient is Policyholder)</SelectItem>\n                    <SelectItem value=\"spouse\">Spouse</SelectItem>\n                    <SelectItem value=\"child\">Child / Dependent</SelectItem>\n                    <SelectItem value=\"other\">Other Legal Custodian</SelectItem>\n                  </SelectContent>\n                </Select>\n              </div>\n            </div>\n          </div>\n\n          <Separator />\n\n          {/* Insurance Card Photo Upload Placeholders */}\n          <div className=\"space-y-3\">\n            <div className=\"flex flex-wrap items-center justify-between\">\n              <div className=\"flex items-center gap-2\">\n                <CreditCard className=\"text-primary size-4\" aria-hidden=\"true\" />\n                <h3 className=\"text-foreground text-xs font-semibold\">Insurance Card Photo Verification</h3>\n              </div>\n              <span className=\"text-muted-foreground text-xs\">PNG, JPG, PDF up to 10MB</span>\n            </div>\n            <p className=\"text-muted-foreground text-xs\">\n              Provide high-resolution photos of both front and back sides of your insurance card for optical character\n              recognition (OCR) and benefit eligibility verification.\n            </p>\n\n            <div className=\"grid grid-cols-1 gap-4 sm:grid-cols-2\">\n              {/* Front Card Dropzone */}\n              <div className=\"border-border bg-card hover:bg-muted/20 flex flex-col justify-between rounded-xl border p-4 text-center transition-colors\">\n                <div className=\"space-y-2 py-3\">\n                  <div className=\"bg-primary/10 text-primary mx-auto flex size-10 items-center justify-center rounded-full\">\n                    <CreditCard className=\"size-5\" aria-hidden=\"true\" />\n                  </div>\n                  <div className=\"space-y-0.5\">\n                    <p className=\"text-foreground text-xs font-semibold\">Front of Insurance Card</p>\n                    <p className=\"text-muted-foreground text-xs\">Subscriber ID & carrier logo visible</p>\n                  </div>\n                </div>\n                <div className=\"border-border/60 bg-muted/40 flex flex-wrap items-center justify-between rounded-md border px-3 py-2 text-xs\">\n                  {formData.frontCardUploaded ? (\n                    <span className=\"text-success flex items-center gap-1.5 font-medium\">\n                      <Check className=\"size-3.5\" aria-hidden=\"true\" />\n                      card_front_scan.jpg (2.4 MB)\n                    </span>\n                  ) : (\n                    <span className=\"text-muted-foreground\">No file selected</span>\n                  )}\n                  <Button\n                    type=\"button\"\n                    variant=\"outline\"\n                    size=\"sm\"\n                    className=\"h-7 text-xs font-medium\"\n                    onClick={() => updateField('frontCardUploaded', !formData.frontCardUploaded)}\n                  >\n                    {formData.frontCardUploaded ? 'Replace' : 'Upload Front'}\n                  </Button>\n                </div>\n              </div>\n\n              {/* Back Card Dropzone */}\n              <div className=\"border-border bg-card hover:bg-muted/20 flex flex-col justify-between rounded-xl border p-4 text-center transition-colors\">\n                <div className=\"space-y-2 py-3\">\n                  <div className=\"bg-primary/10 text-primary mx-auto flex size-10 items-center justify-center rounded-full\">\n                    <CreditCard className=\"size-5\" aria-hidden=\"true\" />\n                  </div>\n                  <div className=\"space-y-0.5\">\n                    <p className=\"text-foreground text-xs font-semibold\">Back of Insurance Card</p>\n                    <p className=\"text-muted-foreground text-xs\">Claims address & Rx BIN visible</p>\n                  </div>\n                </div>\n                <div className=\"border-border/60 bg-muted/40 flex flex-wrap items-center justify-between rounded-md border px-3 py-2 text-xs\">\n                  {formData.backCardUploaded ? (\n                    <span className=\"text-success flex items-center gap-1.5 font-medium\">\n                      <Check className=\"size-3.5\" aria-hidden=\"true\" />\n                      card_back_scan.jpg (1.9 MB)\n                    </span>\n                  ) : (\n                    <span className=\"text-muted-foreground\">No file selected</span>\n                  )}\n                  <Button\n                    type=\"button\"\n                    variant=\"outline\"\n                    size=\"sm\"\n                    className=\"h-7 text-xs font-medium\"\n                    onClick={() => updateField('backCardUploaded', !formData.backCardUploaded)}\n                  >\n                    {formData.backCardUploaded ? 'Replace' : 'Upload Back'}\n                  </Button>\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n      )}\n\n      {/* ================================================================= */}\n      {/* STEP 4: Consent & Sign                                            */}\n      {/* ================================================================= */}\n      {step === 4 && (\n        <div className=\"space-y-6\">\n          {/* Legal Notice Accordion Box */}\n          <div className=\"space-y-2\">\n            <div className=\"flex flex-wrap items-center justify-between\">\n              <div className=\"flex items-center gap-2\">\n                <FileText className=\"text-primary size-4\" aria-hidden=\"true\" />\n                <h3 className=\"text-foreground text-xs font-semibold\">Regulatory Disclosures & Legal Notice</h3>\n              </div>\n              <Badge wrap variant=\"secondary\" className=\"text-xs\">\n                Mandatory Acknowledgement\n              </Badge>\n            </div>\n            <div className=\"border-border bg-muted/20 text-muted-foreground max-h-40 space-y-3 overflow-y-auto rounded-lg border p-3.5 text-xs leading-relaxed\">\n              <div>\n                <span className=\"text-foreground font-semibold\">1. HIPAA Notice of Privacy Practices:</span> I\n                acknowledge receipt and review of the Notice of Privacy Practices, which describes how my Protected\n                Health Information (PHI) may be used and disclosed for clinical treatment, payment processing, and\n                healthcare operations in strict compliance with the HIPAA Omnibus Rule (45 CFR § 164.520).\n              </div>\n              <div>\n                <span className=\"text-foreground font-semibold\">2. Informed Consent for Outpatient Treatment:</span> I\n                voluntarily authorize the clinical physicians and allied healthcare team to perform diagnostic\n                evaluations, blood tests, physical examinations, and outpatient clinical care deemed medically\n                necessary.\n              </div>\n              <div>\n                <span className=\"text-foreground font-semibold\">3. Assignment of Benefits & Financial Agreement:</span>{' '}\n                I assign all medical insurance benefits directly to the provider. I acknowledge that I remain\n                financially responsible for copayments, deductibles, and non-covered services not adjudicated by my\n                carrier.\n              </div>\n            </div>\n          </div>\n\n          {/* Consent Checkboxes */}\n          <div className=\"divide-border divide-y rounded-lg border\">\n            <div className=\"flex items-start gap-3 p-3.5\">\n              <Checkbox\n                id=\"cs-hipaa-consent\"\n                checked={formData.hipaaConsent}\n                onCheckedChange={(checked) => updateField('hipaaConsent', checked === true)}\n                className=\"mt-0.5\"\n              />\n              <div className=\"space-y-0.5\">\n                <Label htmlFor=\"cs-hipaa-consent\" className=\"cursor-pointer text-xs font-medium\">\n                  HIPAA Privacy Practices Acknowledgement *\n                </Label>\n                <p className=\"text-muted-foreground text-xs\">\n                  I have read, understood, and accept the HIPAA Notice of Privacy Practices and consent to electronic\n                  medical record management.\n                </p>\n              </div>\n            </div>\n\n            <div className=\"flex items-start gap-3 p-3.5\">\n              <Checkbox\n                id=\"cs-treatment-consent\"\n                checked={formData.treatmentConsent}\n                onCheckedChange={(checked) => updateField('treatmentConsent', checked === true)}\n                className=\"mt-0.5\"\n              />\n              <div className=\"space-y-0.5\">\n                <Label htmlFor=\"cs-treatment-consent\" className=\"cursor-pointer text-xs font-medium\">\n                  Informed Treatment Consent & Benefit Assignment *\n                </Label>\n                <p className=\"text-muted-foreground text-xs\">\n                  I authorize medical evaluation and agree to the assignment of insurance benefits to the clinical care\n                  provider.\n                </p>\n              </div>\n            </div>\n\n            <div className=\"flex items-start gap-3 p-3.5\">\n              <Checkbox\n                id=\"cs-telehealth-consent\"\n                checked={formData.telehealthConsent}\n                onCheckedChange={(checked) => updateField('telehealthConsent', checked === true)}\n                className=\"mt-0.5\"\n              />\n              <div className=\"space-y-0.5\">\n                <Label htmlFor=\"cs-telehealth-consent\" className=\"cursor-pointer text-xs font-medium\">\n                  Telehealth & Encrypted Digital Communications (Optional)\n                </Label>\n                <p className=\"text-muted-foreground text-xs\">\n                  I consent to virtual video consultations and automated SMS/email appointment notifications and lab\n                  report alerts.\n                </p>\n              </div>\n            </div>\n          </div>\n\n          <Separator />\n\n          {/* Electronic Signature Pad */}\n          <div className=\"space-y-4\">\n            <div className=\"flex flex-wrap items-center justify-between\">\n              <div className=\"flex items-center gap-2\">\n                <Lock className=\"text-primary size-4\" aria-hidden=\"true\" />\n                <h3 className=\"text-foreground text-xs font-semibold\">Electronic Signature & Digital Certification</h3>\n              </div>\n              <Badge wrap variant=\"outline\" className=\"border-primary/30 text-primary font-mono text-xs\">\n                256-bit Certified\n              </Badge>\n            </div>\n\n            <div className=\"grid grid-cols-1 gap-3 sm:grid-cols-3\">\n              <div className=\"space-y-1.5 sm:col-span-1\">\n                <Label htmlFor=\"cs-signer-name\" className=\"text-xs\">\n                  Type Full Legal Name as Signature *\n                </Label>\n                <Input\n                  id=\"cs-signer-name\"\n                  value={formData.signatureName}\n                  onChange={(e) => updateField('signatureName', e.target.value)}\n                  placeholder=\"e.g. Eleanor R. Vance\"\n                  size=\"small\"\n                />\n              </div>\n              <div className=\"space-y-1.5 sm:col-span-1\">\n                <Label htmlFor=\"cs-signer-role\" className=\"text-xs\">\n                  Signer Capacity / Role *\n                </Label>\n                <Select value={formData.signerRole} onValueChange={(val) => updateField('signerRole', val)}>\n                  <SelectTrigger id=\"cs-signer-role\" size=\"sm\" className=\"h-8 text-xs\">\n                    <SelectValue placeholder=\"Select role\" />\n                  </SelectTrigger>\n                  <SelectContent>\n                    <SelectItem value=\"patient\">Patient (Self)</SelectItem>\n                    <SelectItem value=\"parent_guardian\">Parent / Legal Guardian</SelectItem>\n                    <SelectItem value=\"poa\">Medical Power of Attorney</SelectItem>\n                  </SelectContent>\n                </Select>\n              </div>\n              <div className=\"space-y-1.5 sm:col-span-1\">\n                <Label htmlFor=\"cs-sig-date\" className=\"text-xs\">\n                  Signature Date *\n                </Label>\n                <Input\n                  id=\"cs-sig-date\"\n                  type=\"date\"\n                  value={formData.signatureDate}\n                  onChange={(e) => updateField('signatureDate', e.target.value)}\n                  size=\"small\"\n                />\n              </div>\n            </div>\n\n            {/* Live Digital Signature Stamp Preview */}\n            <div className=\"border-primary/30 bg-primary/5 space-y-3 rounded-xl border p-4\">\n              <div className=\"flex flex-wrap items-center justify-between\">\n                <span className=\"text-muted-foreground text-xs font-medium\">Legal Digital Signature Stamp</span>\n                <span className=\"text-primary flex items-center gap-1 font-mono text-xs\">\n                  <ShieldCheck className=\"size-3.5\" aria-hidden=\"true\" />\n                  Verified & Timestamped\n                </span>\n              </div>\n\n              <div className=\"border-primary/20 border-b pt-1 pb-3\">\n                <p className=\"text-primary text-2xl font-medium tracking-wide italic\">\n                  {formData.signatureName || 'Your Signature'}\n                </p>\n              </div>\n\n              <div className=\"text-muted-foreground flex flex-wrap items-center justify-between gap-2 font-mono text-xs\">\n                <span>\n                  Signer: {formData.signatureName || 'Eleanor Vance'} ({formData.signerRole})\n                </span>\n                <span>Date: {formData.signatureDate} · Ref #SIG-49102-HIPAA</span>\n              </div>\n            </div>\n          </div>\n        </div>\n      )}\n\n      {/* ================================================================= */}\n      {/* STEP 5: Success / Confirmation Receipt                            */}\n      {/* ================================================================= */}\n      {step === 5 && (\n        <div className=\"space-y-6 py-4 text-center\">\n          <div className=\"border-success/30 bg-success/10 text-success mx-auto flex size-16 items-center justify-center rounded-full border shadow-xs\">\n            <Check className=\"size-8\" aria-hidden=\"true\" />\n          </div>\n\n          <div className=\"space-y-1\">\n            <h3 className=\"text-foreground text-xl font-bold tracking-tight\">Patient Intake Submitted Successfully</h3>\n            <p className=\"text-muted-foreground mx-auto max-w-md text-xs sm:text-sm\">\n              Your new patient registration and encrypted medical disclosures have been received and queued for clinical\n              triage.\n            </p>\n          </div>\n\n          <div className=\"border-border inline-flex items-center gap-2 rounded-full border px-3 py-1 text-xs\">\n            <span className=\"text-muted-foreground\">Confirmation ID:</span>\n            <span className=\"text-foreground font-mono font-bold\">{intakeId}</span>\n          </div>\n\n          {/* Registration Summary Card */}\n          <div className=\"border-border bg-muted/30 mx-auto max-w-xl space-y-3 rounded-xl border p-4 text-left text-xs\">\n            <div className=\"grid grid-cols-1 gap-3 sm:grid-cols-2\">\n              <div>\n                <span className=\"text-muted-foreground block\">Patient Name:</span>\n                <span className=\"text-foreground font-semibold\">\n                  {formData.firstName} {formData.middleName} {formData.lastName}\n                </span>\n              </div>\n              <div>\n                <span className=\"text-muted-foreground block\">Date of Birth:</span>\n                <span className=\"text-foreground font-medium tabular-nums\">\n                  {formData.dob} ({formData.biologicalSex})\n                </span>\n              </div>\n              <div>\n                <span className=\"text-muted-foreground block\">Primary Insurance:</span>\n                <span className=\"text-foreground font-medium\">\n                  {selectedCarrierLabel} (ID: {formData.memberId})\n                </span>\n              </div>\n              <div>\n                <span className=\"text-muted-foreground block\">Emergency Contact:</span>\n                <span className=\"text-foreground font-medium\">\n                  {formData.emergencyName} ({formData.emergencyPhone})\n                </span>\n              </div>\n              <div className=\"border-border/60 col-span-1 flex flex-wrap items-center justify-between border-t pt-2 sm:col-span-2\">\n                <span className=\"text-muted-foreground\">Legal Signature:</span>\n                <span className=\"text-primary font-medium tracking-wide italic\">\n                  {formData.signatureName} ({formData.signatureDate})\n                </span>\n              </div>\n            </div>\n          </div>\n\n          {/* Action Buttons */}\n          <div className=\"flex flex-wrap items-center justify-center gap-3 pt-2\">\n            <Button\n              aria-label=\"Download attachment\"\n              variant=\"outline\"\n              size=\"sm\"\n              className=\"gap-1.5 text-xs font-medium\"\n            >\n              <Download className=\"size-3.5\" aria-hidden=\"true\" />\n              Download Intake PDF\n            </Button>\n            <Button size=\"sm\" className=\"gap-1.5 text-xs font-medium\" onClick={resetForm}>\n              <RotateCcw className=\"size-3.5\" aria-hidden=\"true\" />\n              Register Another Patient\n            </Button>\n          </div>\n        </div>\n      )}\n    </SectionCard>\n  )\n}\n",
      "type": "registry:block",
      "target": "~/components/blocks/PatientIntakeForm.tsx"
    }
  ],
  "dependencies": [
    "lucide-react"
  ],
  "devDependencies": [],
  "registryDependencies": [
    "https://uipkge.dev/r/react/badge.json",
    "https://uipkge.dev/r/react/button.json",
    "https://uipkge.dev/r/react/checkbox.json",
    "https://uipkge.dev/r/react/input.json",
    "https://uipkge.dev/r/react/label.json",
    "https://uipkge.dev/r/react/section-card.json",
    "https://uipkge.dev/r/react/select.json",
    "https://uipkge.dev/r/react/separator.json",
    "https://uipkge.dev/r/react/stepper.json",
    "https://uipkge.dev/r/react/textarea.json"
  ],
  "description": "HIPAA-compliant new patient registration and medical history questionnaire in a SectionCard. Features a 4-step Stepper (Personal Information → Medical History → Insurance & Billing → Consent & Sign), demographic inputs with biological sex and emergency contact, chronic conditions checklist with allergy details and medication textareas, insurance carrier selection with card photo upload dropzones, regulatory HIPAA disclosure accordion with electronic signature pad, and a post-submission confirmation receipt with patient ID.",
  "categories": [
    "healthcare",
    "app",
    "forms"
  ]
}