stats.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:radar 作者: renalreg 项目源码 文件源码
def patients_by_recruitment_group_date(group, interval='month'):
    """
    Number of patients recruited by each group over time.
    """

    group_id_c = func.first_value(GroupPatient.created_group_id)\
        .over(partition_by=GroupPatient.patient_id, order_by=GroupPatient.from_date)\
        .label('group_id')
    date_c = func.min(GroupPatient.from_date)\
        .over(partition_by=GroupPatient.patient_id)\
        .label('date')

    query = db.session.query(GroupPatient.patient_id, group_id_c, date_c)
    query = query.distinct()
    query = query.join(GroupPatient.patient)
    query = query.filter(GroupPatient.group_id == group.id)
    query = query.filter(Patient.test == false())

    if group.type == GROUP_TYPE.SYSTEM:
        query = query.filter(Patient.current(group) == true())
    else:
        query = query.filter(Patient.current() == true())

    query = query.cte()

    results = _get_results(query, interval)

    return results
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号