Skip to main content

procedure

A coded clinical procedure performed on a patient — and optionally tied to a specific encounter — sourced from the provider's clinical record.

Fields​

FieldTypeRequiredDescription
identifiersIdentifier[]no (defaults [])Business identifiers for this procedure record.
patientRefSourceRefyesThe patient this procedure was performed on.
encounterRefSourceRefnoThe encounter this procedure was performed during, if any.
codeCodeableConceptyesThe coded procedure, e.g. an ICD-10-PCS or local procedure code.
statusstring enumyesOne of preparation, in-progress, completed, not-done, on-hold, stopped, unknown.
performedAtIsoDatetimenoWhen the procedure was performed.

Example payload​

{
"identifiers": [{ "system": "urn:michels:procedure", "value": "PROC-6001" }],
"patientRef": {
"sourceSystem": "michels",
"resourceType": "patient",
"sourceId": "pat-1"
},
"encounterRef": {
"sourceSystem": "michels",
"resourceType": "encounter",
"sourceId": "enc-1"
},
"code": {
"system": "http://fhir.de/CodeSystem/bfarm/icd-10-gm",
"code": "1-208",
"display": "Blood pressure measurement"
},
"status": "completed",
"performedAt": "2026-07-05T08:00:00.000Z"
}

As a change-feed event​

{
"sequence": 84,
"resourceType": "procedure",
"canonicalId": "6c3e9a1b-4f7d-4c8a-9b3e-2f5a8c1d4b7e",
"operation": "create",
"version": 1,
"occurredAt": "2026-07-05T08:00:05.000Z",
"orgSlug": "default",
"record": {
"identifiers": [{ "system": "urn:michels:procedure", "value": "PROC-6001" }],
"patientRef": {
"sourceSystem": "michels",
"resourceType": "patient",
"sourceId": "pat-1"
},
"encounterRef": {
"sourceSystem": "michels",
"resourceType": "encounter",
"sourceId": "enc-1"
},
"code": {
"system": "http://fhir.de/CodeSystem/bfarm/icd-10-gm",
"code": "1-208",
"display": "Blood pressure measurement"
},
"status": "completed",
"performedAt": "2026-07-05T08:00:00.000Z"
}
}

From the Records API​

curl -H "Authorization: Bearer $ROSETTA_SYNC_TOKEN" \
"https://sync.example.com/api/v1/records/procedure/6c3e9a1b-4f7d-4c8a-9b3e-2f5a8c1d4b7e"
{
"id": "6c3e9a1b-4f7d-4c8a-9b3e-2f5a8c1d4b7e",
"resourceType": "procedure",
"version": 1,
"payload": {
"identifiers": [{ "system": "urn:michels:procedure", "value": "PROC-6001" }],
"patientRef": {
"sourceSystem": "michels",
"resourceType": "patient",
"sourceId": "pat-1"
},
"encounterRef": {
"sourceSystem": "michels",
"resourceType": "encounter",
"sourceId": "enc-1"
},
"code": {
"system": "http://fhir.de/CodeSystem/bfarm/icd-10-gm",
"code": "1-208",
"display": "Blood pressure measurement"
},
"status": "completed",
"performedAt": "2026-07-05T08:00:00.000Z"
},
"updatedAt": "2026-07-05T08:00:05.000Z",
"orgSlug": "default",
"identifiers": [{ "system": "urn:michels:procedure", "value": "PROC-6001" }]
}

Consumption notes​

  • Match on code.system + code.code (see Coded concepts); treat code.display as convenience text only, not a matching key.
  • encounterRef may be absent — not every procedure is tied to a specific visit.
  • status is a lifecycle enum; handle not-done explicitly — it means the procedure was not performed (e.g. cancelled or declined) and must not be rendered as a completed procedure. Treat unknown and any unrecognized value defensively.
  • performedAt is a normalized timestamp — always Z-suffixed UTC regardless of the offset the source system reported.
  • patientRef/encounterRef are source references; correlate them to the canonical patient and encounter records whose identifiers contain the matching business identifier.