Reference: Purge Deleted, Hard Delete, and Subscription Status

Reference of purge-deleted, hard-delete, and Subscription status operations modeled in the current service standard.

Collection purge-deleted operations

The current standard models $purgeDeleted operations (not $purge).

FHIR R4:

  • POST /api/fhir/r4/Condition/$purgeDeleted
  • POST /api/fhir/r4/Device/$purgeDeleted
  • POST /api/fhir/r4/DiagnosticReport/$purgeDeleted
  • POST /api/fhir/r4/Encounter/$purgeDeleted
  • POST /api/fhir/r4/Endpoint/$purgeDeleted
  • POST /api/fhir/r4/Group/$purgeDeleted
  • POST /api/fhir/r4/Location/$purgeDeleted
  • POST /api/fhir/r4/Observation/$purgeDeleted
  • POST /api/fhir/r4/Organization/$purgeDeleted
  • POST /api/fhir/r4/Patient/$purgeDeleted
  • POST /api/fhir/r4/Practitioner/$purgeDeleted
  • POST /api/fhir/r4/PractitionerRole/$purgeDeleted
  • POST /api/fhir/r4/Provenance/$purgeDeleted
  • POST /api/fhir/r4/RelatedPerson/$purgeDeleted
  • POST /api/fhir/r4/ServiceRequest/$purgeDeleted
  • POST /api/fhir/r4/Specimen/$purgeDeleted

FHIR R6:

  • POST /api/fhir/r6-ballot4/Device/$purgeDeleted
  • POST /api/fhir/r6-ballot4/DeviceAssociation/$purgeDeleted
  • POST /api/fhir/r6-ballot4/Encounter/$purgeDeleted
  • POST /api/fhir/r6-ballot4/Location/$purgeDeleted
  • POST /api/fhir/r6-ballot4/Observation/$purgeDeleted
  • POST /api/fhir/r6-ballot4/Patient/$purgeDeleted
  • POST /api/fhir/r6-ballot4/Practitioner/$purgeDeleted
  • POST /api/fhir/r6-ballot4/PractitionerRole/$purgeDeleted
  • POST /api/fhir/r6-ballot4/Provenance/$purgeDeleted
  • POST /api/fhir/r6-ballot4/Subscription/$purgeDeleted
  • POST /api/fhir/r6-ballot4/SubscriptionTopic/$purgeDeleted

Send before as Parameters.parameter.valueDateTime and optional limit as Parameters.parameter.valueInteger in an application/fhir+json FHIR Parameters request body. Do not send these operation inputs as query parameters.

{
  "resourceType": "Parameters",
  "parameter": [
    { "name": "before", "valueDateTime": "2026-01-01T00:00:00Z" },
    { "name": "limit", "valueInteger": 25 }
  ]
}

Instance hard-delete operations

Hard delete is modeled as POST /api/fhir/{r4|r6-ballot4}/{Resource}/{rid}/$hardDelete for supported resources in R4 and R6.

See the resource-specific delete-api-fhir-*-hard-delete.dita operation pages for per-resource details.

Subscription status operations (R6)

  • GET /api/fhir/r6-ballot4/Subscription/$status
  • GET /api/fhir/r6-ballot4/Subscription/{rid}/$status

For collection status requests, optional query parameters include status and id. Repeat id to request multiple logical IDs.

Both operations return a FHIR search-set Bundle containing SubscriptionStatus resources. A request that matches no current Subscription returns HTTP 200 with an empty search-set Bundle. SubscriptionStatus is an operation result, not a separately managed CRUD resource.

Status Codes

CodeMeaning
200 The operation completed successfully. Purge-deleted and hard-delete operations return an OperationOutcome; Subscription status operations return a search-set Bundle containing SubscriptionStatus results.