def update_adherence_confidence(request, domain): try: request_json = json.loads(request.body) except ValueError: return json_response({"error": "Malformed JSON"}, status_code=400) beneficiary_id = request_json.get('beneficiary_id') start_date = request_json.get('start_date') end_date = request_json.get('end_date') confidence_level = request_json.get('confidence_level') try: validate_beneficiary_id(beneficiary_id) validate_dates(start_date, end_date) validate_confidence_level(confidence_level) update_adherence_confidence_level( domain=domain, person_id=beneficiary_id, start_date=parse_datetime(start_date), end_date=parse_datetime(end_date), new_confidence=confidence_level ) except NinetyNineDotsException as e: return json_response({"error": e.message}, status_code=400) return json_response({"success": "Patient adherences updated."})
def update_adherence_confidence(request, domain): try: request_json = json.loads(request.body) except ValueError: return json_response({"error": "Malformed JSON"}, status_code=400) beneficiary_id = request_json.get("beneficiary_id") start_date = request_json.get("start_date") end_date = request_json.get("end_date") confidence_level = request_json.get("confidence_level") try: validate_beneficiary_id(beneficiary_id) validate_dates(start_date, end_date) validate_confidence_level(confidence_level) update_adherence_confidence_level( domain=domain, person_id=beneficiary_id, start_date=parse_datetime(start_date), end_date=parse_datetime(end_date), new_confidence=confidence_level, ) except AdherenceException as e: return json_response({"error": e.message}, status_code=400) return json_response({"success": "Patient adherences updated."})
def test_update_adherence_confidence(self): self.create_case_structure() case_accessor = CaseAccessors(self.domain) adherence_dates = [ datetime(2005, 7, 10), datetime(2016, 8, 10), datetime(2016, 8, 11), ] adherence_cases = self.create_adherence_cases(adherence_dates) update_adherence_confidence_level( self.domain, self.person_id, datetime(2016, 8, 10, tzinfo=pytz.UTC), datetime(2016, 8, 11, tzinfo=pytz.UTC), "new_confidence_level", ) adherence_case_ids = [ adherence_date.strftime("%Y-%m-%d-%H-%M") for adherence_date in adherence_dates ] adherence_cases = { case.case_id: case for case in case_accessor.get_cases(adherence_case_ids) }
def test_update_adherence_confidence(self): self.create_case_structure() case_accessor = CaseAccessors(self.domain) adherence_dates = [ datetime(2005, 7, 10), datetime(2016, 8, 10), datetime(2016, 8, 11), ] adherence_cases = self.create_adherence_cases(adherence_dates) update_adherence_confidence_level( self.domain, self.person_id, datetime(2016, 8, 10, tzinfo=pytz.UTC), datetime(2016, 8, 11, tzinfo=pytz.UTC), "new_confidence_level", ) adherence_case_ids = [adherence_date.strftime("%Y-%m-%d") for adherence_date in adherence_dates] adherence_cases = {case.case_id: case for case in case_accessor.get_cases(adherence_case_ids)} self.assertEqual( adherence_cases[adherence_case_ids[0]].dynamic_case_properties()['adherence_confidence'], 'medium', ) self.assertEqual( adherence_cases[adherence_case_ids[1]].dynamic_case_properties()['adherence_confidence'], 'new_confidence_level', ) self.assertEqual( adherence_cases[adherence_case_ids[2]].dynamic_case_properties()['adherence_confidence'], 'new_confidence_level', )