Exemplo n.º 1
0
def get_state(time):
	return {
		'time': get_mins(time),
		'patients': get_patients(get_schedule(time), time),
		'sites': config_coll.find_one({'name': 'site'})['data'],
		'optimizer': {
			"active": False,
			"advanceTime": 60,
			"objective": {
				"waitNorm": "l1",
				"overTimeWeight": 10
			},
			"confidenceLevel": 0.7,
			"patientConfidenceLevel": 0.7,
			"numSamples": 100
		}
	}
Exemplo n.º 2
0
def get_schedule(time):
    # time is str of format '2012-05-05 12:30:15'
    # and we will get schedule of that day until that time
    sites = config_coll.find_one({"name": "site"})["data"]

    day = datetime.combine(time.date(), datetime.min.time())
    next_day = day + timedelta(1)

    orders = list(raw_order_coll.find({"appointment_dt": {"$gt": day, "$lt": next_day}}))
    for x in orders:
        del x["_id"]

    mask_dt(orders, time)
    orders = [x for x in orders if valid_order(x)]
    orders = filter_orders(orders, sites)
    orders = condense_orders(orders)
    fix_completion_time(orders)
    orders.sort(key=lambda x: x["appointment_dt"])
    #   time_to_str(orders)
    return orders