DA-EPOCH-RR (ajuste de dosis EPOCH-RR) - Burkitt VIH+

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.

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.

Tomado del NEJM

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

# 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."

Comentarios