Project

General

Profile

« Previous | Next » 

Revision edf91555

Added by Mikaël Ates almost 12 years ago

facturation: updates in not CMPP acts listings function.

Return list of patients with missing healthcare policy information
in acts listing function for CAMSP and SESSAD.
Use setdefault when possible.
Use iteritems() instead of items() when possible.

View differences:

calebasse/facturation/list_acts.py
129 129
                start_day, acts=acts)
130 130
    acts_bad_state = {}
131 131
    acts_accepted = {}
132
    for patient, acts in acts_billable.items():
132
    patients_missing_policy = []
133
    for patient, acts in acts_billable.iteritems():
133 134
        for act in acts:
134 135
            if patient.was_in_state_at_day(act.date, 'SUIVI'):
135
                if act.patient in acts_accepted:
136
                    acts_accepted[act.patient].append(act)
137
                else:
138
                    acts_accepted[act.patient] = [act]
136
                acts_accepted.setdefault(act.patient, []).append(act)
139 137
            else:
140
                if act.patient in acts_bad_state:
141
                    acts_bad_state[act.patient]. \
142
                        append((act, 'NOT_ACCOUNTABLE_STATE'))
143
                else:
144
                    acts_bad_state[act.patient] = \
145
                        [(act, 'NOT_ACCOUNTABLE_STATE')]
138
                acts_bad_state.setdefault(act.patient, []).\
139
                    append((act, 'NOT_ACCOUNTABLE_STATE'))
140
    for patient in acts_accepted.keys():
141
        if not patient.policyholder or \
142
                not patient.policyholder.health_center or \
143
                not patient.policyholder.management_code or \
144
                not patient.policyholder.social_security_id:
145
            patients_missing_policy.append(patient)
146 146
    return (acts_not_locked, days_not_locked, acts_not_valide,
147 147
        acts_not_billable, acts_pause, acts_bad_state,
148
        acts_accepted)
148
        acts_accepted, patients_missing_policy)
149 149

  
150 150

  
151 151
def list_acts_for_billing_SESSAD(start_day, end_day, service, acts=None):
......
181 181
    acts_bad_state = {}
182 182
    acts_missing_valid_notification = {}
183 183
    acts_accepted = {}
184
    for patient, acts in acts_billable.items():
184
    patients_missing_policy = []
185
    for patient, acts in acts_billable.iteritems():
185 186
        for act in acts:
186 187
            if patient.was_in_state_at_day(act.date,
187 188
                    'TRAITEMENT'):
188 189
                if not act.was_covered_by_notification():
189
                    if act.patient in acts_missing_valid_notification:
190
                        acts_missing_valid_notification[act.patient]. \
191
                            append(act)
192
                    else:
193
                        acts_missing_valid_notification[act.patient] = [act]
190
                    acts_missing_valid_notification.\
191
                        setdefault(act.patient, []).append(act)
194 192
                else:
195
                    if act.patient in acts_accepted:
196
                        acts_accepted[act.patient].append(act)
197
                    else:
198
                        acts_accepted[act.patient] = [act]
193
                    acts_accepted.setdefault(act.patient, []).append(act)
199 194
            else:
200
                if act.patient in acts_bad_state:
201
                    acts_bad_state[act.patient]. \
202
                        append((act, 'NOT_ACCOUNTABLE_STATE'))
203
                else:
204
                    acts_bad_state[act.patient] = \
205
                        [(act, 'NOT_ACCOUNTABLE_STATE')]
195
                acts_bad_state.setdefault(act.patient, []).\
196
                    append((act, 'NOT_ACCOUNTABLE_STATE'))
197
    for patient in acts_accepted.keys():
198
        if not patient.policyholder or \
199
                not patient.policyholder.health_center or \
200
                not patient.policyholder.management_code or \
201
                not patient.policyholder.social_security_id:
202
            patients_missing_policy.append(patient)
206 203
    return (acts_not_locked, days_not_locked, acts_not_valide,
207 204
        acts_not_billable, acts_pause, acts_bad_state,
208
        acts_missing_valid_notification, acts_accepted)
205
        acts_missing_valid_notification, acts_accepted,
206
        patients_missing_policy)
209 207

  
210 208

  
211 209
def list_acts_for_billing_CMPP(end_day, service, acts=None):

Also available in: Unified diff