# Medical Intake Form

Printable patient intake and registration form with personal, insurance, medical history, and consent sections.

> For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any docs URL. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md).

## Installation

```bash
npx shadcn@latest add @angular-pdfcn/takumi/medical-intake-form
```

To install manually, add the dependencies:

```bash
npm install takumi-pdf @takumi-rs/helpers
```

Then copy these files into your project and update the import paths to match your setup:

- `components/pdf/blocks/medical-intake-form/medical-intake-form.ts`
- `components/pdf/blocks/medical-intake-form/medical-intake-form.types.ts`
- `lib/resolve-color.ts`
- `components/pdf/theme-provider.ts`
- `lib/pdf-renderer.ts`
- `lib/pdf-primitives.ts`
- `lib/render.ts`
- `lib/pdf-themes/professional.ts`
- `lib/pdf-themes/primitives.ts`
- `types/pdf-themes.ts`
- `types/pdf-components.ts`
- `components/pdf/form/form.styles.ts`
- `components/pdf/form/form.ts`
- `components/pdf/form/form.types.ts`
- `components/pdf/list/list.styles.ts`
- `components/pdf/list/list.ts`
- `components/pdf/list/list.types.ts`
- `components/pdf/page-footer/page-footer.ts`
- `components/pdf/page-header/page-header.ts`
- `components/pdf/pdf-image/pdf-image.ts`
- `components/pdf/section/section.ts`
- `components/pdf/signature/signature.ts`
- `components/pdf/table/table.styles.ts`
- `components/pdf/table/table.ts`
- `components/pdf/table/table.types.ts`
- `components/pdf/text/text.ts`

## Usage

```ts
import { Component } from "@angular/core";

import { MedicalIntakeFormDocument } from "@/components/pdf/blocks/medical-intake-form/medical-intake-form";

@Component({
  imports: [MedicalIntakeFormDocument],
  template: `
    <pdf-medical-intake-form
      accentColor="#0d9488"
      clinicAddress="200 Health Plaza, Denver, CO 80202"
      clinicName="Sunrise Family Medicine"
      clinicPhone="(303) 555-0180"
    />
  `,
})
export class MedicalIntakeFormDemo {}
```

## Sections

Every section is rendered by default and can be hidden by setting its input to `false`.

```angular-html
<pdf-medical-intake-form
  clinicName="Sunrise Family Medicine"
  personalInfo
  emergencyContact
  [insurance]="false"
  medicalHistory
  medications
  allergies
  reasonForVisit
  consent
/>
```

| Input              | Section                                                       |
| ------------------ | ------------------------------------------------------------- |
| `personalInfo`     | Name, date of birth, gender, phone, email, and address fields |
| `emergencyContact` | Contact name, relationship, and phone fields                  |
| `insurance`        | Provider, policy, group, and subscriber fields                |
| `medicalHistory`   | Condition checklist with allergy and medication prompts       |
| `medications`      | Medication, dosage, frequency, and prescribing doctor table   |
| `allergies`        | Allergen, reaction, and severity table                        |
| `reasonForVisit`   | Free-text area for symptoms and reason for the visit          |
| `consent`          | HIPAA authorization, treatment consent, and signature lines   |

## Inputs

| Input           | Type         | Description                                                 |
| --------------- | ------------ | ----------------------------------------------------------- |
| `clinicName`    | `string`     | Clinic name shown in the header and consent text            |
| `clinicLogo`    | `string`     | Optional logo image source                                  |
| `clinicAddress` | `string`     | Address shown in the header and footer                      |
| `clinicPhone`   | `string`     | Phone number shown in the header and footer                 |
| `accentColor`   | `string`     | Theme token or CSS color used for section rules and accents |
| `theme`         | `PdfcnTheme` | Theme override for the whole document                       |