Skip to content

Admin — Case coordinators

Maps each speciality (must equal disease_categories.dc_id) to a list of doctor employee ids. At most one active row per speciality_id. Edit only updates doctor_ids (not speciality_id).

Creates the coordinator assignment for a disease category. Fails if speciality_id is not an active dc_id, or if an active row already exists for that speciality.

FieldTypeRequiredNotes
speciality_idstringyesSame as disease_categories.dc_id
doctor_idsstring[]yesNon-empty; e.g. ["EMP1","EMP2"]
{
"speciality_id": "550e8400-e29b-41d4-a716-446655440000",
"doctor_ids": ["EMP1", "EMP2"]
}
{
"status": 1000,
"message": "Case coordinators saved",
"data": {
"cc_id": "660e8400-e29b-41d4-a716-446655440001"
}
}
{
"status": 1002,
"message": "speciality_id is not a valid active disease category (dc_id)"
}
{
"status": 1002,
"message": "Case coordinators already exist for this speciality"
}

FieldTypeRequiredNotes
pagenumbernodefault 1
sizenumbernodefault 15, max 100
qstringnoSearch speciality_id / doctor_ids text
{
"page": 1,
"size": 10,
"q": "EMP1"
}
{
"status": 1000,
"message": "ok",
"data": [
{
"cc_id": "uuid",
"speciality_id": "dc-uuid",
"doctor_ids": ["EMP1", "EMP2"],
"created_date": "2026-05-08T12:00:00.000Z"
}
],
"pagination": {
"total": 1,
"page": 1,
"size": 10
}
}

FieldTypeRequired
cc_idstringyes
{
"cc_id": "660e8400-e29b-41d4-a716-446655440001"
}
{
"status": 1000,
"message": "ok",
"data": {
"cc_id": "uuid",
"speciality_id": "dc-uuid",
"doctor_ids": ["EMP1", "EMP2"],
"created_by": "user-id",
"created_date": "2026-05-08T12:00:00.000Z",
"updated_by": null,
"updated_date": null
}
}
{
"status": 1002,
"message": "Case coordinator record not found"
}

Updates only doctor_ids. speciality_id cannot be changed (create a new flow would require a new row after deactivating the old one — not implemented here).

FieldTypeRequiredNotes
cc_idstringyesRow to update
doctor_idsstring[]yesArray of non-empty strings; empty array [] is allowed (clears all ids)
{
"cc_id": "660e8400-e29b-41d4-a716-446655440001",
"doctor_ids": ["EMP1", "EMP3"]
}
{
"status": 1000,
"message": "Case coordinators updated"
}
{
"status": 1002,
"message": "Case coordinator record not found"
}