Lead Care Managers API
Administrative endpoints for managing Lead Care Manager (LCM) assignments for ECM patients. ECM patients are assigned both an Outreach Lead Care Manager (oLCM) and an Intensive Lead Care Manager (iLCM) for care coordination.
Overview
Lead Care Managers are responsible for coordinating care for ECM patients. The system supports two types of Lead Care Managers:
| Role | Abbreviation | Description |
|---|---|---|
| Outreach Lead Care Manager | oLCM | Handles initial outreach and engagement with patients |
| Intensive Lead Care Manager | iLCM | Handles intensive care coordination for high-acuity patients |
Lead Care Manager assignments are stored in the case_loads table, which links patients to their assigned provider and LCMs.
List Lead Care Managers
Get a list of users who can be assigned as Lead Care Managers.
Endpoint: GET /v1/admin/clinic/ecm/lead_care_managers
Authentication: Required (Admin role)
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | No | Page number (default: 1) |
per_page | integer | No | Items per page (default: 25) |
search | string | No | Search by name |
role | string | No | Filter by role type (olcm, ilcm) |
Example Request
GET /v1/admin/clinic/ecm/lead_care_managers?search=Jane HTTP/1.1
Content-Type: application/json
X-User-Token: your_admin_token_hereExample Response
{
"lead_care_managers": [
{
"id": 101,
"name": "Jane Coordinator",
"email": "[email protected]",
"roles": ["ecm", "coordinator"],
"assigned_patients_count": 15,
"olcm_assignments_count": 10,
"ilcm_assignments_count": 5
},
{
"id": 102,
"name": "Bob Manager",
"email": "[email protected]",
"roles": ["ecm", "coordinator"],
"assigned_patients_count": 20,
"olcm_assignments_count": 12,
"ilcm_assignments_count": 8
}
],
"pagination": {
"current_page": 1,
"total_pages": 2,
"total_count": 30,
"per_page": 25
}
}Assign Lead Care Manager
Assign a Lead Care Manager to an ECM patient.
Endpoint: POST /v1/admin/clinic/ecm/lead_care_managers/assign
Authentication: Required (Admin role)
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
patient_id | integer | Yes | Patient ID |
olcm_user_id | integer | No | User ID for Outreach Lead Care Manager |
ilcm_user_id | integer | No | User ID for Intensive Lead Care Manager |
Note: At least one of olcm_user_id or ilcm_user_id must be provided.
Example Request - Assign oLCM
POST /v1/admin/clinic/ecm/lead_care_managers/assign HTTP/1.1
Content-Type: application/json
X-User-Token: your_admin_token_here
{
"patient_id": 123,
"olcm_user_id": 101
}Example Request - Assign Both LCMs
POST /v1/admin/clinic/ecm/lead_care_managers/assign HTTP/1.1
Content-Type: application/json
X-User-Token: your_admin_token_here
{
"patient_id": 123,
"olcm_user_id": 101,
"ilcm_user_id": 102
}Success Response
{
"message": "Lead Care Manager assigned successfully",
"case_load": {
"id": 789,
"patient_id": 123,
"patient_name": "John Doe",
"provider_id": 456,
"provider_name": "Dr. Smith",
"olcm_user_id": 101,
"olcm_name": "Jane Coordinator",
"ilcm_user_id": 102,
"ilcm_name": "Bob Manager",
"created_at": "2024-11-27T10:00:00.000Z",
"updated_at": "2024-11-27T10:00:00.000Z"
}
}Update Lead Care Manager Assignment
Update the Lead Care Manager assignment for an ECM patient.
Endpoint: PUT /v1/admin/clinic/ecm/lead_care_managers/assign
Authentication: Required (Admin role)
Request Body Parameters
Same as Assign Lead Care Manager endpoint.
Example Request
PUT /v1/admin/clinic/ecm/lead_care_managers/assign HTTP/1.1
Content-Type: application/json
X-User-Token: your_admin_token_here
{
"patient_id": 123,
"ilcm_user_id": 103
}Remove Lead Care Manager Assignment
Remove a Lead Care Manager assignment from an ECM patient.
Endpoint: DELETE /v1/admin/clinic/ecm/lead_care_managers/assign
Authentication: Required (Admin role)
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
patient_id | integer | Yes | Patient ID |
role | string | Yes | Role to remove: olcm or ilcm |
Example Request
DELETE /v1/admin/clinic/ecm/lead_care_managers/assign HTTP/1.1
Content-Type: application/json
X-User-Token: your_admin_token_here
{
"patient_id": 123,
"role": "olcm"
}Success Response
{
"message": "Lead Care Manager assignment removed successfully"
}Get Patient’s Lead Care Managers
Get the Lead Care Manager assignments for a specific patient.
Endpoint: GET /v1/admin/clinic/ecm/patients/{patient_id}/lead_care_managers
Authentication: Required (Admin role)
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
patient_id | integer | Yes | Patient ID |
Example Request
GET /v1/admin/clinic/ecm/patients/123/lead_care_managers HTTP/1.1
Content-Type: application/json
X-User-Token: your_admin_token_hereExample Response
{
"patient_id": 123,
"patient_name": "John Doe",
"case_load": {
"id": 789,
"provider_id": 456,
"provider_name": "Dr. Smith",
"olcm": {
"user_id": 101,
"name": "Jane Coordinator",
"email": "[email protected]",
"assigned_at": "2024-11-27T10:00:00.000Z"
},
"ilcm": {
"user_id": 102,
"name": "Bob Manager",
"email": "[email protected]",
"assigned_at": "2024-11-27T10:00:00.000Z"
}
}
}Bulk Assign Lead Care Managers
Assign Lead Care Managers to multiple patients at once.
Endpoint: POST /v1/admin/clinic/ecm/lead_care_managers/bulk_assign
Authentication: Required (Admin role)
Request Body Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
assignments | array | Yes | Array of assignment objects |
assignments[].patient_id | integer | Yes | Patient ID |
assignments[].olcm_user_id | integer | No | User ID for oLCM |
assignments[].ilcm_user_id | integer | No | User ID for iLCM |
Example Request
POST /v1/admin/clinic/ecm/lead_care_managers/bulk_assign HTTP/1.1
Content-Type: application/json
X-User-Token: your_admin_token_here
{
"assignments": [
{
"patient_id": 123,
"olcm_user_id": 101,
"ilcm_user_id": 102
},
{
"patient_id": 124,
"olcm_user_id": 101
},
{
"patient_id": 125,
"ilcm_user_id": 102
}
]
}Success Response
{
"message": "Bulk assignment completed",
"successful_count": 3,
"failed_count": 0,
"results": [
{
"patient_id": 123,
"status": "success"
},
{
"patient_id": 124,
"status": "success"
},
{
"patient_id": 125,
"status": "success"
}
]
}Case Load Structure
The case load links patients to their care team:
| Field | Type | Description |
|---|---|---|
id | integer | Case load ID |
patient_id | integer | Patient ID |
provider_id | integer | Primary provider ID |
olcm_user_id | integer | Outreach Lead Care Manager user ID |
ilcm_user_id | integer | Intensive Lead Care Manager user ID |
created_at | string | When the case load was created |
updated_at | string | When the case load was last updated |
JavaScript Example
// Assign Lead Care Manager
const assignLCM = async (patientId, olcmUserId, ilcmUserId) => {
const response = await fetch('/v1/admin/clinic/ecm/lead_care_managers/assign', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-User-Token': 'YOUR_TOKEN'
},
body: JSON.stringify({
patient_id: patientId,
olcm_user_id: olcmUserId,
ilcm_user_id: ilcmUserId
})
});
return response.json();
};
// Get patient's LCM assignments
const getPatientLCMs = async (patientId) => {
const response = await fetch(`/v1/admin/clinic/ecm/patients/${patientId}/lead_care_managers`, {
headers: {
'X-User-Token': 'YOUR_TOKEN'
}
});
return response.json();
};cURL Example
# Assign Lead Care Manager
curl -X POST "https://your-api-domain.com/v1/admin/clinic/ecm/lead_care_managers/assign" \
-H "Content-Type: application/json" \
-H "X-User-Token: YOUR_TOKEN" \
-d '{
"patient_id": 123,
"olcm_user_id": 101,
"ilcm_user_id": 102
}'Error Responses
403 Forbidden
{
"errors": ["Admin access required"]
}404 Not Found
{
"errors": ["Patient not found"]
}422 Unprocessable Entity
{
"errors": ["At least one of olcm_user_id or ilcm_user_id must be provided"]
}Best Practices
- Assign Both LCMs: When possible, assign both oLCM and iLCM for comprehensive care coordination
- Workload Balance: Monitor assigned patient counts to ensure balanced workloads
- Continuity of Care: Avoid frequent LCM changes to maintain patient relationships
- Bulk Operations: Use bulk assign for initial setup or large-scale reassignments
- Documentation: Document reasons for LCM changes in patient activities