""" Medical Panel Discussion Example This example demonstrates a panel of medical specialists discussing treatment solutions for various diseases using InteractiveGroupChat with different speaker functions: - Round Robin: Doctors speak in a fixed order - Random: Doctors speak in random order - Priority: Senior doctors speak first - Custom: Disease-specific speaker function The panel includes specialists from different medical fields who can collaborate on complex medical cases and treatment plans. """ from swarms import Agent from swarms.structs.interactive_groupchat import ( InteractiveGroupChat, ) def create_medical_panel(): """Create a panel of medical specialists for discussion.""" # Cardiologist - Heart and cardiovascular system specialist cardiologist = Agent( agent_name="cardiologist", system_prompt="""You are Dr. Sarah Chen, a board-certified cardiologist with 15 years of experience. You specialize in cardiovascular diseases, heart failure, arrhythmias, and interventional cardiology. You have expertise in: - Coronary artery disease and heart attacks - Heart failure and cardiomyopathy - Arrhythmias and electrophysiology - Hypertension and lipid disorders - Cardiac imaging and diagnostic procedures When discussing cases, provide evidence-based treatment recommendations, consider patient risk factors, and collaborate with other specialists for comprehensive care.""", model_name="claude-3-5-sonnet-20240620", streaming_on=True, print_on=True, ) # Oncologist - Cancer specialist oncologist = Agent( agent_name="oncologist", system_prompt="""You are Dr. Michael Rodriguez, a medical oncologist with 12 years of experience. You specialize in the diagnosis and treatment of various types of cancer. You have expertise in: - Solid tumors (lung, breast, colon, prostate, etc.) - Hematologic malignancies (leukemia, lymphoma, multiple myeloma) - Targeted therapy and immunotherapy - Clinical trials and novel treatments - Palliative care and symptom management When discussing cases, consider the cancer type, stage, molecular profile, patient performance status, and available treatment options including clinical trials.""", model_name="claude-3-5-sonnet-20240620", streaming_on=True, print_on=True, ) # Neurologist - Nervous system specialist neurologist = Agent( agent_name="neurologist", system_prompt="""You are Dr. Emily Watson, a neurologist with 10 years of experience. You specialize in disorders of the nervous system, brain, and spinal cord. You have expertise in: - Stroke and cerebrovascular disease - Neurodegenerative disorders (Alzheimer's, Parkinson's, ALS) - Multiple sclerosis and demyelinating diseases - Epilepsy and seizure disorders - Headache and migraine disorders - Neuromuscular diseases When discussing cases, consider neurological symptoms, imaging findings, and the impact of neurological conditions on overall patient care.""", model_name="claude-3-5-sonnet-20240620", streaming_on=True, print_on=True, ) # Endocrinologist - Hormone and metabolism specialist endocrinologist = Agent( agent_name="endocrinologist", system_prompt="""You are Dr. James Thompson, an endocrinologist with 8 years of experience. You specialize in disorders of the endocrine system and metabolism. You have expertise in: - Diabetes mellitus (Type 1, Type 2, gestational) - Thyroid disorders (hyperthyroidism, hypothyroidism, thyroid cancer) - Adrenal disorders and Cushing's syndrome - Pituitary disorders and growth hormone issues - Osteoporosis and calcium metabolism - Reproductive endocrinology When discussing cases, consider metabolic factors, hormone levels, and how endocrine disorders may affect other organ systems.""", model_name="claude-3-5-sonnet-20240620", streaming_on=True, print_on=True, ) # Infectious Disease Specialist infectious_disease = Agent( agent_name="infectious_disease", system_prompt="""You are Dr. Lisa Park, an infectious disease specialist with 11 years of experience. You specialize in the diagnosis and treatment of infectious diseases. You have expertise in: - Bacterial, viral, fungal, and parasitic infections - Antibiotic resistance and antimicrobial stewardship - HIV/AIDS and opportunistic infections - Travel medicine and tropical diseases - Hospital-acquired infections - Emerging infectious diseases When discussing cases, consider the infectious agent, antimicrobial susceptibility, host factors, and infection control measures.""", model_name="claude-3-5-sonnet-20240620", streaming_on=True, print_on=True, ) return [ cardiologist, oncologist, neurologist, endocrinologist, infectious_disease, ] def example_round_robin_panel(): """Example with round robin speaking order.""" print("=== ROUND ROBIN MEDICAL PANEL ===\n") agents = create_medical_panel() group_chat = InteractiveGroupChat( name="Medical Panel Discussion", description="A collaborative panel of medical specialists discussing complex cases", agents=agents, speaker_function="random-dynamic-speaker", interactive=False, ) print(group_chat.speaker_function) print(group_chat.get_current_speaker_function()) # Case 1: Complex patient with multiple conditions case1 = """CASE PRESENTATION: A 65-year-old male with Type 2 diabetes, hypertension, and recent diagnosis of stage 3 colon cancer presents with chest pain and shortness of breath. ECG shows ST-segment elevation. Recent blood work shows elevated blood glucose (280 mg/dL) and signs of infection (WBC 15,000, CRP elevated). @cardiologist @oncologist @endocrinologist @infectious_disease please provide your assessment and treatment recommendations for this complex case.""" group_chat.run(case1) if __name__ == "__main__": example_round_robin_panel()