Example #1
0
File: mali.py Project: yeleman/nut
def get_total_adm_for(hc_code, cap, age, period=None, year=None, month=None):

    from database import Period, Report

    if not period:
        period = Period.from_date(date(year, month, 1))
    
    # return real data from report if it exist in DB.
    if Report.filter(period=period, hc_code=hc_code,
                     status=Report.STATUS_VALIDATED).count():
        report = Report.filter(period=period, hc_code=hc_code).get()
        return getattr(report.get_pec_report(cap), '%s_admitted' % age)
    else:
        # if not a report not in DB
        if not hc_code in gao_data.PEC_ADM:
            return None
        
        # retrieve value from flat data
        try:
            if period.year in (2009, 2010, 2011):
                return gao_data.PEC_ADM[hc_code][period.year][period.month][cap][age]
            else:
                return get_avg_adm_for(hc_code, period.month, cap, age)
        except KeyError:
            return None  # TODO
Example #2
0
    def confirm(self):
        period_date = self.date_field.date().toPyDate()
        period = Period.from_date(period_date)

        # a report exist for that period.
        if Report.filter(period=period).count() == 1:
            report = Report.filter(period=period).get()
        else:
            report = Report.create_safe(period=period, user=self.user)

        self.parent.view_widget.report = report

        self.close()