def examplev1(): # length of our base campaign duration = 30 # estimate per-day probability needed for a coverage of 30% prob = cv.historical_vaccinate_prob.estimate_prob(duration=duration, coverage=0.30) print('using per-day probability of ', prob) pfizer = cv.historical_vaccinate_prob(vaccine='pfizer', days=np.arange(-duration, 0), prob=prob) sim = cv.Sim(interventions=pfizer, use_waning=True) sim.run() to_plot = cv.get_default_plots(kind='sim') to_plot['Total counts'] += ['cum_vaccinated'] to_plot['Daily counts'] += ['new_doses'] sim.plot(to_plot=to_plot)
def examplev3(): pars = {'use_waning': True} variants = [cv.variant('b117', days=30, n_imports=10)] sim = cv.Sim(pars=pars, variants=variants) # length of our base campaign duration = 30 # estimate per-day probability needed for a coverage of 30% prob = cv.historical_vaccinate_prob.estimate_prob(duration=duration, coverage=0.30) print('using per-day probability of ', prob) scenarios = { 'scen1': { 'name': 'both doses', 'pars': { 'interventions': [ cv.historical_vaccinate_prob(vaccine='pfizer', days=np.arange(-duration, 0), prob=prob) ] } }, 'scen3': { 'name': 'first dose only', 'pars': { 'interventions': [ cv.historical_vaccinate_prob(vaccine='pfizer', days=np.arange(-duration, 0), prob=prob, compliance=[1.0, 0.0]) ] } }, } scens = cv.Scenarios(sim=sim, scenarios=scenarios) scens.run() to_plot = cv.get_default_plots(kind='scenarios') to_plot.pop(2) to_plot.update({'Cumulative doses': ['cum_vaccinated', 'cum_doses']}) scens.plot(to_plot=to_plot)
pars=pars, interventions=vx, analyzers=placebo_arm(day=start_trial, trial_size=trial_size // 2)) sims.append(sim) # Run msim = cv.MultiSim(sims) msim.run(keep_people=True) results = sc.objdict() print('Vaccine efficiency for symptomatic covid:') for sim in msim.sims: vaccine = sim.label vacc_inds = cv.true(sim.people.vaccinated ) # Find trial arm indices, those who were vaccinated placebo_inds = sim['analyzers'][0].placebo_inds assert (len(set(vacc_inds).intersection(set(placebo_inds))) == 0 ) # Check that there is no overlap # Calculate vaccine efficiency VE = 1 - (np.isfinite(sim.people.date_symptomatic[vacc_inds]).sum() / np.isfinite(sim.people.date_symptomatic[placebo_inds]).sum()) results[vaccine] = VE print(f' {vaccine:8s}: {VE*100:0.2f}%') # Plot to_plot = cv.get_default_plots('default', 'scen') to_plot['Vaccinations'] = ['cum_vaccinated'] msim.plot(to_plot=to_plot) print('Done')
return {'vals': [1.0 for ind in inds], 'inds': inds} pfizer = cv.vaccinate(vaccine='pfizer', days=[start_trial], prob=0.0, subtarget=subtarget) sim = cv.Sim(use_waning=True, pars=pars, interventions=pfizer, analyzers=placebo_arm(day=start_trial, trial_size=trial_size // 2)) sim.run() # Find trial arm indices, those who were vaccinated vacc_inds = cv.true(sim.people.vaccinated) placebo_inds = sim['analyzers'][0].placebo_inds # Check that there is no overlap assert (len(set(vacc_inds).intersection(set(placebo_inds))) == 0) # Calculate vaccine efficiency VE = 1 - (np.isfinite(sim.people.date_symptomatic[vacc_inds]).sum() / np.isfinite(sim.people.date_symptomatic[placebo_inds]).sum()) print('Vaccine efficiency for symptomatic covid:', VE) # Plot to_plot = cv.get_default_plots('default', 'sim') to_plot['Health outcomes'] += ['cum_vaccinated'] sim.plot(to_plot=to_plot) print('Done')