We can provide simple, seamless integration tools to help your developers link your EMR or PBM (pharmacy solution) to the CXM platform.
Using REST-like APIs, you can complete your integration in two steps:
- Push your current patient demographics and medication profiles to CXM
- Pull CXM charting notes back into your EMR
Our REST API examples below are formatted using JSON; however, you may also use XML if needed.
You will need an API Key for your organization in order to authenticate. Please contact your CareXM account manager to acquire one.
These APIs can be contacted up to once every 5 minutes, as needed.
Synchronize Your Patients' Demographics
Patient Care Team Upload
IMPORTANT: The PatientUpload endpoint has been replaced by PatientCareTeamUpload as of 05/13/2021 and will be deprecated later this year. End of Life date is still TBD – we will be reaching out to all clients using our REST API to assist with this transition
POST
your active patient demographics using the following message template to https://webapitest01.carexm.com/PatientCareTeamUpload/{YOUR_API_KEY}
NOTE: we ask for all ACTIVE patients (those currently on service) in the initial "historical load" to synchronize our systems. Once that has been completed, depending on the reporting capabilities of your system, you will schedule/automate the ongoing reports according to one of the following options:
1. Scheduled BATCH messages, including all Active patients and any recently-Discharged patients (Discharge date within past 48 hours), or
2. Scheduled BATCH messages, including newly-Active/Admitted patients, all recently-Discharged patients (Discharge date within past 48 hours), AND all recently-modified patient records, or
3. Real-time patient/ADT message updates.
[
{ /***All fields are REQUIRED unless otherwise specified****/
"Organization_Id": null,
/* OPTIONAL - Integer. This is the uniqueID for the organization within CXM. It is only needed when one interface channel is built to cover multiple offices/sites; message(s) need only include nomenclature or unique identifier for each office/site that can be used to map to the appropriate organization(s) within CXM.*/
"Internal_Id": null,
/* OPTIONAL - Integer. This is the CXM unique patientidentifier - new patients added to our database will have ID created on insertion. For existing clients of CareXM (where patients are already in CXM), patients will need to be mapped to existing records, most likely using the patient MRN value.*/
"EMR_Id": "",
/* Local EMR unique identifier (from yourEMR). If you don’t have one, you can reuse the MRN value in this field.*/
"MRN": "", // Medical Record Number
"First_Name": "",
"Last_Name": "",
"DOB": "", // DateTime
"SOC_Date": "", // Admit Date - DateTime
"Discharge_Date": "", // OPTIONAL - DateTime
"Diagnosis": "",
/* Icd10Code format. Do not include diagnosis description, only the code. */
"CodeStatus": "", // OPTIONAL - Possible Values:"None", "DNR", "Full Code"
"Gender": "", // "M", "F","U"
"Status": "",
/* Possible Values: "Admitted", "Deceased", "Discharged", "Pending", "Not on Service", "Referral" */
"Active": 1,
/* Whether the patient is archived or not. Possible Values: 1 (active; not archived), 0 (archived). (NOTE: We ask our clients to wait to archive patients until at least 1-2 months after their discharge date, as it is extremely helpful for our nurses to view the discharge date and any important activity history stored for that patient should a call come in after they are discharged.)*/
"Service_Area": "",
/* Possible Values: "Hospice Care", "Home Health Care", "Palliative Care / MCCM", "Clinic / Primary Care", "Other Service", "Pediatric Hospice", "Pediatric Care", "Unspecified"*/
"Area_Name": "",
/* OPTIONAL - Text. This is used to identify patients’ associated areas/teams, as it relates internally to the client, if the client uses such identifiers (i.e. North Team, South Team)*/
"Allergies": "", // OPTIONAL
"Notes": "", // OPTIONAL
"Alerts": "",
/* OPTIONAL - Text. Anything important regarding the patient CareXM nurses should be aware of.*/
"DME": "", // OPTIONAL
"DME_phone": "", // OPTIONAL
"Contact":{
"Facility_Name": "", // OPTIONAL (if available)
"Street": "",
"City": "",
"State": "", // 2-character abbreviation
"Zip_Code": "",
"Phone": "",
"Primary_Contact_Name": "",
"Primary_Contact_Phone": "",
"Physician_Name": "",
"Physician_Phone": "",
"Pharmacy_Name": "", // OPTIONAL
"Pharmacy_Phone": "" // OPTIONAL
},
/* *NOTE: The Entire CareTeamMembers Array Object is optional and can be omitted if no case manager or other care team data is needed.*/
"CareTeamMembers": [
{
"IsCaseManager": "", //Possible Values: "true", "false"
"First_Name": "",
"Last_Name": "",
"Phone": "",
/* OPTIONAL - DO NOT INCLUDE COUNTRY CODE. Special Characters OK, e.g., 2223334444, 222 333 4444, (222)333-4444, 222-333-4444 will all work.*/
"Email": "", // OPTIONAL, but recommended
"Provider_Type": "",
/* OPTIONAL - will default to Registered Nurse if not provided. See Possible Provider Types below */
"Provider_Type_Abbreviation": "", // OPTIONAL
"NPI": "", // OPTIONAL - National Provider Identifier
"CareTeamMemberType": ""
/* OPTIONAL - Will default to Case Manager if not provided. See Possible Provider Types section for possible values. */
}
]
}
]
Possible Provider Types, Abbreviations, and Roles in a Patient's Care Team
*NOTE: Some provider types have industry accepted abbreviations that can be provided in the Provider_Type_Abbreviation instead of sending the Provider_Type field. Those are listed below. In addition, there are constraints for which Care Team Member Types a given Provider can be assigned to based on their Provider Type. ANY PROVIDER CAN BE ASSIGNED TO THE VOLUNTEER OR PRIVATE CAREGIVER ROLE.
Provider Type | Abbreviation | Possible Care Team Member Types |
---|---|---|
ANY PROVIDER TYPE | Volunteer, Private Caregiver | |
Administrative Assistant | ||
Administrator | ||
Bereavement Coordinator | Bereavement Counselor | |
Chaplain | CHAP | Spiritual Care Coordinator |
Clinical Technician | ||
Certified Nursing Assistant | CNA | CNA/HHA |
Dentist | ||
Dental Assistant | ||
Dental Hygienist | ||
Fellow | ||
Home Health Aide | HHA | CNA/HHA |
IT Specialist | ||
LPN/LVN | LPN, LVN | Skilled Nurse |
Medical Assistant | ||
Medical Director | Attending Physician, Referring Physician | |
Certified Nurse Midwife | ||
Registered Nurse (RN) | RN | Case Manager, Skilled Nurse |
Nurse Practitioner | NP | Attending Physician, Referring Physician |
Occupational Therapist | OT | Case Manager, Occupational Therapist |
Office Manager | ||
Office Staff | ||
Patient Care Representative | ||
Pharmacist | ||
Physical Therapist | PT | Case Manager, Physical Therapist |
Physician | MD, DO | Attending Physician, Referring Physician, Primary Care Physician |
Physician Assistant | PA | Attending Physician, Referring Physician |
Intake Specialist | ||
Resident | ||
Respiratory Therapist | RT, CRT | Case Manager, Respiratory Therapist |
Social Worker | LCSW | Social Worker, Spiritual Care Coordinator |
Speech Therapist | Case Manager, Speech Therapist | |
Spiritual Care Coordinator | SCC | Spiritual Care Coordinator |
Technician | ||
Volunteer Coordninator | ||
Registered Dietician | Case Manager, Dietician | |
Volunteer | ||
Support Staff | Case Manager |
*DEPRECATED* Patient Care Team Upload
NOTE: The following PatientUpload endpoint is deprecated. Please use the PatientCareTeamUpload documented above**
POST
your active patient demographics using the following message template to https://webapitest01.carexm.com/patientupload/{YOUR_API_KEY}
NOTE: we ask for all ACTIVE patients (those currently on service) in the initial "historical load" to synchronize our systems. Once that has been completed, depending on the reporting capabilities of your system, you will schedule/automate the ongoing reports according to one of the following options:
1. Scheduled BATCH messages, including all Active patients and any recently-Discharged patients (Discharge date within past 48 hours), or
2. Scheduled BATCH messages, including newly-Active/Admitted patients, all recently-Discharged patients (Discharge date within past 48 hours), AND all recently-modified patient records, or
3. Real-time patient/ADT message updates.
[
{ /***All fields are REQUIRED unless otherwise specified****/
"Organization_Id": null, ////OPTIONAL - Integer. This is the uniqueID for the organization within CXM . It is only needed when one interface channel is built to cover multiple offices/sites; message(s) need only include nomenclature or unique identifier for each office/site that can be used to map to the appropriate organization(s) within CXM.
"Internal_Id": null, //Integer. This is the CXM unique patientidentifier - new patients added to our database will have ID created on insertion. For existing clients of CareXM (where patients are already in CXM), patients will need to be mapped to existing records, most likely using the patient MRN value.
"EMR_Id": "", //Local EMR unique identifier (from yourEMR). If you don’t have one, you can reuse the MRN value in this field.
"MRN": "",
"First_Name": "",
"Last_Name": "",
"DOB": "", //DateTime
"SOC_Date": "", //Admit Date - DateTime
"Discharge_Date": "", ////OPTIONAL - DateTime
"Diagnosis": "", //Icd10Code format. Do not include diagnosis description, only the code.
"CodeStatus": "", ////OPTIONAL - Possible Values:"None", "DNR", "Full Code"
"Gender": "", // "M", "F","U"
"Status": "", //Possible Values: "Admitted", "Deceased", "Discharged", "Pending", "Not on Service", "Referral"
"Active": 1, //Whether the patient is archived or not. Possible Values: 1 (active; not archived), 0 (archived). (NOTE: We ask our clients to wait to archive patients until at least 1-2 months after their discharge date, as it is extremely helpful for our nurses to view the discharge date and any important activity history stored for that patient should a call come in after they are discharged.)
"Service_Area": "", //Possible Values: "Hospice Care", "Home Health Care", "Palliative Care / MCCM", "Clinic / Primary Care", "Other Service", "Pediatric Hospice", "Pediatric Care", "Unspecified"
"Area_Name": "" ////OPTIONAL - Text. This is used to identify patients’ associated areas/teams, as it relates internally to the client, if the client uses such identifiers (i.e. North Team, South Team)
"Allergies": "", ////OPTIONAL
"Notes": "", ////OPTIONAL
"Alerts": "", ////OPTIONAL - Text. Anything important regarding the patient CareXM nurses should be aware of.
"Contact":{
"Facility_Name": "", ////OPTIONAL (if available)
"Street": "",
"City": "",
"State": "", //2-character abbreviation
"Zip_Code": "",
"Phone": "",
"Primary_Contact_Name": "",
"Primary_Contact_Phone": "",
"Physician_Name": "",
"Physician_Phone": "",
"Pharmacy_Name": "", ////OPTIONAL
"Pharmacy_Phone": "" ////OPTIONAL
},
"DME": "", ////OPTIONAL
"DME_phone": "", ////OPTIONAL
"Case_Manager_First_Name": "",
"Case_Manager_Last_Name": "",
"Case_Manager_Phone": "", ////OPTIONAL
"Case_Manager_Phone2": "", ////OPTIONAL
"Case_Manager_Email": "" ////OPTIONAL
}
]
Synchronize Your Patients' Medications
POST
your patients' medications using the following template to
https://webapitest01.carexm.com/MedicationsUpload/{PATIENT_EMR_ID}/{YOUR_API_KEY}/{FALSE or TRUE}
NOTE: Patient_EMR_ID (in the API link) is the value listed as patient's EMR_ID in patient message (used for mapping to appropriate patient record in our system)
Parameters in blue are optional. If nothing is provided, TRUE is assumed, as it is the least-common denominator option.
- If FALSE is provided at the end of the above API endpoint, records will be merged if possible based on medication ID. Existing patient medications will not be removed (if no Medication_EMR_Id is provided) or discontinued (if Medication_EMR_Id is provided), unless the medication associated with that ID is updated with an appropriate 'End_Date.'
- If TRUE is provided, records will be discontinued (with an assumed end_date) and replaced. New medication messages sent will be viewed as the "current" active medication list, and any existing medication orders listed in the system that are not included in the new message will be marked as Discontinued with TODAY() as the medication 'End_Date.' This is recommended where no
Medication_EMR_Id
is provided.
[
{
"ahtPatientID": 0 //Unique patient identifier from your EMR, must be same value used in the patient message (which may be patient's MRN); this will be used to map the medication order to the appropriate patient record in our system.
"Medication_EMR_Id": 0 ////OPTIONAL but strongly recommended; Integer - Unique medication identifier from your EMR for the medication record. If provided, a record update will be attempted with each message sent.
"Name": "",
"Dose": "",
"Route": "",
"Frequency": "",
"Indication": "",
"Start_Date": null, //Datetime field
"End_Date": null, ////OPTIONAL - Datetime field
"Covered": "", ////OPTIONAL - specific to Hospice Care; identifies if medication is covered by Hospice (i.e. Y or N)
"Ordering_MD_Name": "",
"Notes": "", ////OPTIONAL
"Generic_Name": "", ////OPTIONAL
"Special_Instructions": "" ////OPTIONAL
}
]
-----------------Upon successful upload, you should get a response like this:
"responseData": [
{
"status": 201,
"entityType": "Medication",
"message": "Successfully saved medication record",
"errorDetails": null,
"resource": {
"batchId": 1,
"externalPatientId": "88528",
"entityId": 5948583,
"name": "08/24/2021 - V4 | Airtouch F20 Mask Medium / 63001-DSA",
"isError": false
}
}
],
"metaData": {
"totalCount": 1,
"failedCount": 0,
"successCount": 1
}
}
Pull CXM clinical 'Nursing Notes' back into your EMR
Get charting notes from https://webapitest01.carexm.com/ActivitiesDownload/{YOUR_API_KEY}/{LeavePending}/{StartDate}/{EndDate}
Parameters in blue are optional.
- If TRUE is provided for
LeavePending
, pending activities will be left on the server as pending (this is primarily for testing). You should exclude this parameter, or set it to FALSE, when used in production as this will guarantee that activities are only downloaded once. - If a
StartDate
is provided, the endpoint will return all activities (through the EndDate, if included, or through TODAY() if omitted) regardless of the notes' new/pending status.
[
{
"internal_Id": 0, //CXM internal activity ID
"nurse_Id": 0, //Internal CXM nurse ID
"nurse_Name": "",
"nurser_Credentials": "",
"patient_Id": 0, //CXM internal patient ID
"patient_EMR_Id": "", //Identifier for patient in your EMR (based on the patient ID that is present in your patient roster)
"patient_MRN": "", //MRN
"patient_DOB": "", //Date
"patient_First_Name": "",
"patient_Last_Name": "",
"activity_Id": 0, //CXM internal activity ID
"activity_Action_Id": 0, //CXM internal action ID
"activity_Action": "",
"call_Code": "",
"call_Code_Id": 0,
"diagnosis": "", //Icd10Code
"service_Name": "",
"formatted_Notes": "", //All charting notes
"activity_Messages": "",
"digital_Signature": "Electronically Signed By Stephanie Allen, RN",
"activity_Time": "", //DateTime
"activity_Time_String": "", //String-formatted DateTIme
"processed_Date": null, //Date that the charting notes were made available for download
"aht_Input_Date": "", //DateTime that the charting notes were input by CareXM staff
"hps_Number": "", //An optional Identifier in our system
"area_Name": ""
}
]