CTA / backend /mcp_mocks.py
TheQuantEd's picture
Initial deployment: ClinicalMatch AI v2.0 — FHIR R4 · MCP (9 tools) · A2A workflow · SHARP compliance · 100k synthetic patients · Neo4j graph · GraphRAG chatbot
59abb4f
# Mock MCP Superpowers for hackathon demo
def parse_trial_protocol(protocol_text: str):
# Mock: Extract inclusion criteria, etc.
return {
"inclusion_criteria": ["Age > 18", "Diagnosis: Breast Cancer"],
"exclusion_criteria": ["Prior treatment X"],
"phase": "II"
}
def access_fhir_patient_data(patient_id: str):
# Mock: Return de-identified patient data
return {
"age": 45,
"gender": "F",
"diagnoses": ["C50"],
"medications": ["Drug A"]
}
def generate_recruitment_message(patient_id: str, trial_id: str):
# Mock: Generate personalized message
return f"Dear Patient {patient_id}, you may be eligible for Trial {trial_id}. Please contact your doctor."
def orchestrate_a2a_workflow(patient_id: str, trial_id: str):
# Mock A2A: Coordinate the superpowers
protocol = parse_trial_protocol("Mock protocol text")
patient_data = access_fhir_patient_data(patient_id)
message = generate_recruitment_message(patient_id, trial_id)
# Check eligibility (simple mock)
eligible = patient_data["diagnoses"][0] in protocol["inclusion_criteria"]
return {
"eligible": eligible,
"message": message if eligible else None
}