---
title: "Update a patient"
method: PUT
path: "/Patient/{id}"
tags: ["Patient"]
---

# Update a patient

`PUT /Patient/{id}`

Replaces an existing `Patient`. Send the whole resource: read it, change what you need, and put it back. Anything you leave out is cleared, which is what `PUT` means in FHIR.

The replacement covers only the fields FHIR models here. Diagnoses, medication, allergies, notes, session history, portal access and insurance are never touched.

If the body carries an `id` it must match the one in the URL, or the request is refused with `400`. An unknown id returns `404` and creates nothing.

As with create, only the first entry of `identifier` is kept and an inbound `active` is ignored.

## Path parameters

- `id` string, required

## Response `200`

Patient updated

## Other responses

- `400` — Bad request - malformed resource or parameters.
- `401` — Unauthorized - missing or invalid bearer token.
- `403` — Forbidden - the token lacks the required scope.
- `404` — The requested resource was not found.
- `422` — Unprocessable entity - the resource failed validation.

---

[API](https://skmtc.dev/mdhub/apis/mdhub-api.md) · [All operations](https://skmtc.dev/mdhub/apis/mdhub-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/mdhub/mdhub-api/revisions/ee7fca23d80b/schema)
