# UpdatePractitionerRequest

Model ID: `UpdatePractitionerRequest`

Documentation-only request schema for PATCH /practitioners/{practitioner_id}.
This resolver runs with enable_validation=False, so this model is never used
to parse a request — the handler still reads app.current_event.json_body
directly. Its field list is exactly the set of Practitioner attributes that
hc.services.practitioner.practitioner_service.PractitionerService.update()
genuinely merges in (any other key is silently ignored because
hasattr(current, key) is False for it). The request key is "specialty"
(not "specialties") because update_practitioner() rejects a raw
"specialties" key and the service remaps "specialty" -> "specialties"
before merging; "practitioner_id"/"fhir_id" are excluded because patching
them has no effect on the persisted record.

All fields are optional; only the supplied ones are patched.

Type: `object`

## Fields

| Field | Type | Required | Format | Allowed values | Default | Nullable | Description |
|---|---|---:|---|---|---|---:|---|
| `active` | `boolean|null` | No |  |  |  | Yes | False marks the record inactive without deleting it. |
| `address` | [`Address`](./Address.md) | No |  |  |  | Yes | Replaces the practitioner's stored address. |
| `birth_date` | `string|null` | No |  |  |  | Yes | ISO 8601 date of birth (YYYY-MM-DD). |
| `board_certifications` | `array|null` | No |  |  |  | Yes | Board certification names. Replaces the existing list. |
| `credential` | `string|null` | No |  |  |  | Yes | MD, DO, NP, PA, RN, etc. |
| `department` | `string|null` | No |  |  |  | Yes | Department within the organization. |
| `education_credentials` | `array|null` | No |  |  |  | Yes | Degrees and education credentials. Replaces the existing list. |
| `email` | `string|null` | No |  |  |  | Yes | Email address. |
| `first_name` | `string|null` | No |  |  |  | Yes | Given name. |
| `gender` | [`ProviderGender`](./ProviderGender.md) | No |  |  |  | Yes | Administrative gender. |
| `graduation_year` | `integer|null` | No |  |  |  | Yes | Graduation year. |
| `identifiers` | `array|null` | No |  |  |  | Yes | Additional external identifiers. Replaces the existing list. |
| `insurances_accepted` | `array|null` | No |  |  |  | Yes | Accepted insurance payers. Replaces the existing list. |
| `languages_spoken` | `array|null` | No |  |  |  | Yes | Languages spoken. Replaces the existing list. |
| `last_name` | `string|null` | No |  |  |  | Yes | Family name. |
| `medical_school` | `string|null` | No |  |  |  | Yes | Medical school attended. |
| `middle_name` | `string|null` | No |  |  |  | Yes | Middle name. |
| `notes` | `string|null` | No |  |  |  | Yes | Free-text internal notes. |
| `npi` | `string|null` | No |  |  |  | Yes | 10-digit National Provider Identifier. |
| `organization_id` | `string|null` | No |  |  |  | Yes | Identifier of the affiliated organization. |
| `organization_name` | `string|null` | No |  |  |  | Yes | Display name of the affiliated organization. |
| `prefix` | `string|null` | No |  |  |  | Yes | Name prefix, e.g. 'Dr.'. |
| `race` | `array|null` | No |  |  |  | Yes | One or more race values. Replaces the existing list. |
| `roles` | `array|null` | No |  |  |  | Yes | NUCC provider taxonomy categories. Replaces the existing list. |
| `specialty` | `array|null` | No |  |  |  | Yes | Clinical specialties. Replaces the existing list. Sent as 'specialty', not 'specialties'. |
| `state_licenses` | `array|null` | No |  |  |  | Yes | State medical licenses. Replaces the existing list. |
| `suffix` | `string|null` | No |  |  |  | Yes | Name suffix, e.g. 'Jr.'. |
| `telecom` | `array|null` | No |  |  |  | Yes | Additional contact points. Replaces the existing list. |

## Example

None declared in canonical OpenAPI.
