|
| 1 | +// Common medical conditions for autocomplete — curated for clinical relevance |
| 2 | +export const CONDITIONS = [ |
| 3 | + // Cardiovascular |
| 4 | + 'Hypertension', 'Heart Failure', 'Coronary Artery Disease', 'Atrial Fibrillation', 'Angina', |
| 5 | + 'Myocardial Infarction', 'Peripheral Artery Disease', 'Deep Vein Thrombosis', 'Pulmonary Embolism', |
| 6 | + 'Cardiomyopathy', 'Arrhythmia', 'Bradycardia', 'Tachycardia', |
| 7 | + // Metabolic & Endocrine |
| 8 | + 'Type 1 Diabetes', 'Type 2 Diabetes', 'Hypothyroidism', 'Hyperthyroidism', 'Obesity', |
| 9 | + 'Hyperlipidemia', 'Hyperuricemia', 'Metabolic Syndrome', 'Cushing Syndrome', 'Addison Disease', |
| 10 | + // Respiratory |
| 11 | + 'Asthma', 'COPD', 'Pneumonia', 'Pulmonary Fibrosis', 'Sleep Apnea', 'Bronchitis', |
| 12 | + 'Tuberculosis', 'Pleural Effusion', 'Lung Cancer', 'Emphysema', |
| 13 | + // Renal & Urological |
| 14 | + 'Chronic Kidney Disease', 'Acute Kidney Injury', 'Urinary Tract Infection', 'Nephrolithiasis', |
| 15 | + 'Nephrotic Syndrome', 'Benign Prostatic Hyperplasia', 'Glomerulonephritis', |
| 16 | + // Gastrointestinal |
| 17 | + 'GERD', 'Peptic Ulcer Disease', 'Crohn Disease', 'Ulcerative Colitis', 'Irritable Bowel Syndrome', |
| 18 | + 'Cirrhosis', 'Hepatitis B', 'Hepatitis C', 'Pancreatitis', 'Celiac Disease', 'Cholecystitis', |
| 19 | + // Neurological |
| 20 | + 'Epilepsy', 'Migraine', 'Stroke', 'Parkinson Disease', 'Alzheimer Disease', 'Multiple Sclerosis', |
| 21 | + 'Peripheral Neuropathy', 'Dementia', 'Transient Ischemic Attack', |
| 22 | + // Psychiatric |
| 23 | + 'Depression', 'Anxiety Disorder', 'Bipolar Disorder', 'Schizophrenia', 'PTSD', 'OCD', 'ADHD', |
| 24 | + 'Insomnia', 'Panic Disorder', |
| 25 | + // Musculoskeletal |
| 26 | + 'Rheumatoid Arthritis', 'Osteoarthritis', 'Osteoporosis', 'Gout', 'Fibromyalgia', |
| 27 | + 'Ankylosing Spondylitis', 'Systemic Lupus Erythematosus', |
| 28 | + // Haematological |
| 29 | + 'Anaemia', 'Iron Deficiency Anaemia', 'Sickle Cell Disease', 'Thalassemia', 'Thrombocytopenia', |
| 30 | + 'Leukaemia', 'Lymphoma', |
| 31 | + // Dermatological |
| 32 | + 'Psoriasis', 'Eczema', 'Acne', 'Rosacea', 'Urticaria', |
| 33 | + // Oncological |
| 34 | + 'Breast Cancer', 'Prostate Cancer', 'Colorectal Cancer', 'Cervical Cancer', 'Liver Cancer', |
| 35 | + // Infectious |
| 36 | + 'HIV / AIDS', 'Malaria', 'Dengue Fever', 'Typhoid', 'COVID-19', |
| 37 | +] |
| 38 | + |
| 39 | +export function searchConditions(query, exclude = []) { |
| 40 | + if (!query || query.length < 1) return [] |
| 41 | + const q = query.toLowerCase() |
| 42 | + return CONDITIONS |
| 43 | + .filter(c => !exclude.includes(c)) |
| 44 | + .filter(c => c.toLowerCase().includes(q)) |
| 45 | + .sort((a, b) => { |
| 46 | + const aStarts = a.toLowerCase().startsWith(q) |
| 47 | + const bStarts = b.toLowerCase().startsWith(q) |
| 48 | + if (aStarts && !bStarts) return -1 |
| 49 | + if (!aStarts && bStarts) return 1 |
| 50 | + return a.localeCompare(b) |
| 51 | + }) |
| 52 | + .slice(0, 8) |
| 53 | +} |
0 commit comments