Line-of-Therapy-Algorithm icon indicating copy to clipboard operation
Line-of-Therapy-Algorithm copied to clipboard

switch maintenance drugs

Open jwu19 opened this issue 1 year ago • 2 comments

according to the definition of switch maintenence drug in rwToT_LoT_functions.py

def is_eligible_switch_maintenance(regimen, cases_maintenance, line_number): regimen = [x.upper() for x in regimen]
cases_maintenance = pd.DataFrame(data = cases_maintenance) cases_maintenance = cases_maintenance[cases_maintenance['maintenance_type'] == 'SWITCH'] return all(drug in regimen for drug in cases_maintenance['drug_name']) and (line_number == 1)

My understand to the above code is that to define it as a switch maintenance drug, all the switch maintenenance drugs in the cases_maintenance.csv must be in the regimen of the current line and the line number must be 1. If I understand it correctly, this function can never return True when there are more than one switch maintenance drug in cases_maintenance.csv.

jwu19 avatar Apr 25 '24 17:04 jwu19

That is probably correct. This algorithm was developed some time ago around NSCLC where we assumed maintenance drugs only happened after the first line of treatment. I think this was the standard at the time.

I am happy to merge code that allows for flexibility for all the lines. Perhaps you can open up a branch and make a pull request once you're done?

Weilin37 avatar Apr 25 '24 18:04 Weilin37

Thank you for your reply. To understand switch maintenance drug better, I used an example in NSCLC as below

patient_id = 4444 takes two drugs, pembrolizumab and pemetrexed(listed as switch maintenance drug in the cases_maintenance.csv). pembrolizumab started on 1/1/2020 and ended on 2/1/2020. Then he started pemetrexed on 3/2/2020 and ended on 5/8/2020.

So, both drugs are in L1, and IS_MAINTENANCE flag for pemetrexed is True for pembrolizumab is False. Not sure if it is correct or not?

jwu19 avatar Apr 25 '24 20:04 jwu19