Fundamento
DA-EPOCH-RR es el ajuste de dosis (DA) del EPOCH-RR. Se basa en los nadires de ANC y Plaquetas del ciclo previo de EPOCH-R que se obtienen realizando dos hemogramas cada semana durante el ciclo de quimioterapia. También se basa en la duración de los mismos. Para calcular la dosis inicial de EPOCH, realícelo en esta direccion: EPOCH-R, código fuente.
# Superficie corporal (BSA)
def f_BSA(Ta, Pe):
# Calculo de la superficie corporal utilizando
# de estatura en cms, y kg de peso
BSA = (0.007184 * ((Ta)**0.725)) * (Pe ** (0.425))
return BSA
def f_numero_ampollas (Presentacion, DosisTotal, NumeroDeAplicacionesCiclo):
# NTAA = numerototaldeampollasrequerida
NTAA = float (DosisTotal/Presentacion)
if int(NTAA) != NTAA:
NTAA = int(NTAA)+1
NTAA = NTAA * NumeroDeAplicacionesCiclo
return NTAA
def f_protocolo_droga_ABSOLUTO (Droga1, DiaAdministracion1, ViaAdministracion1, Posologia1, Unidades1, Dosis1, PorcentajeDosis1, NumeroDeAplicacionesCiclo1, Presentacion1, Comentario1):
DosisTotal1 = Dosis1
NumeroDeAmpollasDia = float(f_numero_ampollas (Presentacion1, DosisTotal1, 1))
NumeroDeAmpollasCiclo1 = NumeroDeAmpollasDia * NumeroDeAplicacionesCiclo1
StrDroga1 = Droga1 + " " + Posologia1 + " " + str(Presentacion1)+ " " + Unidades1 + " "
StrDroga1 = StrDroga1 + "# " + str(int(NumeroDeAmpollasCiclo1)) + " " + Posologia1 + ": " + str(DosisTotal1) + " " + str(Unidades1) + " " + " "
StrDroga1 = StrDroga1 + ViaAdministracion1
print StrDroga1
print Comentario1
Ritux = float(raw_input("Dosis de Rituximab/dia (mg)?>>"))
Etop = float(raw_input("Dosis de Etoposido/dia (mg)?>>"))
Doxo = float(raw_input("Dosis de Doxorrubicina/dia (mg)?>>"))
Vincr = float(raw_input("Dosis de Vincrisinta/dia (microgramos)?>>"))
Ciclo = float(raw_input("Dosis de Ciclofosfamida/dia (mg)?>>"))
Pred = float(raw_input("Dosis de Prednisona/dia (mg)?>>"))
DurNadirCritico = int(raw_input("Duracion de nadir mas largo con ANC <500 uL o Plt <25 k/ul (dias)?>>"))
print
if DurNadirCritico == 2:
CorreccionCiclo = 0.75
if DurNadirCritico == 3:
CorreccionCiclo = 0.75
if DurNadirCritico == 4:
CorreccionCiclo = 0.75
if DurNadirCritico >4:
CorreccionCiclo = 0.5
if DurNadirCritico <2:
Talla = int(raw_input("Estatura en centimetros?>>"))
Peso = int(raw_input("Peso en kilogramos?>>"))
SuperficieCorporal = f_BSA(Talla, Peso)
DosisTopeCiclo = SuperficieCorporal * 750
if Ciclo * 1.25 > DosisTopeCiclo:
CorreccionCiclo = 1
if Ciclo * 1.25 <= DosisTopeCiclo:
CorreccionCiclo = 1.25
Ciclo = Ciclo * CorreccionCiclo
print "Rituximab + EPOCH"
# Rituximab + EPOCH
f_protocolo_droga_ABSOLUTO("Dexametasona", "5", "Intravenoso", "ampollas", "miligramos", 20, 100, 5, 4, "Premedicacion antiemetica - intravenoso, dias 1, 2, 3, 4 y 5")
f_protocolo_droga_ABSOLUTO("Ondansetron", "5", "Intravenoso", "ampollas", "miligramos", 8, 100, 5, 8, "Premedicacion antiemetica, intravenoso, dias 1, 2, 3, 4 y 5")
f_protocolo_droga_ABSOLUTO("Rituximab", "1", "Intravenoso", "ampollas" , "miligramos", Ritux, 100, 1, 100, "Administrar intravenoso en forma ascendente, dias 1 (premedicar con acetaminofen 1000 mg via oral y difenhidramina 50 mg via oral 30 minutos antes del Rituximab)")
f_protocolo_droga_ABSOLUTO("Etoposido", "4", "Intravenoso", "ampollas" , "miligramos", Etop, 100, 4, 100, "Administrar intravenoso infusion de 24 horas, cada dia, dias 1, 2, 3, y 4")
f_protocolo_droga_ABSOLUTO("Doxorrubicina", "4", "Intravenoso", "ampollas" , "miligramos", Doxo, 100, 4, 10, "Administrar intravenoso infusion de 24 horas, cada dia, dias 1, 2, 3, y 4")
f_protocolo_droga_ABSOLUTO("Vincristina", "4", "Intravenoso", "ampollas" , "microgramos", Vincr, 100, 4, 1000, "Administrar intravenoso infusion de 24 horas, cada dia, dias 1, 2, 3, y 4")
print "NOTA: 1000 microgramos son 1 mg."
print "Instrucciones para la infusion continua: disolver el etoposido, doxorrubicina y vincristina en la misma bolsa de Solucion Salina 0.9%, 500 mL (1000 mL si dosis de Etoposido >150mg/dia) para la infusion continua cada dia, dias 1, 2, 3, 4"
f_protocolo_droga_ABSOLUTO("Ciclofosfamida", "1", "Intravenoso", "ampollas" , "miligramos", Ciclo, 100, 4, 500, "Administrar intravenoso infusion de 2 horas, dia 5")
f_protocolo_droga_ABSOLUTO("Pegfilgrastim", "1", "Subcutaneo", "ampollas", "miligramos", 6, 100, 1, 6, "Administrar 6 miligramos subcutaneos dia 6 - (profilaxis para neutropenia febril).")
f_protocolo_droga_ABSOLUTO("Prednisona", "5", "Via oral", "Tabletas" , "miligramos", Pred, 100, 5, 50, "Tomar via oral cada dia, dias 1, 2, 3, 4, y 5 (dividir en 2 tomas por dia)")
print
print
print "Recuerde que para practicar DA-EPOCH hay que realizar hemograma 2 veces por semana, y evaluar el nadir de recuento de neutrofilos (ANC) y de recuento de plaquetas."
DA-EPOCH-RR es el ajuste de dosis (DA) del EPOCH-RR. Se basa en los nadires de ANC y Plaquetas del ciclo previo de EPOCH-R que se obtienen realizando dos hemogramas cada semana durante el ciclo de quimioterapia. También se basa en la duración de los mismos. Para calcular la dosis inicial de EPOCH, realícelo en esta direccion: EPOCH-R, código fuente.
Cuando el nadir de ANC<500 /ul o de Plaquetas <25k /uL x 2-4 días, se disminuye la dosis de Ciclofosfamida en el ciclo siguiente en 25%.
Cuando el nadir de ANC<500 /ul o de Plaquetas <25k /uL x 5 o más días2-4, se disminuye la dosis de Ciclofosfamida en el ciclo siguiente en 50%.
Cuando el nadir de ANC >= 500 /uL o de Plaquetas >25k /uL, se debe incrementar las dosis de Ciclofosfamida en un 25% (hasta un tope de 750 mg/m2), en el ciclo siguiente.
Cuando el nadir de ANC<500 /ul o de Plaquetas <25k /uL x 5 o más días2-4, se disminuye la dosis de Ciclofosfamida en el ciclo siguiente en 50%.
Cuando el nadir de ANC >= 500 /uL o de Plaquetas >25k /uL, se debe incrementar las dosis de Ciclofosfamida en un 25% (hasta un tope de 750 mg/m2), en el ciclo siguiente.
Explicación del programa
Debe suministrar la dosis absoluta en miligramos (o microgramos para Vincristina) de los diferentes agentes por día del ciclo anterior. De igual forma, debe entrar el nadir de ANC y plaquetas. El programa calcula la nueva dosis basada en el algoritmo anterior, y genera el protocolo.
CÓDIGO FUENTE
def f_BSA(Ta, Pe):
# Calculo de la superficie corporal utilizando
# de estatura en cms, y kg de peso
BSA = (0.007184 * ((Ta)**0.725)) * (Pe ** (0.425))
return BSA
def f_numero_ampollas (Presentacion, DosisTotal, NumeroDeAplicacionesCiclo):
# NTAA = numerototaldeampollasrequerida
NTAA = float (DosisTotal/Presentacion)
if int(NTAA) != NTAA:
NTAA = int(NTAA)+1
NTAA = NTAA * NumeroDeAplicacionesCiclo
return NTAA
def f_protocolo_droga_ABSOLUTO (Droga1, DiaAdministracion1, ViaAdministracion1, Posologia1, Unidades1, Dosis1, PorcentajeDosis1, NumeroDeAplicacionesCiclo1, Presentacion1, Comentario1):
DosisTotal1 = Dosis1
NumeroDeAmpollasDia = float(f_numero_ampollas (Presentacion1, DosisTotal1, 1))
NumeroDeAmpollasCiclo1 = NumeroDeAmpollasDia * NumeroDeAplicacionesCiclo1
StrDroga1 = Droga1 + " " + Posologia1 + " " + str(Presentacion1)+ " " + Unidades1 + " "
StrDroga1 = StrDroga1 + "# " + str(int(NumeroDeAmpollasCiclo1)) + " " + Posologia1 + ": " + str(DosisTotal1) + " " + str(Unidades1) + " " + " "
StrDroga1 = StrDroga1 + ViaAdministracion1
print StrDroga1
print Comentario1
Ritux = float(raw_input("Dosis de Rituximab/dia (mg)?>>"))
Etop = float(raw_input("Dosis de Etoposido/dia (mg)?>>"))
Doxo = float(raw_input("Dosis de Doxorrubicina/dia (mg)?>>"))
Vincr = float(raw_input("Dosis de Vincrisinta/dia (microgramos)?>>"))
Ciclo = float(raw_input("Dosis de Ciclofosfamida/dia (mg)?>>"))
Pred = float(raw_input("Dosis de Prednisona/dia (mg)?>>"))
DurNadirCritico = int(raw_input("Duracion de nadir mas largo con ANC <500 uL o Plt <25 k/ul (dias)?>>"))
if DurNadirCritico == 2:
CorreccionCiclo = 0.75
if DurNadirCritico == 3:
CorreccionCiclo = 0.75
if DurNadirCritico == 4:
CorreccionCiclo = 0.75
if DurNadirCritico >4:
CorreccionCiclo = 0.5
if DurNadirCritico <2:
Talla = int(raw_input("Estatura en centimetros?>>"))
Peso = int(raw_input("Peso en kilogramos?>>"))
SuperficieCorporal = f_BSA(Talla, Peso)
DosisTopeCiclo = SuperficieCorporal * 750
if Ciclo * 1.25 > DosisTopeCiclo:
CorreccionCiclo = 1
if Ciclo * 1.25 <= DosisTopeCiclo:
CorreccionCiclo = 1.25
Ciclo = Ciclo * CorreccionCiclo
print "Rituximab + EPOCH"
# Rituximab + EPOCH
f_protocolo_droga_ABSOLUTO("Dexametasona", "5", "Intravenoso", "ampollas", "miligramos", 20, 100, 5, 4, "Premedicacion antiemetica - intravenoso, dias 1, 2, 3, 4 y 5")
f_protocolo_droga_ABSOLUTO("Ondansetron", "5", "Intravenoso", "ampollas", "miligramos", 8, 100, 5, 8, "Premedicacion antiemetica, intravenoso, dias 1, 2, 3, 4 y 5")
f_protocolo_droga_ABSOLUTO("Rituximab", "1", "Intravenoso", "ampollas" , "miligramos", Ritux, 100, 1, 100, "Administrar intravenoso en forma ascendente, dias 1 (premedicar con acetaminofen 1000 mg via oral y difenhidramina 50 mg via oral 30 minutos antes del Rituximab)")
f_protocolo_droga_ABSOLUTO("Etoposido", "4", "Intravenoso", "ampollas" , "miligramos", Etop, 100, 4, 100, "Administrar intravenoso infusion de 24 horas, cada dia, dias 1, 2, 3, y 4")
f_protocolo_droga_ABSOLUTO("Doxorrubicina", "4", "Intravenoso", "ampollas" , "miligramos", Doxo, 100, 4, 10, "Administrar intravenoso infusion de 24 horas, cada dia, dias 1, 2, 3, y 4")
f_protocolo_droga_ABSOLUTO("Vincristina", "4", "Intravenoso", "ampollas" , "microgramos", Vincr, 100, 4, 1000, "Administrar intravenoso infusion de 24 horas, cada dia, dias 1, 2, 3, y 4")
print "NOTA: 1000 microgramos son 1 mg."
print "Instrucciones para la infusion continua: disolver el etoposido, doxorrubicina y vincristina en la misma bolsa de Solucion Salina 0.9%, 500 mL (1000 mL si dosis de Etoposido >150mg/dia) para la infusion continua cada dia, dias 1, 2, 3, 4"
f_protocolo_droga_ABSOLUTO("Ciclofosfamida", "1", "Intravenoso", "ampollas" , "miligramos", Ciclo, 100, 4, 500, "Administrar intravenoso infusion de 2 horas, dia 5")
f_protocolo_droga_ABSOLUTO("Pegfilgrastim", "1", "Subcutaneo", "ampollas", "miligramos", 6, 100, 1, 6, "Administrar 6 miligramos subcutaneos dia 6 - (profilaxis para neutropenia febril).")
f_protocolo_droga_ABSOLUTO("Prednisona", "5", "Via oral", "Tabletas" , "miligramos", Pred, 100, 5, 50, "Tomar via oral cada dia, dias 1, 2, 3, 4, y 5 (dividir en 2 tomas por dia)")
print "Recuerde que para practicar DA-EPOCH hay que realizar hemograma 2 veces por semana, y evaluar el nadir de recuento de neutrofilos (ANC) y de recuento de plaquetas."
Comentarios
Publicar un comentario