Skip to main content

discharge

One completed discharge report snapshot from a therapy discipline — sourced from rosetta-app's product database. Same shape as admission; kept as a separate resource type since the two forms are expected to diverge independently.

Fields​

FieldTypeRequiredDescription
identifiersIdentifier[]yes (≥1)Business identifiers for this discharge snapshot.
patientRefSourceRefyesThe patient this discharge report was completed for.
disciplinestringyesThe therapy discipline, e.g. occupational-therapy.
capturedAtIsoDatetimeyesWhen the discharge report was captured.
completedAtIsoDatetimenoWhen the discharge report was completed, if later than capture.
formDataobjectyesThe full discharge report payload, at full fidelity (see below).

formData is a free-form JSON object — its shape is owned by the source discipline's form, not fixed by this contract. Values may be scalars (string/number/boolean), nested objects, or arrays of either.

Example payload​

{
"identifiers": [{ "system": "urn:rosetta-app:discharge", "value": "dis-7001" }],
"patientRef": {
"sourceSystem": "rosetta-app",
"resourceType": "patient",
"sourceId": "pat-1"
},
"discipline": "occupational-therapy",
"capturedAt": "2026-07-14T09:00:00.000Z",
"completedAt": "2026-07-14T09:15:00.000Z",
"formData": {
"outcome": "goals-met"
}
}

As a change-feed event​

{
"sequence": 202,
"resourceType": "discharge",
"canonicalId": "3c6d9e1a-5d8f-4b2c-9e3d-6d9c2f5a8b1a",
"operation": "create",
"version": 1,
"occurredAt": "2026-07-14T09:15:05.000Z",
"orgSlug": "default",
"record": {
"identifiers": [{ "system": "urn:rosetta-app:discharge", "value": "dis-7001" }],
"patientRef": {
"sourceSystem": "rosetta-app",
"resourceType": "patient",
"sourceId": "pat-1"
},
"discipline": "occupational-therapy",
"capturedAt": "2026-07-14T09:00:00.000Z",
"completedAt": "2026-07-14T09:15:00.000Z",
"formData": {
"outcome": "goals-met"
}
}
}

From the Records API​

curl -H "Authorization: Bearer $ROSETTA_SYNC_TOKEN" \
"https://sync.example.com/api/v1/records/discharge/3c6d9e1a-5d8f-4b2c-9e3d-6d9c2f5a8b1a"
{
"id": "3c6d9e1a-5d8f-4b2c-9e3d-6d9c2f5a8b1a",
"resourceType": "discharge",
"version": 1,
"payload": {
"identifiers": [{ "system": "urn:rosetta-app:discharge", "value": "dis-7001" }],
"patientRef": {
"sourceSystem": "rosetta-app",
"resourceType": "patient",
"sourceId": "pat-1"
},
"discipline": "occupational-therapy",
"capturedAt": "2026-07-14T09:00:00.000Z",
"completedAt": "2026-07-14T09:15:00.000Z",
"formData": {
"outcome": "goals-met"
}
},
"updatedAt": "2026-07-14T09:15:05.000Z",
"orgSlug": "default",
"identifiers": [{ "system": "urn:rosetta-app:discharge", "value": "dis-7001" }]
}

Consumption notes​

  • One record per completed discharge report — a patient discharged and later re-admitted to the same discipline gets a new discharge record on the next discharge, not an update to the earlier one.
  • formData is intentionally schema-free at this contract's level: validate/parse it according to the discipline's own form definition, not this document.
  • patientRef is a source reference; correlate it to the canonical patient whose identifiers contain the matching business identifier.
  • The (patient, discipline) case's actual stay dates (admission/discharge dates) live on the encounter record, not here — this record is the discharge report, not the discharge event.