Skip to Content

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:

RoleAbbreviationDescription
Outreach Lead Care ManageroLCMHandles initial outreach and engagement with patients
Intensive Lead Care ManageriLCMHandles 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

ParameterTypeRequiredDescription
pageintegerNoPage number (default: 1)
per_pageintegerNoItems per page (default: 25)
searchstringNoSearch by name
rolestringNoFilter 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_here

Example 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

ParameterTypeRequiredDescription
patient_idintegerYesPatient ID
olcm_user_idintegerNoUser ID for Outreach Lead Care Manager
ilcm_user_idintegerNoUser 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

ParameterTypeRequiredDescription
patient_idintegerYesPatient ID
rolestringYesRole 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

ParameterTypeRequiredDescription
patient_idintegerYesPatient 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_here

Example 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

ParameterTypeRequiredDescription
assignmentsarrayYesArray of assignment objects
assignments[].patient_idintegerYesPatient ID
assignments[].olcm_user_idintegerNoUser ID for oLCM
assignments[].ilcm_user_idintegerNoUser 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:

FieldTypeDescription
idintegerCase load ID
patient_idintegerPatient ID
provider_idintegerPrimary provider ID
olcm_user_idintegerOutreach Lead Care Manager user ID
ilcm_user_idintegerIntensive Lead Care Manager user ID
created_atstringWhen the case load was created
updated_atstringWhen 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

  1. Assign Both LCMs: When possible, assign both oLCM and iLCM for comprehensive care coordination
  2. Workload Balance: Monitor assigned patient counts to ensure balanced workloads
  3. Continuity of Care: Avoid frequent LCM changes to maintain patient relationships
  4. Bulk Operations: Use bulk assign for initial setup or large-scale reassignments
  5. Documentation: Document reasons for LCM changes in patient activities