update uninsurable medications list

This commit is contained in:
ipu 2025-08-22 21:40:12 +03:00
parent 995a78d0cc
commit 18639e914d

View file

@ -96,6 +96,194 @@ HEIGHT_WEIGHT_TABLE = {
(7, 4): (187, 386), (7, 4): (187, 386),
} }
UNINSURABLE_MEDICATIONS = [
"abacavir",
"abarelix",
"abciximab",
"acamprosate",
"adalimumab",
"al-721",
"albuterol/ipratropium",
"alemtuzumab",
"alteplase",
"altretarnine",
"amantadine",
"ambrisentan",
"amiodarone",
"anakinra",
"anastrozole",
"apomorphine",
"aripripazole",
"asparaginase",
"atazanavir",
"auranofin",
"aurothiogiucose",
"aurothiomalate",
"azathioprine",
"bog",
"becaplermin",
"benztropine",
"bevacizumab",
"bicalutamide",
"biperiden hydrochloride",
"bleomycin",
"bromocriptine",
"busulfan",
"capecitabine",
"carbidopa",
"carbidopa/levodopa",
"carboplatin",
"chlorambucil",
"chlorotrianisene",
"chlorpromazine",
"cilostazol",
"cinacalcet",
"cisplatin",
"cladribine",
"clozapine",
"cyclophosphamide",
"cycloserine",
"cyclosporine",
"dalteparin",
"dantrolene",
"darunavir",
"delavirdine",
"didanosine",
"dipyridamole",
"dipyridamolekspirin",
"disuifram",
"donepezil",
"doxorubicin",
"dronabinol",
"efavirenz",
"emtricita bine",
"emtricitabine",
"emtricitabine/tenofovir",
"enfuvirtide",
"enoxaparin",
"entacapone",
"entacapone/levodopa/carbidopa",
"epoetin alfa",
"eptifibatide",
"ergoloid mesylates",
"estramustine",
"etanercept",
"ethinyl estradiol",
"ethopropazine",
"etoposide",
"exemestane",
"filgrastim",
"fecainide",
"fluorourcil",
"fluphenazine",
"flutamide",
"fondaparinux",
"fosamprenavir",
"foscarnet sodium",
"fulvestrant",
"galantamine",
"glatiramer",
"gold sodium thiomalate",
"goserelin",
"haloperidol",
"heparin",
"hydroxyurea",
"imatinib",
"indinavir",
"infliximab",
"insulin > 50 units per day",
"interferon",
"interferon alfa-2a",
"interferon beta 1a",
"interferon beta lb",
"ipratropiurn",
"isoniazid",
"lamivudine",
"lamivudine/zidovudine/abacavir",
"letrozole",
"leucovorin",
"leuprolide",
"levamisole hydrochloride",
"levodopa",
"lomustine",
"lopinavir",
"loxapine",
"maraviroc",
"medroxyprogesterone acetate",
"megestrol",
"melphalan",
"memantine",
"methadone",
"methotrexate",
"mitomycin",
"mitoxantrone",
"morphine",
"mycophenolate",
"naltrexone",
"natalizumab",
"nebulizer device",
"nelfinavir",
"neostigmine",
"nesiritide",
"nevirapine",
"nilutamide",
"nitroglycerine",
"nitroglycerine transdermal",
"olanzapine",
"ondansetron",
"oxygen",
"paliperidone",
"penicillamine",
"pergolide mesylate",
"perphenazine",
"pimozide",
"pramipexole",
"procainamide",
"prochlorperazine",
"procyclidine",
"pyridostigmine",
"quetiapine",
"quinidine",
"rasagiline",
"riluzole",
"risperidone",
"ritonavir",
"rituximab",
"rivastig mine",
"ropinirole",
"rotigotine",
"saquinavir",
"selegiline",
"sotalol",
"stavudine",
"streptozocin",
"tacrine",
"tacrolimus",
"tamoxifen",
"tenofovir",
"testolactone",
"thioridazine",
"thiotepa",
"thiothixene",
"ticlopidine",
"tiotropium",
"tipranavir",
"tirofiban",
"tolcapone",
"toremifene",
"trastuzumab",
"treprosinil",
"trifluoperazine",
"trihexyphenidyl",
"triptorelin",
"valganiciclovir",
"vincristine",
"warfarin",
"zalcitabine",
"zidovudine",
"ziprasidone",
"zoledronic acid"
]
class EstimationService: class EstimationService:
def __init__(self): def __init__(self):
@ -134,6 +322,9 @@ class EstimationService:
return False, "" return False, ""
def check_dtq(self, phq: PHQ) -> tuple[bool, str]: def check_dtq(self, phq: PHQ) -> tuple[bool, str]:
for medication in phq.medications:
if medication.name.lower() in UNINSURABLE_MEDICATIONS:
return True, f"Uninsurable medication: {medication.name}"
uninsurable_conditions_response = fetch_conditions() uninsurable_conditions_response = fetch_conditions()
uninsurable_conditions = [condition["key"] for condition in uninsurable_conditions_response] uninsurable_conditions = [condition["key"] for condition in uninsurable_conditions_response]