/** * Common strengths, most common first, offered as chips when a medicine is * added. For picking only: the pack in her hand wins, and "Not sure" and * typing stay. A chip she picks is saved as the medicine's strength, which * the check reads, so a chip must never hide a dose the check could count * (tests/medicine-facts.test.ts runs the check on every chip). * * Single medicines are keyed by catalog ingredient. Products list the exact * catalog names whose packs they describe; another name of the same product * gets none of them ("Solpadeine" is not offered co-codamol's chips). A * single-ingredient product with no entry of its own uses its ingredient's * strengths. Herbal medicines have none: their strengths vary. * * Drafted from common UK and Nigerian packs and checked against DrugBank 5.1 * products where it lists them. The pharmacist may correct any of them. */ export type StrengthForm = | 'tablet' | 'capsule' | 'liquid' | 'injection' | 'patch' | 'inhaler' | 'drops' | 'powder' | 'cream' | 'gel' | 'spray' | 'suppository' | 'lozenge'; export type Strengths = Partial>; export const INGREDIENT_STRENGTHS: Record = { // Pain and inflammation paracetamol: { tablet: ['500 mg', '325 mg', '650 mg'], capsule: ['500 mg'], liquid: ['120 mg/5 ml', '250 mg/5 ml', '125 mg/5 ml', '160 mg/5 ml'], suppository: ['125 mg', '250 mg', '500 mg'], injection: ['10 mg/ml'], }, ibuprofen: { tablet: ['200 mg', '400 mg', '600 mg', '800 mg'], capsule: ['200 mg', '400 mg'], liquid: ['100 mg/5 ml', '200 mg/5 ml'], gel: ['5%', '10%'], }, diclofenac: { tablet: ['50 mg', '25 mg', '75 mg', '100 mg'], gel: ['1.16%', '2.32%', '1%'], suppository: ['100 mg', '50 mg', '12.5 mg'], injection: ['25 mg/ml'], }, naproxen: { tablet: ['250 mg', '500 mg', '220 mg', '375 mg'] }, piroxicam: { capsule: ['20 mg', '10 mg'], gel: ['0.5%'] }, meloxicam: { tablet: ['7.5 mg', '15 mg'] }, celecoxib: { capsule: ['200 mg', '100 mg'] }, indometacin: { capsule: ['25 mg', '50 mg', '75 mg'], suppository: ['100 mg'] }, ketoprofen: { capsule: ['50 mg', '100 mg', '200 mg'], gel: ['2.5%'] }, 'mefenamic-acid': { capsule: ['250 mg'], tablet: ['500 mg'], liquid: ['50 mg/5 ml'] }, aspirin: { tablet: ['75 mg', '300 mg', '81 mg', '325 mg'] }, tramadol: { capsule: ['50 mg'], tablet: ['50 mg', '100 mg', '200 mg'], injection: ['50 mg/ml'] }, codeine: { tablet: ['30 mg', '15 mg', '60 mg'], liquid: ['25 mg/5 ml'] }, dihydrocodeine: { tablet: ['30 mg'] }, morphine: { tablet: ['10 mg', '30 mg', '5 mg', '15 mg'], liquid: ['10 mg/5 ml'], injection: ['10 mg/ml'] }, pentazocine: { tablet: ['25 mg', '50 mg'], injection: ['30 mg/ml'] }, // Blood thinners warfarin: { tablet: ['1 mg', '3 mg', '5 mg', '0.5 mg'] }, acenocoumarol: { tablet: ['1 mg', '4 mg'] }, rivaroxaban: { tablet: ['20 mg', '15 mg', '10 mg', '2.5 mg'] }, apixaban: { tablet: ['5 mg', '2.5 mg'] }, dabigatran: { capsule: ['150 mg', '110 mg', '75 mg'] }, edoxaban: { tablet: ['60 mg', '30 mg', '15 mg'] }, clopidogrel: { tablet: ['75 mg', '300 mg'] }, ticagrelor: { tablet: ['90 mg', '60 mg'] }, prasugrel: { tablet: ['10 mg', '5 mg'] }, // Heart and blood pressure amlodipine: { tablet: ['5 mg', '10 mg', '2.5 mg'] }, nifedipine: { tablet: ['20 mg', '30 mg', '60 mg', '10 mg'], capsule: ['5 mg', '10 mg'] }, lisinopril: { tablet: ['5 mg', '10 mg', '20 mg', '2.5 mg'] }, enalapril: { tablet: ['5 mg', '10 mg', '20 mg', '2.5 mg'] }, ramipril: { capsule: ['2.5 mg', '5 mg', '10 mg', '1.25 mg'], tablet: ['2.5 mg', '5 mg', '10 mg', '1.25 mg'] }, captopril: { tablet: ['25 mg', '12.5 mg', '50 mg'] }, perindopril: { tablet: ['4 mg', '8 mg', '5 mg', '10 mg', '2 mg'] }, losartan: { tablet: ['50 mg', '100 mg', '25 mg'] }, valsartan: { tablet: ['80 mg', '160 mg', '320 mg', '40 mg'] }, telmisartan: { tablet: ['40 mg', '80 mg', '20 mg'] }, irbesartan: { tablet: ['150 mg', '300 mg', '75 mg'] }, candesartan: { tablet: ['8 mg', '16 mg', '4 mg', '32 mg'] }, hydrochlorothiazide: { tablet: ['25 mg', '12.5 mg', '50 mg'] }, bendroflumethiazide: { tablet: ['2.5 mg', '5 mg'] }, chlortalidone: { tablet: ['25 mg', '50 mg', '12.5 mg'] }, indapamide: { tablet: ['2.5 mg', '1.5 mg'] }, furosemide: { tablet: ['40 mg', '20 mg'], liquid: ['20 mg/5 ml', '40 mg/5 ml'], injection: ['10 mg/ml'] }, spironolactone: { tablet: ['25 mg', '50 mg', '100 mg'] }, eplerenone: { tablet: ['25 mg', '50 mg'] }, amiloride: { tablet: ['5 mg'] }, 'potassium-chloride': { tablet: ['600 mg'] }, atenolol: { tablet: ['50 mg', '100 mg', '25 mg'] }, propranolol: { tablet: ['40 mg', '10 mg', '80 mg', '160 mg'] }, bisoprolol: { tablet: ['5 mg', '2.5 mg', '10 mg', '1.25 mg'] }, metoprolol: { tablet: ['50 mg', '100 mg', '25 mg'] }, carvedilol: { tablet: ['6.25 mg', '12.5 mg', '25 mg', '3.125 mg'] }, digoxin: { tablet: ['125 mcg', '250 mcg', '62.5 mcg'], liquid: ['50 mcg/ml'] }, amiodarone: { tablet: ['200 mg', '100 mg'] }, simvastatin: { tablet: ['20 mg', '40 mg', '10 mg', '80 mg'] }, atorvastatin: { tablet: ['10 mg', '20 mg', '40 mg', '80 mg'] }, rosuvastatin: { tablet: ['10 mg', '5 mg', '20 mg', '40 mg'] }, pravastatin: { tablet: ['20 mg', '40 mg', '10 mg'] }, sildenafil: { tablet: ['50 mg', '100 mg', '25 mg', '20 mg'] }, tadalafil: { tablet: ['20 mg', '10 mg', '5 mg', '2.5 mg'] }, 'isosorbide-mononitrate': { tablet: ['20 mg', '40 mg', '60 mg', '10 mg'] }, 'isosorbide-dinitrate': { tablet: ['10 mg', '5 mg', '20 mg'] }, 'glyceryl-trinitrate': { spray: ['400 mcg/dose'], tablet: ['500 mcg', '300 mcg'] }, // Diabetes metformin: { tablet: ['500 mg', '850 mg', '1000 mg', '750 mg'] }, glibenclamide: { tablet: ['5 mg', '2.5 mg'] }, glimepiride: { tablet: ['2 mg', '1 mg', '3 mg', '4 mg'] }, gliclazide: { tablet: ['80 mg', '30 mg', '60 mg'] }, glipizide: { tablet: ['5 mg', '10 mg', '2.5 mg'] }, insulin: { injection: ['100 units/ml', '300 units/ml', '200 units/ml'] }, // Stomach omeprazole: { capsule: ['20 mg', '40 mg', '10 mg'], tablet: ['20 mg'] }, esomeprazole: { tablet: ['20 mg', '40 mg'], capsule: ['20 mg', '40 mg'] }, lansoprazole: { capsule: ['30 mg', '15 mg'] }, pantoprazole: { tablet: ['40 mg', '20 mg'] }, // Infections amoxicillin: { capsule: ['500 mg', '250 mg'], tablet: ['500 mg', '875 mg', '1 g'], liquid: ['125 mg/5 ml', '250 mg/5 ml'] }, ampicillin: { capsule: ['250 mg', '500 mg'], liquid: ['125 mg/5 ml', '250 mg/5 ml'], injection: ['500 mg', '1 g'] }, cloxacillin: { capsule: ['250 mg', '500 mg'], liquid: ['125 mg/5 ml'] }, flucloxacillin: { capsule: ['250 mg', '500 mg'], liquid: ['125 mg/5 ml', '250 mg/5 ml'] }, phenoxymethylpenicillin: { tablet: ['250 mg'], liquid: ['125 mg/5 ml', '250 mg/5 ml'] }, benzylpenicillin: { injection: ['600 mg', '1.2 g'] }, cefalexin: { capsule: ['250 mg', '500 mg'], liquid: ['125 mg/5 ml', '250 mg/5 ml'] }, cefuroxime: { tablet: ['250 mg', '500 mg', '125 mg'], liquid: ['125 mg/5 ml'], injection: ['750 mg', '1.5 g'] }, ceftriaxone: { injection: ['1 g', '250 mg', '500 mg', '2 g'] }, cefixime: { tablet: ['400 mg', '200 mg'], capsule: ['400 mg', '200 mg'], liquid: ['100 mg/5 ml'] }, ciprofloxacin: { tablet: ['500 mg', '250 mg', '750 mg'], drops: ['0.3%'] }, levofloxacin: { tablet: ['500 mg', '250 mg', '750 mg'] }, clarithromycin: { tablet: ['500 mg', '250 mg'], liquid: ['125 mg/5 ml', '250 mg/5 ml'] }, erythromycin: { tablet: ['250 mg', '500 mg'], liquid: ['125 mg/5 ml', '250 mg/5 ml'] }, azithromycin: { tablet: ['500 mg', '250 mg'], capsule: ['250 mg'], liquid: ['200 mg/5 ml'] }, metronidazole: { tablet: ['400 mg', '200 mg', '500 mg'], liquid: ['200 mg/5 ml'], gel: ['0.75%'], injection: ['5 mg/ml'] }, trimethoprim: { tablet: ['200 mg', '100 mg'], liquid: ['50 mg/5 ml'] }, doxycycline: { capsule: ['100 mg', '50 mg'], tablet: ['100 mg'] }, fluconazole: { capsule: ['150 mg', '50 mg', '200 mg'], liquid: ['50 mg/5 ml'] }, ketoconazole: { tablet: ['200 mg'], cream: ['2%'] }, itraconazole: { capsule: ['100 mg'] }, rifampicin: { capsule: ['300 mg', '150 mg'], liquid: ['100 mg/5 ml'] }, isoniazid: { tablet: ['100 mg', '300 mg', '50 mg'] }, // Malaria (the usual combinations are under products) artemether: { injection: ['80 mg/ml', '20 mg/ml'] }, artesunate: { tablet: ['50 mg', '100 mg', '200 mg'], injection: ['60 mg'], suppository: ['100 mg', '50 mg'] }, amodiaquine: { tablet: ['200 mg'] }, pyrimethamine: { tablet: ['25 mg'] }, chloroquine: { tablet: ['250 mg', '150 mg'] }, quinine: { tablet: ['300 mg', '200 mg'], injection: ['300 mg/ml'] }, // HIV dolutegravir: { tablet: ['50 mg', '10 mg'] }, efavirenz: { tablet: ['600 mg', '400 mg'], capsule: ['200 mg'] }, emtricitabine: { capsule: ['200 mg'] }, tenofovir: { tablet: ['300 mg', '245 mg', '25 mg'] }, lamivudine: { tablet: ['150 mg', '300 mg', '100 mg'], liquid: ['10 mg/ml'] }, nevirapine: { tablet: ['200 mg', '400 mg'], liquid: ['50 mg/5 ml'] }, // Mental health and the nervous system sertraline: { tablet: ['50 mg', '100 mg', '25 mg'] }, fluoxetine: { capsule: ['20 mg', '10 mg', '40 mg', '60 mg'], liquid: ['20 mg/5 ml'] }, citalopram: { tablet: ['20 mg', '10 mg', '40 mg'] }, escitalopram: { tablet: ['10 mg', '5 mg', '20 mg'] }, paroxetine: { tablet: ['20 mg', '30 mg', '10 mg'] }, amitriptyline: { tablet: ['10 mg', '25 mg', '50 mg'] }, diazepam: { tablet: ['5 mg', '2 mg', '10 mg'], liquid: ['2 mg/5 ml'], injection: ['5 mg/ml'] }, lorazepam: { tablet: ['1 mg', '2 mg', '0.5 mg'], injection: ['4 mg/ml'] }, alprazolam: { tablet: ['0.25 mg', '0.5 mg', '1 mg'] }, bromazepam: { tablet: ['3 mg', '1.5 mg', '6 mg'] }, clonazepam: { tablet: ['0.5 mg', '2 mg'] }, carbamazepine: { tablet: ['200 mg', '400 mg', '100 mg'], liquid: ['100 mg/5 ml'] }, phenytoin: { capsule: ['100 mg', '50 mg', '300 mg', '25 mg'], tablet: ['100 mg'], liquid: ['30 mg/5 ml', '125 mg/5 ml'] }, 'sodium-valproate': { tablet: ['200 mg', '500 mg', '300 mg'], liquid: ['200 mg/5 ml'] }, lithium: { tablet: ['400 mg', '200 mg', '250 mg'], liquid: ['520 mg/5 ml'] }, // Breathing and allergy salbutamol: { inhaler: ['100 mcg/dose'], tablet: ['2 mg', '4 mg'], liquid: ['2 mg/5 ml'] }, cetirizine: { tablet: ['10 mg'], liquid: ['5 mg/5 ml'] }, loratadine: { tablet: ['10 mg'], liquid: ['5 mg/5 ml'] }, chlorphenamine: { tablet: ['4 mg'], liquid: ['2 mg/5 ml'], injection: ['10 mg/ml'] }, promethazine: { tablet: ['25 mg', '10 mg'], liquid: ['5 mg/5 ml'], injection: ['25 mg/ml'] }, diphenhydramine: { tablet: ['25 mg', '50 mg'], capsule: ['25 mg', '50 mg'], liquid: ['12.5 mg/5 ml'] }, dextromethorphan: { liquid: ['15 mg/5 ml', '7.5 mg/5 ml'] }, pseudoephedrine: { tablet: ['60 mg', '120 mg'], liquid: ['30 mg/5 ml'] }, // Steroids, thyroid, gout and the immune system prednisolone: { tablet: ['5 mg', '1 mg', '25 mg', '20 mg'], liquid: ['5 mg/5 ml'] }, dexamethasone: { tablet: ['0.5 mg', '2 mg', '4 mg'], injection: ['4 mg/ml'] }, levothyroxine: { tablet: ['50 mcg', '100 mcg', '25 mcg', '75 mcg'], liquid: ['25 mcg/5 ml', '50 mcg/5 ml'] }, allopurinol: { tablet: ['100 mg', '300 mg'] }, azathioprine: { tablet: ['50 mg', '25 mg'] }, // 2.5 mg only: 2.5 mg and 10 mg tablets mixed up on a weekly dose have killed people (NPSA). methotrexate: { tablet: ['2.5 mg'] }, // Vitamins and minerals. Iron packs print the salt. Calcium packs print the // calcium, the carbonate or both, so both appear: pharmacist to pick one. iron: { tablet: ['200 mg', '210 mg', '300 mg', '305 mg'] }, calcium: { tablet: ['500 mg', '600 mg', '1.25 g', '1.5 g'] }, zinc: { tablet: ['20 mg', '10 mg', '25 mg', '50 mg'] }, magnesium: { tablet: ['250 mg', '400 mg', '500 mg'] }, }; export interface ProductStrengths { /** The catalog product names (catalog.ts) whose packs these are. Another name of the same product gets none. */ names: string[]; forms: Strengths; /** * For chips giving one amount per ingredient ("30/500 mg"): the ingredient keys in the order the pack prints them. * The check reads a combination's strength by these chips, typed either way round ("500mg/30mg"), so each amount * counts towards its own ingredient's daily maximum (domain/checks/amounts.ts). */ amountOrder?: string[]; /** Each chip is the pack's total for all its ingredients: Augmentin "625 mg" is amoxicillin 500 mg with clavulanic acid 125 mg. */ total?: true; } /** * Combinations, and single-ingredient products whose usual strengths differ * from the ingredient's. A combination whose other ingredient is only caffeine * gives the main medicine's amount alone ("500 mg" for Panadol Extra), the one * the check counts: with no chip to tell its amounts apart, the check cannot * read "500/65 mg" unless each amount is named ("paracetamol 500 mg, caffeine * 65 mg"). */ export const PRODUCT_STRENGTHS: ProductStrengths[] = [ { names: ['panadol extra', 'panadol actifast extra'], forms: { tablet: ['500 mg'] } }, { names: ['co-codamol', 'paracetamol and codeine'], forms: { tablet: ['8/500 mg', '15/500 mg', '30/500 mg'], capsule: ['30/500 mg'] }, amountOrder: ['codeine', 'paracetamol'] }, { names: ['panadeine'], forms: { tablet: ['8/500 mg'] }, amountOrder: ['codeine', 'paracetamol'] }, { names: ['tylenol with codeine'], forms: { tablet: ['300/30 mg'] }, amountOrder: ['paracetamol', 'codeine'] }, { names: ['co-dydramol'], forms: { tablet: ['10/500 mg', '20/500 mg', '30/500 mg'] }, amountOrder: ['dihydrocodeine', 'paracetamol'] }, { names: ['nurofen plus'], forms: { tablet: ['200/12.8 mg'] }, amountOrder: ['ibuprofen', 'codeine'] }, { names: ['alabukun'], forms: { powder: ['760 mg'] } }, { names: ['cardiprin', 'low dose aspirin', 'baby aspirin'], forms: { tablet: ['75 mg', '81 mg', '100 mg'] } }, { names: ['disprin'], forms: { tablet: ['300 mg', '75 mg'] } }, { names: ['ecotrin'], forms: { tablet: ['81 mg', '325 mg'] } }, { names: ['moduretic'], forms: { tablet: ['5/50 mg', '2.5/25 mg'] }, amountOrder: ['amiloride', 'hydrochlorothiazide'] }, { names: ['augmentin', 'co-amoxiclav'], forms: { tablet: ['625 mg', '1 g', '375 mg'], liquid: ['228 mg/5 ml', '457 mg/5 ml', '156 mg/5 ml', '312 mg/5 ml'] }, total: true }, { names: ['ampiclox'], forms: { capsule: ['500 mg'] }, total: true }, { names: ['septrin', 'septrine', 'bactrim', 'co-trimoxazole', 'cotrimoxazole'], forms: { tablet: ['480 mg', '960 mg'], liquid: ['240 mg/5 ml', '480 mg/5 ml'] }, total: true }, { names: ['coartem', 'lonart', 'lumartem'], forms: { tablet: ['20/120 mg', '80/480 mg'] }, amountOrder: ['artemether', 'lumefantrine'] }, { names: ['asaq'], forms: { tablet: ['100/270 mg', '50/135 mg', '25/67.5 mg'] }, amountOrder: ['artesunate', 'amodiaquine'] }, { names: ['p-alaxin'], forms: { tablet: ['40/320 mg', '20/160 mg'] }, amountOrder: ['dihydroartemisinin', 'piperaquine'] }, { names: ['fansidar'], forms: { tablet: ['500/25 mg'] }, amountOrder: ['sulfadoxine', 'pyrimethamine'] }, { names: ['tld'], forms: { tablet: ['300/300/50 mg'] }, amountOrder: ['tenofovir', 'lamivudine', 'dolutegravir'] }, { names: ['tle'], forms: { tablet: ['300/300/600 mg', '300/300/400 mg'] }, amountOrder: ['tenofovir', 'lamivudine', 'efavirenz'] }, { names: ['atripla'], forms: { tablet: ['600/200/245 mg'] }, amountOrder: ['efavirenz', 'emtricitabine', 'tenofovir'] }, { names: ['tylenol pm'], forms: { tablet: ['500/25 mg'] }, amountOrder: ['paracetamol', 'diphenhydramine'] }, { names: ['advil pm'], forms: { tablet: ['200/38 mg', '200/25 mg'] }, amountOrder: ['ibuprofen', 'diphenhydramine'] }, { names: ['claritin d', 'clarityn d'], forms: { tablet: ['5/120 mg', '10/240 mg'] }, amountOrder: ['loratadine', 'pseudoephedrine'] }, { names: ['zyrtec d'], forms: { tablet: ['5/120 mg'] }, amountOrder: ['cetirizine', 'pseudoephedrine'] }, { names: ['slow-k'], forms: { tablet: ['600 mg'] } }, ];