module Chemicals where

data Legend = OTC | Rx | CI | CII | CIII | CIV | CV | Dual

data TherapeuticClass = SABA
                      | LABA
                      | Glucocorticoid
                      | Anticholinergic
                      | Salicylate
                      | NonaspirinNonNSAID
                      | Opiate

instance Show TherapeuticClass where
	show SABA = "short-acting beta2-adrenergic agonist"
    show LABA = "long-acting beta2-adrenergic agonist"
    show Glucocorticoid = "Glucocorticoid"
    show Anticholinergic = "Anticholinergic"
	show Salicylate = "Salicylate"
	show NonaspirinNonNSAID = "Non-aspirin,Non-NSAID"
	show Opiate = "Opiate"

data Route = Oral | Nasal | Tracheal | Rectal | Inhalation | IV | Topical
           | OralInhalation | NasalInhalation | IM | SC
           deriving Show

data Chemical = Chemical { name :: String
                         , legend :: Legend
                         , class_ :: TherapeuticClass
                         , routes :: [Route]
                         , tradeNames :: [String]
                         , indications :: String
                         }

chemicals = [ Chemical { name = "albuterol (salbutamol) sulfate"
                       , legend = Rx
                       , class_ = SABA
                       , routes = [Oral, Inhalation, IV]
                       , tradeNames = ["Ventolin HFA","Proventil HFA"
                                      ,"ProAir HFA","Combivent (with ipratropium)"
                                      ,"DuoNeb (with ipratropium)"
                                      ]
                       , indications = "relief of conditions such as asthma and COPD"
                       }
            , Chemical { name = "acetylsalicyclic acid (aspirin)"
                       , legend = OTC
                       , class_ = Salicylate
                       , routes = [Oral, Rectal, IV, IM]
                       , tradeNames = ["Bayer", "Excedrin (with acetaminophen & caffeine)"]
                       , indications = "relieve minor aches & pains, fever reducer (antipyretic), and anti-inflammatory"
                       }
            , Chemical { name = "acetaminophen (paracetamol) or (apap)"
                       , legend = OTC
                       , class_  = NonaspirinNonNSAID
                       , routes = [Oral, Rectal, IV]
                       , tradeNames = ["Tylenol","Excedrin (with aspirin & caffeine)"]
                       , indications = "relief of headaches, fever reducer (antipyretic), minor aches & pains"
                       }
            , Chemical { name = "ibuprofen"
                       , legend = OTC
                       , class_ = NSAID
                       , routes = [Oral, Rectal, Topical, IV]
                       , tradeNames = ["Advil","Motrin"]
                       , indications = "relieving pain, helping with fever, reducing inflammation"
                       }
            , Chemical { name = "naproxen"
                       , legend = OTC
                       , class_ = NSAID
                       , routes = [Oral]
                       , tradeNames = ["Aleva","Naprosyn"]
                       , indications = "relief pain, fever, swelling, and stiffness"
                       }
            , Chemical { name = "morphine"
                       , legend = CII
                       , class_ = Opiate
                       , routes = [Oral, Inhalation, Rectal, SC, IM, IV]
                       , tradeNames = ["MS Contin"]
                       , indications = "treat acute and chronic severe pain"
                       }
            , Chemical { name = "meperidine (pethidine)"
                       , legend = CII
                       , class_ = Opiate
                       , routes = [Oral, IV, IM, SC]
                       , tradeNames = ["Demerol"]
                       , indications = "used as an analgesic in labour and delivery"
                       }
            , Chemical { name = "beclomethasone dipropionate"
                       , legend = Rx
                       , class_ = Glucocorticoid
                       , routes = [OralInhalation, NasalInhalation, Topical]
                       , tradeNames = ["QVAR","Beconase","Qnasl"]
                       , indications = "prophylaxis of asthma, rhinitus treatment, and inflammatory skin disorders"
                       }
            , Chemical { name = "budesonide"
                       , legend = Rx
                       , class_ = Glucocorticoid
                       , routes = [Oral, Nasal, Tracheal, Rectal]
                       , tradeNames = ["Pulmicort","Symbicort (with formoterol)"]
                       , indications = "treatment of asthma, COPD, and non-infectious rhinitis"
                       }
            , Chemical { name = "diclofenac sodium"
                       , legend = Rx
                       , class_ = NSAID
                       , routes = [Oral, Rectal, IM, IV, Topical]
                       , tradeNames = ["Voltaren", "Voltaren Gel", "Arthrotec (with misoprostol)"]
                       , indications = "reduce inflammation and reducing pain in certain conditions"
                       }
            , Chemical { name = "celecoxib"
                       , legend = Rx
                       , class_ = NSAID
                       , routes = [Oral]
                       , tradeNames = ["Celebrex"]
                       , indications = "treat osteoarthritis, rheumatoid arthritis, ankylosing spindylitis, acute pain, painful mestruation"
                       }
            , Chemical { name = "oxymorphone"
                       , legend = CII
                       , class_ = Opiate
                       , routes = [IV, IM, SC, Oral, Rectal, Nasal]
                       , tradeNames = ["Opana"]
                       , indications = "relief of moderate to severe pain"
                       }
            , Chemical { name = "oxycodone"
                       , legend = CII
                       , class_ = Opiate
                       , routes = [Oral, IM, IV, Nasal, SC, Rectal]
                       , tradeNames = ["OxyContin"]
                       , indications = "treat moderate to moderately severe acute or chronic pain"
                       }
            , Chemical { name = "levalbuterol (levosalbutamol) tartrate"
                       , legend = Rx
                       , class_ = SABA
                       , routes = [Oral, Inhalation]
                       , tradeNames = ["Xopenex"]
                       , indications = "treatment of asthma and COPD"
                       }
            , Chemical { name = "formoterol fumarate"
                       , legend = Rx
                       , class_ = LABA
                       , routes = [Oral, Inhalation]
                       , tradeNames = ["Foradil","Perforomist","Symbicort (with budesonide)","Dulera (with mometasone)"]
                       , indications = "management of asthma and COPD"
                       }
            , Chemical { name = "fluticasone propionate"
                       , legend = OTC
                       , class_ = Glucocorticoid
                       , routes = [Nasal, Inhalation, Topical]
                       , tradeNames = ["Flovent","Advair (with salmeterol)"]
                       , indications = "treat asthma, allergic rhinitus, nasal polyps, various skin disorders"
                       }
            , Chemical { name = "fluticasone furoate"
                       , legend = Rx
                       , class_ = Glucocorticoid
                       , routes = [Nasal]
                       , tradeNames = ["Veramyst"]
                       , indications = "treatment of allergic rhinitus"
                       }
            , Chemical { name = "ipratropium bromide"
                       , legend = Rx
                       , class_ = Anticholinergic
                       , routes = [Inhalation]
                       , tradeNames = ["Atrovent","Combivent (with albuterol)","Duoneb (with albuterol)"]
                       , indications = "treatment of COPD and acute asthma"
                       }
            , Chemical { name = "mometasone furoate"
                       , legend = Rx
                       , class_ = Glucocorticoid
                       , routes = [Topical, Inhalation]
                       , tradeNames = ["Elocon","Novasone","Nasonex","Asmanex"
                                      ,"Mometamax","Dulera (with formoterol)"]
                       , indications = "treatment of inflammatory skin disorders, allergic rhinitus, and asthma"
                       }
            , Chemical { name = "salmeterol"
                       , legend = Rx
                       , class_ = LABA
                       , routes = [Inhalation]
                       , tradeNames = ["Serevent","Advair (with fluticasone)"]
                       , indications = "maintenace and prevention of asthma and maintenance of COPD"
                       }
            , Chemical { name = "tiotropium bromide"
                       , legend = Rx
                       , class_ = Anticholinergic
                       , routes = [Inhalation]
                       , tradeNames = ["Spiriva"]
                       , indications = "maintenance treatment of COPD"
                       }
            ]
