---
title: "Partially update a practitioner hospital affiliation"
method: PATCH
path: "/practitioners/{practitionerId}/hospital-affiliations/{affiliationId}"
tags: ["Practitioner"]
---

# Partially update a practitioner hospital affiliation

`PATCH /practitioners/{practitionerId}/hospital-affiliations/{affiliationId}`

Applies a partial update to the specified hospital affiliation; only the fields included in the request body are modified, and absent fields are left unchanged. Use this when one or more attributes of an existing hospital affiliation need to be corrected or updated without replacing the entire record. `{practitionerId}` is the `certifyPractitionerId`, `{affiliationId}` is the UUID assigned by the server when the affiliation was created, and the hospital affiliations feature must be enabled for the tenant. The updatable field set matches `HospitalAffiliationResponse` (the same class returned by the GET and POST endpoints), and the merge is checked against the same case-insensitive `(name, type)` duplicate-detection used on create.

## Path parameters

- `affiliationId` string, required
- `practitionerId` string, required

## Headers

- `tenant-id` string

## Request body

- UpdateHospitalAffiliationRequest — Partial update payload (PATCH) for a practitioner-level hospital affiliation. All fields are optional.
  - `name` string — Hospital name
  - `type` string — Type of affiliation
  - `specialty` string — Specialty practiced at the hospital
  - `state` string — State where hospital is located
  - `source` 'MANUAL' | 'ROSTER' | 'CAQH' — Source-of-truth tag for a practitioner-level hospital affiliation. Accepts MANUAL, ROSTER, CAQH (any case), or the legacy long-form CAQH label. Always serializes the canonical short label.
  - `startDate` string, date
  - `endDate` string, date
  - `status` string — Status of the affiliation

## Response `200`

The updated `HospitalAffiliationResponse`.

- HospitalAffiliationResponse — Practitioner-level hospital affiliation as exposed by the practitioner CRUD API.
  - `id` string, required — Stable UUID v4 identifying this affiliation. For legacy entries this may be a deterministic synthesized UUID until the next write backfills a real one.
  - `name` string — Hospital name
  - `type` string — Type of affiliation
  - `specialty` string — Specialty practiced at the hospital
  - `state` string — State where hospital is located
  - `source` 'MANUAL' | 'ROSTER' | 'CAQH' — Source-of-truth tag for a practitioner-level hospital affiliation. Accepts MANUAL, ROSTER, CAQH (any case), or the legacy long-form CAQH label. Always serializes the canonical short label.
  - `startDate` string — Start date of affiliation in YYYY-MM-DD format
  - `endDate` string — End date of affiliation in YYYY-MM-DD format
  - `status` string — Status of the affiliation

## Other responses

- `400` — Validation error
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Practitioner or affiliation not found
- `409` — Merge would duplicate (name, type) — same reason, `DUPLICATE_HOSPITAL_AFFILIATION`, as the POST endpoint.

---

[API](https://skmtc.net/certifyos/apis/certify-api-layer.md) · [All operations](https://skmtc.net/certifyos/apis/certify-api-layer/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/certifyos/certify-api-layer/revisions/563848e0ecc0/schema)
