Procedure
Work with FHIR R4 4.0.1 Procedure resources.
Choose an operation for this resource:
- Search Procedure
- Read Procedure
- Read Procedure Version
- Create Procedure
- Update Procedure
- Delete Procedure
- Hard Delete Procedure
- Purge Deleted Procedure
The diagram summarizes Procedure requests and responses. See Supported FHIR REST Interactions for the shared interaction model.
FHIR R4 definition: https://hl7.org/fhir/R4/procedure.html. See interaction response codes and common error responses.
The base path is /api/fhir/r4/Procedure. Procedure requires a subject referencing Patient or Group and an R4 event status (preparation, in-progress, not-done, on-hold, stopped, completed, entered-in-error, or unknown). Only one performed choice may be supplied. R6 Procedure support is not available.
Interactions and responses
| Request | Success |
|---|---|
POST Procedure | 201 Created |
GET Procedure/{id} | 200 OK |
GET Procedure/{id}/_history/{version} | 200 OK with that immutable version |
PUT Procedure/{id} | 200 updated; 201 created for a new logical ID or restored after deletion |
DELETE Procedure/{id} | 204 No Content (soft deletion) |
GET Procedure or POST Procedure/_search | 200 searchset Bundle |
POST Procedure/{id}/$hardDelete | 200 OperationOutcome; resource must already be deleted |
POST Procedure/$purgeDeleted | 200 OperationOutcome; accepts the shared before and limit Parameters contract |
- Resource lifecycle: create, read, versioned read, update, soft deletion and version preconditions.
- PUT-as-create and restoration: creation/restoration, server-managed metadata, response headers and return preferences.
- Interaction responses: success
statuscodes. - OperationOutcome errors: common errors and response bodies.
- Batch requests: independent entry processing.
| Procedure capability | Support or requirement |
|---|---|
| Conditional create | Not supported. |
| Conditional update | Not supported. |
| Transaction bundles | Not supported. |
Search
- Search operation: endpoints, complete parameter table, supported forms and examples.
- Common Search Controls: shared controls and server-provided paging links.
- Value Types and Syntax and Comparators, Modifiers, and Chains: shared syntax. Use only the forms supported by this resource.
| Procedure detail | Requirement or behavior |
|---|---|
| Patient references | Supports _id, _lastUpdated, identifier, patient, code, status, and date, plus the existing result controls (_count, _page, _cursor, _sort, _total), _profile, _tag, and _revinclude=Provenance:target. |
selected | Each selected filter is ANDed with the others. |
| Token filters | Identifier, code and status accept one unmodified token; token forms are value, system|value, |value, and system|. |
| Status | Status uses the implicit code system http://hl7.org/fhir/event-status. |
| Patient references | Patient accepts one unmodified Patient reference. |
| Limitations | Chains, modifiers, repeated token/reference values and comma alternatives are unsupported. |
| Date filters | Date searches performedDateTime or performedPeriod. |
| Retained content | Performed string, age and range content is retained but is not indexed by date. |
| Date filters | Date and _lastUpdated allow up to two repeated bounds with eq, ne, gt, lt, ge, le, sa, eb and ap comparators. |
| Limitations | Comma alternatives are unsupported. |
GET /api/fhir/r4/Procedure?patient=Patient/example&code=http://snomed.info/sct|80146002&status=completed&date=ge2026-01-01&date=lt2027-01-01
Permissions and limitations
- Authentication and Scopes: bearer tokens, scope configuration and constrained access. Required resource scopes are listed on each operation page.
- Data Deletion and Purge Operations: permanent-deletion eligibility and additional permissions.
- Hard Delete and Purge Deleted: resource endpoints and required scopes; see also shared purge guidance.
| Item | Requirement or behavior |
|---|---|
| Limitations | Conditional create, conditional update and transaction Bundles are not supported. |
| Limitations | Encounter, performer, clinician/organization and detailed searches, new chains, composites, full text and US Core certification are outside this resource's initial scope. |
Example
{
"resourceType": "Procedure",
"status": "completed",
"subject": {"reference": "Patient/example"},
"code": {"coding": [{"system": "http://snomed.info/sct", "code": "80146002"}]},
"performedDateTime": "2026-01-15T10:30:00Z"
}