def get_plan(plan_name, zipcode): """ Get the formulary_id for a plan :param plan_name: Full or partial name of a plan :param zipcode: zipcode for the plan :return: a formulary_id for that plan for that zipcode """ zipcode = get_location(zipcode) plans = Plans.find_by_plan_name(plan_name, geo=zipcode.GEO.id) # There should only be one if len(plans) == 1: return plans[0] else: raise BadPlanName(f"Plan {plan_name} in {zipcode} not found")