procedure
A coded clinical procedure performed on a patient — and optionally tied to a specific encounter — sourced from the provider's clinical record.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
identifiers | Identifier[] | no (defaults []) | Business identifiers for this procedure record. |
patientRef | SourceRef | yes | The patient this procedure was performed on. |
encounterRef | SourceRef | no | The encounter this procedure was performed during, if any. |
code | CodeableConcept | yes | The coded procedure, e.g. an ICD-10-PCS or local procedure code. |
status | string enum | yes | One of preparation, in-progress, completed, not-done, on-hold, stopped, unknown. |
performedAt | IsoDatetime | no | When 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); treatcode.displayas convenience text only, not a matching key. encounterRefmay be absent — not every procedure is tied to a specific visit.statusis a lifecycle enum; handlenot-doneexplicitly — it means the procedure was not performed (e.g. cancelled or declined) and must not be rendered as a completed procedure. Treatunknownand any unrecognized value defensively.performedAtis a normalized timestamp — alwaysZ-suffixed UTC regardless of the offset the source system reported.patientRef/encounterRefare source references; correlate them to the canonicalpatientandencounterrecords whoseidentifierscontain the matching business identifier.