CharmHealth MCP Server

CharmHealth MCP Server

An MCP server for CharmHealth EHR that allows LLMs and MCP clients to interact with patient records, encounters, and practice information.

159

14 Tools

Signed
Built by Docker
Requires Secrets
Add to Docker Desktop

Version 4.43 or later needs to be installed to add the server automatically

Tools

NameDescription
manageEncounterManage encounters. <usecase> Complete encounter workflow - create, review, and sign encounters with comprehensive clinical documentation. Essential for clinical workflow from initial documentation through final signature. </usecase> <instructions> Actions: - "create": Create new encounter and document clinical findings (default) - "review": Display complete encounter details for review before signing - "sign": Electronically sign encounter after review and confirmation - "unlock": Unlock a previously signed encounter to allow modifications For creating encounters: - Requires: patient_id, provider_id, facility_id, encounter_date - Optional: appointment_id (to create from existing appointment), visit_type_id, encounter_mode, chief_complaint For reviewing encounters: - Requires: patient_id, encounter_id - Shows comprehensive encounter details including vitals, diagnoses, medications, notes For signing encounters: - Requires: patient_id, encounter_id - Only use after reviewing and confirming all information is accurate For unlocking encounters: - Requires: patient_id, encounter_id, reason - Used to unlock signed encounters when modifications are needed - Must provide a valid reason for unlocking the encounter Recommended workflow: 1. Create encounter: manageEncounter(patient_id, provider_id, facility_id, encounter_date, action="create") 2. Add clinical data using managePatientVitals(), managePatientDrugs(), managePatientDiagnoses() 3. Review before signing: manageEncounter(patient_id, encounter_id, action="review") 4. Sign to finalize: manageEncounter(patient_id, encounter_id, action="sign") 5. If modifications needed: manageEncounter(patient_id, encounter_id, reason="reason for changes", action="unlock") When required parameters are missing, ask the user to provide the specific values rather than proceeding with defaults or auto-generated values. </instructions>
managePatientDiagnosesManage patient diagnoses. <usecase> Complete diagnosis management for patient problem lists - add new diagnoses, update existing conditions, and maintain accurate medical problem lists. Essential for clinical reasoning and care planning. </usecase> <instructions> Actions: - "add": Add new diagnosis (requires diagnosis_name, diagnosis_code, code_type) - "list": Show all patient diagnoses (optionally filter by encounter_id) - "update": Modify existing diagnosis (requires record_id + fields to change) - "delete": Remove diagnosis (requires record_id). Ask the user if they are sure they want to delete the diagnosis before proceeding. Code types: "ICD10", "SNOMED" Status options: "Active", "Inactive", "Resolved" Use encounter_id to link diagnosis to specific visit for billing and documentation When required parameters are missing, ask the user to provide the specific values rather than proceeding with defaults or auto-generated values. </instructions>

Manual installation

You can install the MCP server using:

Installation for

Related servers