def demographics_edit(request, demographics_id = None): if request.user: user = request.user try: if demographics_id: demographics_id = int(demographics_id) else: demographics_id = int(request.GET.get('demographics_id')) demographics_obj = Demographics.objects.get(pk=demographics_id) patient_detail_obj = demographics_obj.patient_detail demographics_obj.save() d_urls = demographics_obj.urls except TypeError or ValueError or AttributeError: raise Http404("BadRequest") except Demographics.DoesNotExist: raise Http404("BadRequest: Patient DemographicsData Data Does Not Exist") if request.method == "GET" and request.is_ajax(): demographics_form = DemographicsForm(instance=demographics_obj, auto_id = False ) variable = RequestContext(request, {"user": user, "patient_detail_obj": patient_detail_obj, "demographics_form": demographics_form, "demographics_obj": demographics_obj, 'action': d_urls['edit'], 'button_label': "Edit", 'canDel': True, 'addUrl': None, 'editUrl': d_urls['edit'], 'delUrl': d_urls['del'], }) return render_to_response('demographics/add_or_edit_form.html', variable) elif request.method == 'POST' and request.is_ajax(): demographics_form = DemographicsForm(request.POST, instance=demographics_obj) if demographics_form.is_valid(): demographics_obj = demographics_form.save() success = True error_message = "Demographics Data Edited Successfully" form_errors = None else: success = False error_message = aumodelformerrorformatter_factory(demographics_form) form_errors = error_message data = {'success': success, 'error_message': error_message, 'form_errors':form_errors } json = simplejson.dumps(data) return HttpResponse(json, content_type='application/json') else: raise Http404("BadRequest: Unsupported Request Method")
def patient_detail_add(request, clinic_id = None): user = request.user print "Received a request to add a New Patient...." try: if clinic_id : clinic_id = int(clinic_id) else: clinic_id = int(request.GET.get('clinic_id')) except (KeyError,NameError,AttributeError,ValueError,TypeError): clinic_id = 1 try: clinic = Clinic.objects.get(pk = clinic_id) patient_detail_obj = PatientDetail(parent_clinic = clinic) if request.method == "GET" and request.is_ajax(): patient_detail_form = PatientDetailForm( instance=patient_detail_obj) variable = RequestContext(request, {"user": user, "patient_detail_obj": patient_detail_obj, "patient_detail_form": patient_detail_form } ) return render_to_response('patient_detail/add.html', variable) elif request.method == "POST" and request.is_ajax(): patient_detail_form = PatientDetailForm(request.POST, instance = patient_detail_obj) if patient_detail_form.is_valid(): saved_patient = patient_detail_form.save(commit = False) saved_patient.parent_clinic = clinic saved_patient.save() success = True error_message = "Patient Saved Successfully" form_errors = None #json = return_patient_json(saved_patient,success) else: form_errors = aumodelformerrorformatter_factory(patient_detail_form) saved_patient = None success = False data = {'success':success, 'error_message':form_errors, 'form_errors': form_errors } json = simplejson.dumps(data) else: raise Http404('Bad Request:: Unsupported Request Method.') except(Clinic.DoesNotExist): saved_patient = None success = False data = {'success':success,'error_message':"No Clinic by the specified id"} json = simplejson.dumps(data) return HttpResponse(json, content_type='application/json')
def patient_detail_add(request, clinic_id = None): user = request.user print "Received a request to add a New Patient...." try: if clinic_id : clinic_id = int(clinic_id) else: clinic_id = int(request.GET.get('clinic_id')) except (KeyError,NameError,AttributeError,ValueError,TypeError): clinic_id = 1 try: clinic = Clinic.objects.get(pk = clinic_id) patient_detail_obj = PatientDetail(parent_clinic = clinic) if request.method == "GET" and request.is_ajax(): patient_detail_form = PatientDetailForm( instance=patient_detail_obj) variable = RequestContext(request, {"user": user, "patient_detail_obj": patient_detail_obj, "patient_detail_form": patient_detail_form } ) return render_to_response('patient_detail/add.html', variable) elif request.method == "POST" and request.is_ajax(): patient_detail_form = PatientDetailForm(request.POST, instance = patient_detail_obj) if patient_detail_form.is_valid(): saved_patient = patient_detail_form.save(commit = False) saved_patient.parent_clinic = clinic saved_patient.save() success = True error_message = "Patient Saved Successfully" form_errors = None #jsondata = return_patient_json(saved_patient,success) else: form_errors = aumodelformerrorformatter_factory(patient_detail_form) saved_patient = None success = False data = {'success':success, 'error_message':form_errors, 'form_errors': form_errors } jsondata = json.dumps(data) else: raise Http404('Bad Request:: Unsupported Request Method.') except(Clinic.DoesNotExist): saved_patient = None success = False data = {'success':success,'error_message':"No Clinic by the specified id"} jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json')
def add_phyexam(): if request.method == 'GET': exam_form = exam_form_class(instance = exam_obj, auto_id = False ) variable = RequestContext(request, {'user': user, 'visit_detail_obj': visit_detail_obj, 'visit_phyexam_form': exam_form, 'exam_obj': exam_obj, 'visit_phyexam_action': 'add', 'exam_name': exam_name }) return render_to_response('visit_phyexam/add_or_edit_form.html', variable ) elif request.method == 'POST': exam_form = exam_form_class(request.POST, instance = exam_obj) if exam_form.is_valid(): saved_exam = exam_form.save() saved_exam.visit_detail = visit_detail_obj saved_exam.save() success = True error_message= "Exam Saved Successfully" form_errors = None redirectUrl = reverse('visit_phyexam_edit', args=[exam_name, saved_exam.id]) else: success = False error_message = "Error! Exam Could not be saved" form_errors = aumodelformerrorformatter_factory(exam_form) error_message += "\n" + form_errors + "\n" redirectUrl = None data = {'success': success, 'error_message': error_message, 'form_errors': form_errors, 'redirectUrl': redirectUrl } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type = 'json/application') else: raise Http404("Bad Request")
def social_history_edit(request, social_history_id=None): if request.user: user = request.user try: if social_history_id: social_history_id = int(social_history_id) else: social_history_id = int(request.GET.get('social_history_id')) social_history_obj = SocialHistory.objects.get( pk=social_history_id) patient_detail_obj = social_history_obj.patient_detail if not getattr(patient_detail_obj, 'urls', None): patient_detail_obj.save() if not getattr(social_history_obj, 'urls', None): social_history_obj.save() urls = social_history_obj.urls else: urls = social_history_obj.urls except ValueError or AttributeError or TypeError: raise Http404("BadRequest: Server Error") except SocialHistory.DoesNotExist: raise Http404( "BadRequest: Requested Patient SocialHistory Data DoesNotExist" ) if request.method == "GET" and request.is_ajax(): social_history_form = SocialHistoryForm( instance=social_history_obj) patient_detail_obj = social_history_obj.patient_detail addData = { "marital_status": social_history_obj.marital_status, "marital_status_notes": social_history_obj.marital_status_notes, "occupation": social_history_obj.occupation, "occupation_notes": social_history_obj.occupation_notes, "exercise": social_history_obj.exercise, "exercise_notes": social_history_obj.exercise_notes, "diet": social_history_obj.diet, "diet_notes": social_history_obj.diet_notes, "home_occupants": social_history_obj.home_occupants, "home_occupants_notes": social_history_obj.home_occupants_notes, "pets": social_history_obj.pets, "pets_notes": social_history_obj.pets_notes, "alcohol": social_history_obj.alcohol, "alcohol_no": social_history_obj.alcohol_no, "alcohol_notes": social_history_obj.alcohol_notes, "tobacco": social_history_obj.tobacco, "tobacco_no": social_history_obj.tobacco_no, "tobacco_notes": social_history_obj.tobacco_notes, "drug_abuse": social_history_obj.drug_abuse, "drug_abuse_notes": social_history_obj.drug_abuse_notes, "sexual_preference": social_history_obj.sexual_preference, "sexual_preference_notes": social_history_obj.sexual_preference_notes, "current_events": social_history_obj.current_events } variable = RequestContext( request, { "user": user, "patient_detail_obj": patient_detail_obj, "social_history_form": social_history_form, "social_history_obj": social_history_obj, "addData": addData, 'action': urls['edit'], 'button_label': "Edit", 'canDel': True, 'addUrl': None, 'editUrl': urls['edit'], 'delUrl': urls['del'], }) return render_to_response('social_history/add_or_edit_form.html', variable) elif request.method == 'POST' and request.is_ajax(): copy_post = request.POST.copy() copy_post['home_occupants'] = ",".join( copy_post.getlist('home_occupants')) copy_post['pets'] = ",".join(copy_post.getlist('pets')) social_history_form = SocialHistoryForm( copy_post, instance=social_history_obj) patient_detail_obj = social_history_obj.patient_detail if social_history_form.is_valid(): social_history_obj = social_history_form.save() success = True error_message = "SocialHistory Data Edited Successfully" form_errors = '' addData = { "marital_status": social_history_obj.marital_status, "marital_status_notes": social_history_obj.marital_status_notes, "occupation": social_history_obj.occupation, "occupation_notes": social_history_obj.occupation_notes, "exercise": social_history_obj.exercise, "exercise_notes": social_history_obj.exercise_notes, "diet": social_history_obj.diet_notes, "home_occupants": social_history_obj.home_occupants, "home_occupants_notes": social_history_obj.home_occupants_notes, "pets": social_history_obj.pets, "pets_notes": social_history_obj.pets_notes, "alcohol": social_history_obj.alcohol, "alcohol_no": social_history_obj.alcohol_no, "alcohol_notes": social_history_obj.alcohol_notes, "tobacco": social_history_obj.tobacco, "tobacco_no": social_history_obj.tobacco_no, "tobacco_notes": social_history_obj.tobacco_notes, "drug_abuse": social_history_obj.drug_abuse, "drug_abuse_notes": social_history_obj.drug_abuse_notes, "sexual_preference": social_history_obj.sexual_preference, "sexual_preference_notes": social_history_obj.sexual_preference_notes, "current_events": social_history_obj.current_events } data = { 'success': success, 'error_message': error_message, 'form_errors': form_errors, "addData": addData } else: data = { 'success': False, 'error_message': aumodelformerrorformatter_factory(social_history_form), 'form_errors': error_message, 'addData': None } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404("BadRequest: Unsupported Request Method")
def visit_detail_edit(request, visit_id=None): user = request.user error_message = None success = False try: if visit_id: visit_id = int(visit_id) else: visit_id = int(request.GET.get("visit_id")) visit_detail_obj = VisitDetail.objects.get(pk=visit_id) patient_detail_obj = visit_detail_obj.patient_detail form_field_auto_id = "id_edit_visit_detail_" + str(visit_id) data = {"visit_date": visit_detail_obj.visit_date.date().isoformat()} if not getattr(visit_detail_obj, "urls", None): visit_detail_obj.save() if not getattr(patient_detail_obj, "urls", None): patient_detail_obj.save() if request.method == "GET" and request.is_ajax(): visit_detail_form = VisitDetailForm( initial=data, instance=visit_detail_obj, auto_id=form_field_auto_id + "_%s" ) variable = RequestContext( request, { "user": user, "visit_detail_obj": visit_detail_obj, "visit_detail_form": visit_detail_form, "patient_detail_obj": patient_detail_obj, "error_message": error_message, "form_action": "edit", }, ) return render_to_response("visit_detail/edit.html", variable) elif request.method == "POST" and request.is_ajax(): visit_detail_form = VisitDetailForm(request.POST, instance=visit_detail_obj) if visit_detail_form.is_valid(): saved_visit = visit_detail_form.save() success = True error_message = "Visit Edited Successfully" else: error_message = """ <h4> Visit Could not be Saved. Please check the forms for errors </h4> """ errors = aumodelformerrorformatter_factory(visit_detail_form) + "\n" error_message += "\n" + errors data = {"success": success, "error_message": error_message} json = simplejson.dumps(data) return HttpResponse(json, content_type="application/json") else: raise Http404(" Error ! Unsupported Request..") # except (TypeError, NameError, ValueError, AttributeError, KeyError): # raise Http404("Error ! Invalid Request Parameters. ") except (VisitDetail.DoesNotExist): raise Http404("Requested Patient Does not exist.")
def contact_edit(request, contact_id=None): print "Received request for editing Contact" if request.user: user = request.user try: if contact_id: contact_id = int(contact_id) else: contact_id = int(request.GET.get('contact_id')) contact_obj = Contact.objects.get(pk=contact_id) patient_detail_obj = contact_obj.patient_detail if not getattr(contact_obj, 'urls'): contact_obj.generate_urls() if request.method == "GET" and request.is_ajax(): contact_form = ContactForm(instance=contact_obj, auto_id=False) variable = RequestContext( request, { "user": user, "patient_detail_obj": patient_detail_obj, "contact_form": contact_form, "contact_obj": contact_obj, }) return render_to_response('contact/edit.html', variable) elif request.method == 'POST' and request.is_ajax(): contact_form = ContactForm(request.POST, instance=contact_obj) if contact_form.is_valid(): #print "now there are " , len(Contact.objects.all()), " Contact objects" contact_object = contact_form.save() #print "now there are " , len(Contact.objects.all()), " Contact objects" success = True error_message = "Contact Saved Successfully" form_errors = None data = { "success": success, "error_message": error_message, "form_errors": form_errors, "id": contact_object.id, 'pat_id': contact_object.patient_detail.id, "address_type": contact_object.address_type, "address": contact_object.address, "city": contact_object.city, "state": contact_object.state, "country": contact_object.country, "zip_code": contact_object.zip_code, "edit": contact_object.urls['edit'], "del": contact_object.urls['del'] } else: success = False error_message = aumodelformerrorformatter_factory( contact_form) form_errors = error_message data = { 'success': success, 'error_message': error_message, 'form_errors': form_errors } json = simplejson.dumps(data) return HttpResponse(json, content_type='application/json') else: raise Http404("BadRequest: Unsupported Request Method") except TypeError or ValueError or AttributeError: raise Http404("BadRequest") except Contact.DoesNotExist: raise Http404("BadRequest: Contact Data Does Not Exist")
def visit_ros_edit(request, visit_ros_id = None): user = request.user error_message = None try: if visit_ros_id: visit_ros_id = int(visit_ros_id) else: visit_ros_id = int(request.GET.get('visit_ros_id')) visit_ros_obj = VisitROS.objects.get(pk=visit_ros_id) visit_detail_obj = visit_ros_obj.visit_detail patient_detail_obj = visit_detail_obj.patient_detail if not getattr(visit_detail_obj,'urls',None): visit_detail_obj.save() if not getattr(patient_detail_obj,'urls',None): patient_detail_obj.save() if not getattr(visit_ros_obj,'urls',None): visit_ros_obj.save() if request.method == "GET" and request.is_ajax(): visit_ros_form = VisitROSForm(instance = visit_ros_obj, auto_id = "id_edit_visit_ros"+ str(visit_ros_id)+"_%s" ) variable = RequestContext( request, {'user': user, 'visit_detail_obj': visit_detail_obj, 'visit_ros_obj': visit_ros_obj, 'visit_ros_form' : visit_ros_form , 'patient_detail_obj': visit_detail_obj.patient_detail, 'error_message': error_message, 'visit_ros_action':'edit' }) return render_to_response('visit_ros/add_or_edit_form.html', variable) if request.method == "POST" and request.is_ajax(): visit_ros_form = VisitROSForm(request.POST, instance = visit_ros_obj ) if visit_ros_form.is_valid() : saved_visit_ros = visit_ros_form.save(commit=False) saved_visit_ros.visit_detail = visit_detail_obj saved_visit_ros.save() success = True error_message = "Visit ROS Edited Successfully" redirectUrl = saved_visit_ros.urls['edit'] else: success = False error_message = ''' <h4> Visit Could not be Saved. Please check the forms for errors </h4> ''' errors += aumodelformerrorformatter_factory(visit_ros_form) error_message += ('\n' + errors) redirectUrl = None data = {'success': success, 'error_message': error_message , 'redirectUrl': redirectUrl } json = simplejson.dumps(data) return HttpResponse(json, content_type='application/json') else: raise Http404(" Error ! Unsupported Request..") except (TypeError, NameError, ValueError, AttributeError, KeyError): raise Http404("Error ! Invalid Request Parameters. ") except (VisitROS.DoesNotExist): raise Http404("Requested VisitROS Does not exist.")
def phone_edit(request, phone_id): if request.user: user = request.user try: if phone_id: phone_id = int(phone_id) else: phone_id = int(request.GET.get('phone_id')) phone_obj = Phone.objects.get(pk=phone_id) patient_detail_obj = phone_obj.patient_detail if not getattr(phone_obj,'urls'): phone_obj.generate_urls() if request.method == "GET" and request.is_ajax(): phone_form = PhoneForm(instance=phone_obj, auto_id = False ) variable = RequestContext(request, {"user": user, "patient_detail_obj": patient_detail_obj, "phone_form": phone_form, "phone_obj": phone_obj, }) return render_to_response('phone/edit.html', variable) elif request.method == 'POST' and request.is_ajax(): phone_form = PhoneForm(request.POST, instance=phone_obj) if phone_form.is_valid(): phone_object = phone_form.save() success = True error_message = "Phone Saved Successfully" form_errors = None data = {"success": success, "error_message": error_message, "form_errors": form_errors, "id": phone_object.id, 'phone_type': phone_object.phone_type, 'STD_Code': phone_object.STD_Code, 'ISD_Code': phone_object.ISD_Code, 'phone': phone_object.phone, 'pat_id': phone_object.patient_detail.id, "edit": phone_object.urls['edit'], "del": phone_object.urls['del'] } else: success = False error_message = aumodelformerrorformatter_factory(phone_form) form_errors = error_message data = {'success' : success, 'error_message' : error_message, 'form_errors' : form_errors } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404("BadRequest: Unsupported Request Method") except TypeError or ValueError or AttributeError: raise Http404("BadRequest") except Phone.DoesNotExist: raise Http404("BadRequest: Phone Data Does Not Exist")
def guardian_edit(request, guardian_id): if request.user: user = request.user try: if guardian_id: guardian_id = int(guardian_id) else: guardian_id = int(request.GET.get('guardian_id')) guardian_obj = Guardian.objects.get(pk=guardian_id) patient_detail_obj = guardian_obj.patient_detail if not getattr(guardian_obj,'urls'): guardian_obj.generate_urls() if request.method == "GET" and request.is_ajax(): guardian_form = GuardianForm(instance=guardian_obj, auto_id = False ) variable = RequestContext(request, {"user": user, "patient_detail_obj": patient_detail_obj, "guardian_form": guardian_form, "guardian_obj": guardian_obj, }) return render_to_response('guardian/edit.html', variable) elif request.method == 'POST' and request.is_ajax(): guardian_form = GuardianForm(request.POST, instance=guardian_obj) if guardian_form.is_valid(): guardian_object = guardian_form.save() success = True error_message = "Guardian Saved Successfully" form_errors = None data = {"success": success, "error_message": error_message, "form_errors": form_errors, "id": guardian_object.id, 'pat_id': guardian_object.patient_detail.id, "guardian_name": guardian_object.guardian_name, "relation_to_guardian": guardian_object.relation_to_guardian, "guardian_phone": guardian_object.guardian_phone, "edit": guardian_object.urls['edit'], "del": guardian_object.urls['del'] } else: success = False error_message = aumodelformerrorformatter_factory(guardian_form) form_errors = error_message data = {'success' : success, 'error_message' : error_message, 'form_errors' : form_errors } json = simplejson.dumps(data) return HttpResponse(json, content_type='application/json') else: raise Http404("BadRequest: Unsupported Request Method") except TypeError or ValueError or AttributeError: raise Http404("BadRequest") except Guardian.DoesNotExist: raise Http404("BadRequest: Guardian Data Does Not Exist")
def visit_prescription_add(request,visit_detail_id = None): """ Adds a Visit prescription """ user = request.user success = False error_message = None form_errors = [] try: if visit_detail_id: visit_detail_id = int(visit_detail_id) else: visit_detail_id = int(request.GET.get('visit_detail_id')) visit_detail_obj = VisitDetail.objects.get(pk=visit_detail_id) patient_detail_obj = visit_detail_obj.patient_detail visit_prescription_obj = VisitPrescription(visit_detail=visit_detail_obj) if not getattr(patient_detail_obj, 'urls', None): patient_detail_obj.save() if not getattr(visit_detail_obj, 'urls', None): visit_detail_obj.save() if request.method == "GET" and request.is_ajax(): visit_prescription_form = VisitPrescriptionForm(instance = visit_prescription_obj, auto_id = "id_add_visit_prescription"+ str(visit_detail_id)+"_%s") variable = RequestContext(request, { 'user': user, 'visit_detail_obj': visit_detail_obj, 'form': visit_prescription_form, 'patient_detail_obj': patient_detail_obj, 'error_message': error_message, 'success': success, }) return render_to_response('visit_prescription/forms/add.html', variable) elif request.method == "POST" and request.is_ajax(): visit_prescription_form = VisitPrescriptionForm(request.POST, instance = visit_prescription_obj) if visit_prescription_form.is_valid() : saved_visit_prescription = visit_prescription_form.save(commit=False) saved_visit_prescription.visit_detail = visit_detail_obj #TODO: Custom date-range handling #TODO: Custom admin hours handling saved_visit_prescription.save() success = True error_message = "Prescription Added Successfully" else: error_message = ''' <h4> Prescription could not be saved. Please check the forms for errors </h4> ''' errors += aumodelformerrorformatter_factory(visit_prescription_form) error_message += ('\n' + errors) data = {'success': success, 'error_message': error_message } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404(" Error ! Unsupported Request..") except (TypeError, NameError, ValueError, AttributeError, KeyError): raise Http404("Error ! Invalid Request Parameters. ") except (VisitDetail.DoesNotExist): raise Http404("Requested Visit Does not exist.")
def phone_edit(request, phone_id): if request.user: user = request.user try: if phone_id: phone_id = int(phone_id) else: phone_id = int(request.GET.get('phone_id')) phone_obj = Phone.objects.get(pk=phone_id) patient_detail_obj = phone_obj.patient_detail if not getattr(phone_obj, 'urls'): phone_obj.generate_urls() if request.method == "GET" and request.is_ajax(): phone_form = PhoneForm(instance=phone_obj, auto_id=False) variable = RequestContext( request, { "user": user, "patient_detail_obj": patient_detail_obj, "phone_form": phone_form, "phone_obj": phone_obj, }) return render_to_response('phone/edit.html', variable) elif request.method == 'POST' and request.is_ajax(): phone_form = PhoneForm(request.POST, instance=phone_obj) if phone_form.is_valid(): phone_object = phone_form.save() success = True error_message = "Phone Saved Successfully" form_errors = None data = { "success": success, "error_message": error_message, "form_errors": form_errors, "id": phone_object.id, 'phone_type': phone_object.phone_type, 'STD_Code': phone_object.STD_Code, 'ISD_Code': phone_object.ISD_Code, 'phone': phone_object.phone, 'pat_id': phone_object.patient_detail.id, "edit": phone_object.urls['edit'], "del": phone_object.urls['del'] } else: success = False error_message = aumodelformerrorformatter_factory( phone_form) form_errors = error_message data = { 'success': success, 'error_message': error_message, 'form_errors': form_errors } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404("BadRequest: Unsupported Request Method") except TypeError or ValueError or AttributeError: raise Http404("BadRequest") except Phone.DoesNotExist: raise Http404("BadRequest: Phone Data Does Not Exist")
def demographics_edit(request, demographics_id=None): if request.user: user = request.user try: if demographics_id: demographics_id = int(demographics_id) else: demographics_id = int(request.GET.get('demographics_id')) demographics_obj = Demographics.objects.get(pk=demographics_id) patient_detail_obj = demographics_obj.patient_detail demographics_obj.save() d_urls = demographics_obj.urls except TypeError or ValueError or AttributeError: raise Http404("BadRequest") except Demographics.DoesNotExist: raise Http404( "BadRequest: Patient DemographicsData Data Does Not Exist") if request.method == "GET" and request.is_ajax(): demographics_form = DemographicsForm(instance=demographics_obj, auto_id=False) variable = RequestContext( request, { "user": user, "patient_detail_obj": patient_detail_obj, "demographics_form": demographics_form, "demographics_obj": demographics_obj, 'action': d_urls['edit'], 'button_label': "Edit", 'canDel': True, 'addUrl': None, 'editUrl': d_urls['edit'], 'delUrl': d_urls['del'], }) return render_to_response('demographics/add_or_edit_form.html', variable) elif request.method == 'POST' and request.is_ajax(): demographics_form = DemographicsForm(request.POST, instance=demographics_obj) if demographics_form.is_valid(): demographics_obj = demographics_form.save() success = True error_message = "Demographics Data Edited Successfully" form_errors = None else: success = False error_message = aumodelformerrorformatter_factory( demographics_form) form_errors = error_message data = { 'success': success, 'error_message': error_message, 'form_errors': form_errors } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404("BadRequest: Unsupported Request Method")
def social_history_add(request, patient_id=None): if request.user: user = request.user try: if patient_id: patient_id = int(patient_id) else: patient_id = int(request.GET.get("patient_id")) patient_detail_obj = PatientDetail.objects.get(pk=patient_id) # patient_detail_obj.generate_urls() if not getattr(patient_detail_obj, "urls", None): patient_detail_obj.save() social_history_obj = SocialHistory.objects.filter(patient_detail=patient_detail_obj) if social_history_obj: return social_history_edit(request, social_history_obj[0].id) else: social_history_obj = SocialHistory(patient_detail=patient_detail_obj) if request.method == "GET" and request.is_ajax(): social_history_form = SocialHistoryForm(instance=social_history_obj) variable = RequestContext( request, { "user": user, "patient_detail_obj": patient_detail_obj, "social_history_form": social_history_form, "social_history_obj": social_history_obj, "button_label": "Add", "action": patient_detail_obj.urls["add"]["social_history"], "addUrl": patient_detail_obj.urls["add"]["social_history"], "canDel": False, "editUrl": None, "delUrl": None, }, ) return render_to_response("social_history/add_or_edit_form.html", variable) elif request.method == "POST" and request.is_ajax(): copy_post = request.POST.copy() # print "Received POST Request with", request.POST # print "Home Occupants received are", copy_post.getlist('home_occupants') copy_post["home_occupants"] = ",".join(copy_post.getlist("home_occupants")) copy_post["pets"] = ",".join(copy_post.getlist("pets")) social_history_form = SocialHistoryForm(copy_post, instance=social_history_obj) if social_history_form.is_valid(): try: social_history_obj = social_history_form.save() success = True error_message = "SocialHistory Data Added Successfully" form_errors = None addData = { "marital_status": social_history_obj.marital_status, "marital_status_notes": social_history_obj.marital_status_notes, "occupation": social_history_obj.occupation, "occupation_notes": social_history_obj.occupation_notes, "exercise": social_history_obj.exercise, "exercise_notes": social_history_obj.exercise_notes, "diet": social_history_obj.diet, "diet_notes": social_history_obj.diet_notes, "home_occupants": social_history_obj.home_occupants, "home_occupants_notes": social_history_obj.home_occupants_notes, "pets": social_history_obj.pets, "pets_notes": social_history_obj.pets_notes, "alcohol": social_history_obj.alcohol, "alcohol_no": social_history_obj.alcohol_no, "alcohol_notes": social_history_obj.alcohol_notes, "tobacco": social_history_obj.tobacco, "tobacco_no": social_history_obj.tobacco_no, "tobacco_notes": social_history_obj.tobacco_notes, "drug_abuse": social_history_obj.drug_abuse, "drug_abuse_notes": social_history_obj.drug_abuse_notes, "sexual_preference": social_history_obj.sexual_preference, "sexual_preference_notes": social_history_obj.sexual_preference_notes, "current_events": social_history_obj.current_events, } if not hasattr(social_history_obj, "urls"): social_history_obj.save() urls = social_history_obj.urls data = { "success": success, "error_message": error_message, "form_errors": form_errors, "canDel": True, "addUrl": None, "addData": addData, "editUrl": social_history_obj.urls["edit"], "delUrl": social_history_obj.urls["del"], } except (Exception("SocialHistoryExistsError")): data = { "success": False, "error_message": "Social History Already Exists ! Cannot add More", "form_errors": error_message, "addData": None, } else: error_message = aumodelformerrorformatter_factory(social_history_form) data = { "success": False, "error_message": error_message, "form_errors": error_message, "addData": None, } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type="application/json") else: raise Http404("BadRequest: Unsupported Request Method. AJAX status is:: " + unicode(request.is_ajax())) except TypeError or ValueError or AttributeError: raise Http404("BadRequest") except (PatientDetail.DoesNotExist): raise Http404("BadRequest: Patient Data Does Not Exist")
def visit_assessment_and_plan_add(request, visit_id=None): """ Adds a Visit assessment_and_plan """ user = request.user success = False error_message = None form_errors = [] try: if visit_id: visit_id = int(visit_id) else: visit_id = int(request.GET.get('visit_id')) visit_detail_obj = VisitDetail.objects.get(pk=visit_id) patient_detail_obj = visit_detail_obj.patient_detail if not getattr(patient_detail_obj, 'urls', None): patient_detail_obj.save() if not getattr(visit_detail_obj, 'urls', None): visit_detail_obj.save() visit_assessment_and_plan_objs = VisitAssessmentAndPlan.objects.filter( visit_detail=visit_detail_obj) if visit_assessment_and_plan_objs: return visit_assessment_and_plan_edit( request, visit_assessment_and_plan_id=visit_assessment_and_plan_objs[0]. id) visit_assessment_and_plan_obj = VisitAssessmentAndPlan( visit_detail=visit_detail_obj) if request.method == "GET" and request.is_ajax(): visit_assessment_and_plan_form = VisitAssessmentAndPlanForm( instance=visit_assessment_and_plan_obj, auto_id="id_add_visit_assessment_and_plan" + str(visit_id) + "_%s") variable = RequestContext( request, { 'user': user, 'visit_detail_obj': visit_detail_obj, 'visit_assessment_and_plan_form': visit_assessment_and_plan_form, 'patient_detail_obj': patient_detail_obj, 'error_message': error_message, 'success': success, 'visit_assessment_and_plan_action': 'add' }) return render_to_response( 'visit_assessment_and_plan/add_or_edit_form.html', variable) elif request.method == "POST" and request.is_ajax(): visit_assessment_and_plan_form = VisitAssessmentAndPlanForm( request.POST, instance=visit_assessment_and_plan_obj) if visit_assessment_and_plan_form.is_valid(): saved_visit_assessment_and_plan = visit_assessment_and_plan_form.save( commit=False) saved_visit_assessment_and_plan.visit_detail = visit_detail_obj saved_visit_assessment_and_plan.save() success = True error_message = "History Added Successfully" redirectUrl = saved_visit_assessment_and_plan.urls['edit'] else: error_message = ''' <h4> History Could not be Saved. Please check the forms for errors </h4> ''' errors += aumodelformerrorformatter_factory( visit_assessment_and_plan_form) error_message += ('\n' + errors) redirectUrl = None success = False data = { 'success': success, 'error_message': error_message, 'redirectUrl': redirectUrl } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404(" Error ! Unsupported Request..") except (TypeError, NameError, ValueError, AttributeError, KeyError): raise Http404("Error ! Invalid Request Parameters. ") except (VisitDetail.DoesNotExist): raise Http404("Requested Visit Does not exist.")
def social_history_edit(request, social_history_id=None): if request.user: user = request.user try: if social_history_id: social_history_id = int(social_history_id) else: social_history_id = int(request.GET.get("social_history_id")) social_history_obj = SocialHistory.objects.get(pk=social_history_id) patient_detail_obj = social_history_obj.patient_detail if not getattr(patient_detail_obj, "urls", None): patient_detail_obj.save() if not getattr(social_history_obj, "urls", None): social_history_obj.save() urls = social_history_obj.urls else: urls = social_history_obj.urls except ValueError or AttributeError or TypeError: raise Http404("BadRequest: Server Error") except SocialHistory.DoesNotExist: raise Http404("BadRequest: Requested Patient SocialHistory Data DoesNotExist") if request.method == "GET" and request.is_ajax(): social_history_form = SocialHistoryForm(instance=social_history_obj) patient_detail_obj = social_history_obj.patient_detail addData = { "marital_status": social_history_obj.marital_status, "marital_status_notes": social_history_obj.marital_status_notes, "occupation": social_history_obj.occupation, "occupation_notes": social_history_obj.occupation_notes, "exercise": social_history_obj.exercise, "exercise_notes": social_history_obj.exercise_notes, "diet": social_history_obj.diet, "diet_notes": social_history_obj.diet_notes, "home_occupants": social_history_obj.home_occupants, "home_occupants_notes": social_history_obj.home_occupants_notes, "pets": social_history_obj.pets, "pets_notes": social_history_obj.pets_notes, "alcohol": social_history_obj.alcohol, "alcohol_no": social_history_obj.alcohol_no, "alcohol_notes": social_history_obj.alcohol_notes, "tobacco": social_history_obj.tobacco, "tobacco_no": social_history_obj.tobacco_no, "tobacco_notes": social_history_obj.tobacco_notes, "drug_abuse": social_history_obj.drug_abuse, "drug_abuse_notes": social_history_obj.drug_abuse_notes, "sexual_preference": social_history_obj.sexual_preference, "sexual_preference_notes": social_history_obj.sexual_preference_notes, "current_events": social_history_obj.current_events, } variable = RequestContext( request, { "user": user, "patient_detail_obj": patient_detail_obj, "social_history_form": social_history_form, "social_history_obj": social_history_obj, "addData": addData, "action": urls["edit"], "button_label": "Edit", "canDel": True, "addUrl": None, "editUrl": urls["edit"], "delUrl": urls["del"], }, ) return render_to_response("social_history/add_or_edit_form.html", variable) elif request.method == "POST" and request.is_ajax(): copy_post = request.POST.copy() copy_post["home_occupants"] = ",".join(copy_post.getlist("home_occupants")) copy_post["pets"] = ",".join(copy_post.getlist("pets")) social_history_form = SocialHistoryForm(copy_post, instance=social_history_obj) patient_detail_obj = social_history_obj.patient_detail if social_history_form.is_valid(): social_history_obj = social_history_form.save() success = True error_message = "SocialHistory Data Edited Successfully" form_errors = "" addData = { "marital_status": social_history_obj.marital_status, "marital_status_notes": social_history_obj.marital_status_notes, "occupation": social_history_obj.occupation, "occupation_notes": social_history_obj.occupation_notes, "exercise": social_history_obj.exercise, "exercise_notes": social_history_obj.exercise_notes, "diet": social_history_obj.diet_notes, "home_occupants": social_history_obj.home_occupants, "home_occupants_notes": social_history_obj.home_occupants_notes, "pets": social_history_obj.pets, "pets_notes": social_history_obj.pets_notes, "alcohol": social_history_obj.alcohol, "alcohol_no": social_history_obj.alcohol_no, "alcohol_notes": social_history_obj.alcohol_notes, "tobacco": social_history_obj.tobacco, "tobacco_no": social_history_obj.tobacco_no, "tobacco_notes": social_history_obj.tobacco_notes, "drug_abuse": social_history_obj.drug_abuse, "drug_abuse_notes": social_history_obj.drug_abuse_notes, "sexual_preference": social_history_obj.sexual_preference, "sexual_preference_notes": social_history_obj.sexual_preference_notes, "current_events": social_history_obj.current_events, } data = { "success": success, "error_message": error_message, "form_errors": form_errors, "addData": addData, } else: data = { "success": False, "error_message": aumodelformerrorformatter_factory(social_history_form), "form_errors": error_message, "addData": None, } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type="application/json") else: raise Http404("BadRequest: Unsupported Request Method")
def visit_detail_edit(request, visit_id=None): user = request.user error_message = None success = False try: if visit_id: visit_id = int(visit_id) else: visit_id = int(request.GET.get('visit_id')) visit_detail_obj = VisitDetail.objects.get(pk=visit_id) patient_detail_obj = visit_detail_obj.patient_detail form_field_auto_id = 'id_edit_visit_detail_' + str(visit_id) data = {'visit_date': visit_detail_obj.visit_date.date().isoformat()} if not getattr(visit_detail_obj, 'urls', None): visit_detail_obj.save() if not getattr(patient_detail_obj, 'urls', None): patient_detail_obj.save() if request.method == "GET" and request.is_ajax(): visit_detail_form = VisitDetailForm(initial=data, instance=visit_detail_obj, auto_id=form_field_auto_id + "_%s") variable = RequestContext( request, { 'user': user, 'visit_detail_obj': visit_detail_obj, 'visit_detail_form': visit_detail_form, 'patient_detail_obj': patient_detail_obj, 'error_message': error_message, 'form_action': 'edit' }) return render_to_response('visit_detail/edit.html', variable) elif request.method == "POST" and request.is_ajax(): visit_detail_form = VisitDetailForm(request.POST, instance=visit_detail_obj) if visit_detail_form.is_valid(): saved_visit = visit_detail_form.save(commit=False) saved_visit.op_surgeon = user.staff saved_visit.save() success = True error_message = "Visit Edited Successfully" else: error_message = ''' <h4> Visit Could not be Saved. Please check the forms for errors </h4> ''' errors = aumodelformerrorformatter_factory( visit_detail_form) + '\n' error_message += ('\n' + errors) data = {'success': success, 'error_message': error_message} jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404(" Error ! Unsupported Request..") #except (TypeError, NameError, ValueError, AttributeError, KeyError): #raise Http404("Error ! Invalid Request Parameters. ") except (VisitDetail.DoesNotExist): raise Http404("Requested Patient Does not exist.")
def visit_detail_add(request, patient_id=None, nature='initial'): """ Adds a new VisitDetail Object Takes request and id of PatientDetail object the nature of visit is defaulted to 'initial'. Implementation of separate visits for 'initial' , 'fu' etc.. can be implemented later. """ print "Received request to add VisitDetail" user = request.user success = False error_message = None form_errors = [] try: if patient_id: patient_id = int(patient_id) else: patient_id = int(request.GET.get('patient_id')) patient_detail_obj = PatientDetail.objects.get(pk=patient_id) if not getattr(patient_detail_obj, 'urls', None): patient_detail_obj.save() if not patient_detail_obj.can_add_new_visit(patient_detail_obj): error_message = ''' Cannot add new visit now. There may be a active admission / visit. Please close that and try again ''' raise Http404(error_message) else: print patient_detail_obj, " can add VisitDetail" visit_detail_obj = VisitDetail(patient_detail=patient_detail_obj) if request.method == "GET" and request.is_ajax(): if nature == 'initial': visit_detail_form = VisitDetailForm( initial={ 'visit_date': datetime.now().date().isoformat(), 'consult_nature': 'initial', 'status': 'examining', 'op_surgeon': user }, instance=visit_detail_obj, auto_id="id_new_visit_detail" + str(id) + "_%s") if not getattr(patient_detail_obj, 'urls', None): patient_detail_obj.save() variable = RequestContext( request, { 'user': user, 'visit_detail_obj': visit_detail_obj, 'visit_detail_form': visit_detail_form, 'patient_detail_obj': patient_detail_obj, 'error_message': error_message, 'success': success, 'form_action': 'add' }) return render_to_response('visit_detail/add_working.html', variable) elif nature == 'fu': # TODO pass elif request.method == "POST" and request.is_ajax(): print "Received request to add visit..." visit_detail_form = VisitDetailForm(request.POST, instance=visit_detail_obj) if visit_detail_form.is_valid(): saved_visit = visit_detail_form.save(commit=False) saved_visit.op_surgeon = user.staff saved_visit.save() success = True error_message = "Visit Added Successfully" returnData = { 'id': 'EDIT_ACTIVE_VISIT_' + str(saved_visit.id), 'title': saved_visit.visit_date.date().isoformat(), 'url': saved_visit.urls['edit'] } else: error_message = ''' <h4> Visit Could not be Saved. Please check the forms for errors </h4> ''' errors = aumodelformerrorformatter_factory( visit_detail_form) + '\n' returnData = None data = { 'success': success, 'error_message': error_message, 'returnData': returnData } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404(" Error ! Unsupported Request..") except (TypeError, NameError, ValueError, AttributeError, KeyError): raise Http404("Error ! Invalid Request Parameters. ") except (PatientDetail.DoesNotExist): raise Http404("Requested Patient Does not exist.")
def demographics_add(request, patient_id = None): if request.user: user = request.user try: if patient_id: patient_id = int(patient_id) else: patient_id = int(request.GET.get('patient_id')) patient_detail_obj = PatientDetail.objects.get(pk=patient_id) patient_detail_obj.save() p_urls = patient_detail_obj.urls demographics_obj = Demographics.objects.filter(patient_detail=patient_detail_obj) if not demographics_obj: demographics_obj = Demographics(patient_detail=patient_detail_obj) else: demographics_obj = demographics_obj[0] return demographics_edit(request, demographics_id = demographics_obj.id) if request.method == "GET" and request.is_ajax(): demographics_form = DemographicsForm(instance=demographics_obj, auto_id = False) variable = RequestContext(request, {"user": user, "patient_detail_obj": patient_detail_obj, "demographics_form": demographics_form, "demographics_obj": demographics_obj, 'button_label': "Add", "action": p_urls['add']['demographics'], "addUrl": p_urls['add']['demographics'], 'canDel': False, 'editUrl': None, 'delUrl': None }) return render_to_response('demographics/add_or_edit_form.html', variable) elif request.method == 'POST' and request.is_ajax(): demographics_form = DemographicsForm(request.POST, instance=demographics_obj) if demographics_form.is_valid(): try: demographics_obj = demographics_form.save() success = True error_message = "Demographics Data Added Successfully" form_errors = None data = {'success': success, 'error_message': error_message, 'form_errors': form_errors, 'canDel': True, 'addUrl': None, 'editUrl': demographics_obj.urls['edit'], 'delUrl': demographics_obj.urls['del'], } except (DemographicsDataExistsError): success = False error_message = "Demographics Data Already Exists ! Cannot add more.." form_errors = '' data = {'success': success, 'error_message': error_message, 'form_errors': form_errors } else: success = False error_message = aumodelformerrorformatter_factory(demographics_form) form_errors = error_message data = {'success': success, 'error_message': error_message, 'form_errors': form_errors } json = simplejson.dumps(data) return HttpResponse(json, content_type='application/json') else: raise Http404("BadRequest: Unsupported Request Method") except ValueError or AttributeError or TypeError: raise Http404("BadRequest: Server Error") except PatientDetail.DoesNotExist: raise Http404("BadRequest: Requested Patient DoesNotExist")
def demographics_add(request, patient_id=None): if request.user: user = request.user try: if patient_id: patient_id = int(patient_id) else: patient_id = int(request.GET.get('patient_id')) patient_detail_obj = PatientDetail.objects.get(pk=patient_id) patient_detail_obj.save() p_urls = patient_detail_obj.urls demographics_obj = Demographics.objects.filter( patient_detail=patient_detail_obj) if not demographics_obj: demographics_obj = Demographics( patient_detail=patient_detail_obj) else: demographics_obj = demographics_obj[0] return demographics_edit(request, demographics_id=demographics_obj.id) if request.method == "GET" and request.is_ajax(): demographics_form = DemographicsForm(instance=demographics_obj, auto_id=False) variable = RequestContext( request, { "user": user, "patient_detail_obj": patient_detail_obj, "demographics_form": demographics_form, "demographics_obj": demographics_obj, 'button_label': "Add", "action": p_urls['add']['demographics'], "addUrl": p_urls['add']['demographics'], 'canDel': False, 'editUrl': None, 'delUrl': None }) return render_to_response('demographics/add_or_edit_form.html', variable) elif request.method == 'POST' and request.is_ajax(): demographics_form = DemographicsForm(request.POST, instance=demographics_obj) if demographics_form.is_valid(): try: demographics_obj = demographics_form.save() success = True error_message = "Demographics Data Added Successfully" form_errors = None data = { 'success': success, 'error_message': error_message, 'form_errors': form_errors, 'canDel': True, 'addUrl': None, 'editUrl': demographics_obj.urls['edit'], 'delUrl': demographics_obj.urls['del'], } except (DemographicsDataExistsError): success = False error_message = "Demographics Data Already Exists ! Cannot add more.." form_errors = '' data = { 'success': success, 'error_message': error_message, 'form_errors': form_errors } else: success = False error_message = aumodelformerrorformatter_factory( demographics_form) form_errors = error_message data = { 'success': success, 'error_message': error_message, 'form_errors': form_errors } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404("BadRequest: Unsupported Request Method") except ValueError or AttributeError or TypeError: raise Http404("BadRequest: Server Error") except PatientDetail.DoesNotExist: raise Http404("BadRequest: Requested Patient DoesNotExist")
def visit_phyexam_edit(request, exam_name , visit_phyexam_id=None): user = request.user exam_class = EXAM_NAME_MODEL_MAP.get(exam_name,'') exam_form_class = EXAM_NAME_MODEL_FORM_MAP.get(exam_class,'') try: if visit_phyexam_id: visit_phyexam_id = int(visit_phyexam_id) else: visit_phyexam_id = int( request.GET.get('visit_phyexam_id') ) if not exam_class: raise Http404("Invalid Exam Requested") else: exam_obj = exam_class.objects.get(pk = visit_phyexam_id) visit_detail_obj = exam_obj.visit_detail if not getattr(exam_obj,'urls',None): exam_obj.save() if not getattr(visit_detail_obj,'urls',None): visit_detail_obj.save() except (NameError, TypeError, ValueError, AttributeError, KeyError): raise Http404("Error! : Bad Parameters supplied ! ") except (exam_class.DoesNotExist): raise Http404("Error! : Requested Examination Does not Exist !") if request.method == 'GET': exam_form = exam_form_class(instance = exam_obj, auto_id = False ) variable = RequestContext(request, {'user': user, 'visit_detail_obj': visit_detail_obj, 'visit_phyexam_form': exam_form, 'exam_obj': exam_obj, 'visit_phyexam_action': 'edit', 'exam_name': exam_name }) if exam_name != 'vasc': return render_to_response('visit_phyexam/add_or_edit_form.html', variable ) else: return render_to_response('visit_phyexam/snippets/forms/vasc.html', variable ) elif request.method == 'POST': exam_form = exam_form_class(request.POST, instance = exam_obj) if exam_form.is_valid(): saved_exam = exam_form.save() saved_exam.visit_detail = visit_detail_obj saved_exam.save() success = True error_message= "Exam Saved Successfully" form_errors = None redirectUrl = reverse('visit_phyexam_edit', args=[exam_name, saved_exam.id]) else: success = False error_message = "Error! Exam Could not be saved" form_errors = aumodelformerrorformatter_factory(exam_form) error_message += "\n" + form_errors + "\n" redirectUrl = None data = {'success': success, 'error_message': error_message, 'form_errors': form_errors, 'redirectUrl': redirectUrl } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type = 'json/application') else: raise Http404("Bad Request")
def email_and_fax_edit(request, email_and_fax_id): if request.user: user = request.user try: if email_and_fax_id: email_and_fax_id = int(email_and_fax_id) else: email_and_fax_id = int(request.GET.get('email_and_fax_id')) email_and_fax_obj = EmailAndFax.objects.get(pk=email_and_fax_id) patient_detail_obj = email_and_fax_obj.patient_detail if not getattr(email_and_fax_obj,'urls'): email_and_fax_obj.generate_urls() if request.method == "GET" and request.is_ajax(): email_and_fax_form = EmailAndFaxForm(instance=email_and_fax_obj, auto_id = False ) variable = RequestContext(request, {"user": user, "patient_detail_obj": patient_detail_obj, "email_and_fax_form": email_and_fax_form, "email_and_fax_obj": email_and_fax_obj, }) return render_to_response('email_and_fax/edit.html', variable) elif request.method == 'POST' and request.is_ajax(): email_and_fax_form = EmailAndFaxForm(request.POST, instance=email_and_fax_obj) if email_and_fax_form.is_valid(): email_and_fax_object = email_and_fax_form.save() success = True error_message = "EmailAndFax Saved Successfully" form_errors = None data = {"success": success, "error_message": error_message, "form_errors": form_errors, "id": email_and_fax_object.id, "email": email_and_fax_object.email, "fax": email_and_fax_object.fax, "web": email_and_fax_object.web, 'pat_id': email_and_fax_object.patient_detail.id, "edit": email_and_fax_object.urls['edit'], "del": email_and_fax_object.urls['del'] } else: success = False error_message = aumodelformerrorformatter_factory(email_and_fax_form) form_errors = error_message data = {'success' : success, 'error_message' : error_message, 'form_errors' : form_errors } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404("BadRequest: Unsupported Request Method") except TypeError or ValueError or AttributeError: raise Http404("BadRequest") except EmailAndFax.DoesNotExist: raise Http404("BadRequest: EmailAndFax Data Does Not Exist")
def visit_prescription_edit(request, visit_prescription_id): user = request.user error_message = None try: if visit_prescription_id: visit_prescription_id = int(visit_prescription_id) else: visit_prescription_id = int(request.GET.get('visit_prescription_id')) visit_prescription_obj = VisitPrescription.objects.get(pk=visit_prescription_id) visit_detail_obj = visit_prescription_obj.visit_detail patient_detail_obj = visit_detail_obj.patient_detail if not getattr(visit_detail_obj,'urls',None): visit_detail_obj.save() if not getattr(patient_detail_obj,'urls',None): patient_detail_obj.save() if not getattr(visit_prescription_obj,'urls',None): visit_prescription_obj.save() if request.method == "GET" and request.is_ajax(): visit_prescription_form = VisitPrescriptionForm(instance = visit_prescription_obj, auto_id = False ) variable = RequestContext( request, {'user': user, 'visit_detail_obj': visit_detail_obj, 'visit_prescription_obj': visit_prescription_obj, 'form' : visit_prescription_form , 'patient_detail_obj': visit_detail_obj.patient_detail, 'error_message': error_message, 'form_action':'edit' }) return render_to_response('visit_prescription/forms/edit.html', variable) if request.method == "POST" and request.is_ajax(): visit_prescription_form = VisitPrescriptionForm(request.POST, instance = visit_prescription_obj ) if visit_prescription_form.is_valid(): saved_visit_prescription = visit_prescription_form.save(commit=False) saved_visit_prescription.visit_detail = visit_detail_obj saved_visit_prescription.save() success = True error_message = "Visit Edited Successfully" #if check_duplicates(saved_visit_prescription, visit_detail_obj): #saved_visit_prescription.save() #success = True #error_message = "Visit Edited Successfully" #else: #success = False #error_message = ''' <h4> #Visit Could not be Saved as there are duplicate prescription. #Please check the forms for errors #</h4> #''' else: success = False error_message = ''' <h4> Visit Could not be Saved. Please check the forms for errors </h4> ''' errors += aumodelformerrorformatter_factory(visit_prescription_form) error_message += ('\n' + errors) data = {'success': success, 'error_message': error_message } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404(" Error ! Unsupported Request..") except (TypeError, NameError, ValueError, AttributeError, KeyError): raise Http404("Error ! Invalid Request Parameters. ") except (VisitPrescription.DoesNotExist): raise Http404("Requested VisitPrescription Does not exist.")
def email_and_fax_add(request, patient_id = None): if request.user: user = request.user try: if patient_id: patient_id = int(patient_id) else: patient_id = int(request.GET.get('patient_id')) patient_detail_obj = PatientDetail.objects.get(pk=patient_id) email_and_fax_obj = EmailAndFax(patient_detail=patient_detail_obj) if request.method == "GET" and request.is_ajax(): email_and_fax_form = EmailAndFaxForm(instance=email_and_fax_obj, auto_id = False ) variable = RequestContext(request, {"user": user, "patient_detail_obj": patient_detail_obj, "email_and_fax_form": email_and_fax_form, "email_and_fax_obj": email_and_fax_obj, }) return render_to_response('email_and_fax/add.html', variable) elif request.method == 'POST' and request.is_ajax(): email_and_fax_form = EmailAndFaxForm(request.POST, instance=email_and_fax_obj) if email_and_fax_form.is_valid(): email_and_fax_object = email_and_fax_form.save() if not getattr(email_and_fax_object,'urls'): email_and_fax_object.generate_urls() success = True error_message = "EmailAndFax Saved Successfully" form_errors = None addData = { "id": email_and_fax_object.id, 'pat_id': email_and_fax_object.patient_detail.id, "email": email_and_fax_object.email, "fax": email_and_fax_object.fax, "web": email_and_fax_object.web, "edit": email_and_fax_object.urls['edit'], "del": email_and_fax_object.urls['del'], } else: success = False error_message = aumodelformerrorformatter_factory(email_and_fax_form) form_errors = error_message addData = None data = {"success": success, "error_message": error_message, "form_errors": form_errors, "addData": addData } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404("BadRequest: Unsupported Request Method") except TypeError or ValueError or AttributeError: raise Http404("BadRequest") except PatientDetail.DoesNotExist: raise Http404("BadRequest: Patient Data Does Not Exist")
def guardian_edit(request, guardian_id): if request.user: user = request.user try: if guardian_id: guardian_id = int(guardian_id) else: guardian_id = int(request.GET.get('guardian_id')) guardian_obj = Guardian.objects.get(pk=guardian_id) patient_detail_obj = guardian_obj.patient_detail if not getattr(guardian_obj, 'urls'): guardian_obj.generate_urls() if request.method == "GET" and request.is_ajax(): guardian_form = GuardianForm(instance=guardian_obj, auto_id=False) variable = RequestContext( request, { "user": user, "patient_detail_obj": patient_detail_obj, "guardian_form": guardian_form, "guardian_obj": guardian_obj, }) return render_to_response('guardian/edit.html', variable) elif request.method == 'POST' and request.is_ajax(): guardian_form = GuardianForm(request.POST, instance=guardian_obj) if guardian_form.is_valid(): guardian_object = guardian_form.save() success = True error_message = "Guardian Saved Successfully" form_errors = None data = { "success": success, "error_message": error_message, "form_errors": form_errors, "id": guardian_object.id, 'pat_id': guardian_object.patient_detail.id, "guardian_name": guardian_object.guardian_name, "relation_to_guardian": guardian_object.relation_to_guardian, "guardian_address": guardian_object.guardian_address, "guardian_city": guardian_object.guardian_city, "guardian_state": guardian_object.guardian_state, "guardian_country": guardian_object.guardian_country, "guardian_zip_code": guardian_object.guardian_zip_code, "guardian_phone": guardian_object.guardian_phone, "next_of_kin": guardian_object.next_of_kin, "emergency_contact": guardian_object.emergency_contact, "edit": guardian_object.urls['edit'], "del": guardian_object.urls['del'] } else: success = False error_message = aumodelformerrorformatter_factory( guardian_form) form_errors = error_message data = { 'success': success, 'error_message': error_message, 'form_errors': form_errors } json = simplejson.dumps(data) return HttpResponse(json, content_type='application/json') else: raise Http404("BadRequest: Unsupported Request Method") except TypeError or ValueError or AttributeError: raise Http404("BadRequest") except Guardian.DoesNotExist: raise Http404("BadRequest: Guardian Data Does Not Exist")
def guardian_add(request, patient_id=None): if request.user: user = request.user try: if patient_id: patient_id = int(patient_id) else: patient_id = int(request.GET.get('patient_id')) patient_detail_obj = PatientDetail.objects.get(pk=patient_id) patient_detail_obj.save() p_urls = patient_detail_obj.urls guardian_obj = Guardian(patient_detail=patient_detail_obj) if request.method == "GET" and request.is_ajax(): guardian_form = GuardianForm(instance=guardian_obj, auto_id=False) variable = RequestContext( request, { "user": user, "patient_detail_obj": patient_detail_obj, "guardian_form": guardian_form, "guardian_obj": guardian_obj, 'addUrl': p_urls['add']['guardian'] }) return render_to_response('guardian/add.html', variable) elif request.method == 'POST' and request.is_ajax(): guardian_form = GuardianForm(request.POST, instance=guardian_obj) if guardian_form.is_valid(): guardian_object = guardian_form.save() if not getattr(guardian_object, 'urls'): guardian_object.generate_urls() success = True error_message = "Guardian Saved Successfully" form_errors = None addData = { "id": guardian_object.id, 'pat_id': guardian_object.patient_detail.id, "guardian_name": guardian_object.guardian_name, "relation_to_guardian": guardian_object.relation_to_guardian, "guardian_phone": guardian_object.guardian_phone, "edit": guardian_object.urls['edit'], "del": guardian_object.urls['del'], } else: success = False error_message = aumodelformerrorformatter_factory( guardian_form) form_errors = error_message addData = None data = { "success": success, "error_message": error_message, "form_errors": form_errors, "addData": addData } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404("BadRequest: Unsupported Request Method") except TypeError or ValueError or AttributeError: raise Http404("BadRequest") except PatientDetail.DoesNotExist: raise Http404("BadRequest: Patient Data Does Not Exist")
def visit_complaint_add(request, visit_id=None): """ Adds a Visit complaint """ user = request.user success = False error_message = None form_errors = [] try: if visit_id: visit_id = int(visit_id) else: visit_id = int(request.GET.get('visit_id')) visit_detail_obj = VisitDetail.objects.get(pk=visit_id) patient_detail_obj = visit_detail_obj.patient_detail visit_complaint_obj = VisitComplaint(visit_detail=visit_detail_obj) if not getattr(patient_detail_obj, 'urls', None): patient_detail_obj.save() if not getattr(visit_detail_obj, 'urls', None): visit_detail_obj.save() if request.method == "GET" and request.is_ajax(): visit_complaint_form = VisitComplaintAddForm( instance=visit_complaint_obj, auto_id="id_add_visit_complaint" + str(visit_id) + "_%s") variable = RequestContext( request, { 'user': user, 'visit_detail_obj': visit_detail_obj, 'visit_complaint_form': visit_complaint_form, 'patient_detail_obj': patient_detail_obj, 'error_message': error_message, 'success': success, }) return render_to_response('visit_complaints/forms/add.html', variable) elif request.method == "POST" and request.is_ajax(): visit_complaint_form = VisitComplaintAddForm( request.POST, instance=visit_complaint_obj) if visit_complaint_form.is_valid(): saved_visit_complaint = visit_complaint_form.save(commit=False) saved_visit_complaint.visit_detail = visit_detail_obj if check_duplicates(saved_visit_complaint, visit_detail_obj): saved_visit_complaint.save() success = True error_message = "Visit Added Successfully" else: success = False error_message = ''' <h4> Visit Could not be Saved as there are duplicate complaints. Please check the forms for errors </h4> ''' else: error_message = ''' <h4> Visit Could not be Saved. Please check the forms for errors </h4> ''' errors += aumodelformerrorformatter_factory( visit_complaint_form) error_message += ('\n' + errors) data = {'success': success, 'error_message': error_message} jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404(" Error ! Unsupported Request..") # except (TypeError, NameError, ValueError, AttributeError, KeyError): # raise Http404("Error ! Invalid Request Parameters. ") except (VisitDetail.DoesNotExist): raise Http404("Requested Visit Does not exist.")
def visit_hpi_add(request, visit_id = None): """ Adds a Visit hpi """ user = request.user success = False error_message = None form_errors = [] try: if visit_id: visit_id = int(visit_id) else: visit_id = int(request.GET.get('visit_id')) visit_detail_obj = VisitDetail.objects.get(pk=visit_id) patient_detail_obj = visit_detail_obj.patient_detail if not getattr(patient_detail_obj, 'urls', None): patient_detail_obj.save() if not getattr(visit_detail_obj, 'urls', None): visit_detail_obj.save() visit_hpi_objs = VisitHPI.objects.filter(visit_detail = visit_detail_obj) if visit_hpi_objs: return visit_hpi_edit(request, visit_hpi_id = visit_hpi_objs[0].id) visit_hpi_obj = VisitHPI(visit_detail=visit_detail_obj) if request.method == "GET" and request.is_ajax(): visit_hpi_form = VisitHPIForm(instance = visit_hpi_obj, auto_id = "id_add_visit_hpi"+ str(visit_id)+"_%s") variable = RequestContext(request, { 'user': user, 'visit_detail_obj': visit_detail_obj, 'visit_hpi_form': visit_hpi_form, 'patient_detail_obj': patient_detail_obj, 'error_message': error_message, 'success': success, 'visit_hpi_action':'add' }) return render_to_response('visit_hpi/add_or_edit_form.html', variable) elif request.method == "POST" and request.is_ajax(): visit_hpi_form = VisitHPIForm(request.POST, instance = visit_hpi_obj) if visit_hpi_form.is_valid() : saved_visit_hpi = visit_hpi_form.save(commit=False) saved_visit_hpi.visit_detail = visit_detail_obj saved_visit_hpi.save() success = True error_message = "History Added Successfully" redirectUrl = saved_visit_hpi.urls['edit'] else: error_message = ''' <h4> History Could not be Saved. Please check the forms for errors </h4> ''' errors += aumodelformerrorformatter_factory(visit_hpi_form) error_message += ('\n' + errors) redirectUrl = None success = False data = {'success': success, 'error_message': error_message, 'redirectUrl': redirectUrl } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404(" Error ! Unsupported Request..") except (TypeError, NameError, ValueError, AttributeError, KeyError): raise Http404("Error ! Invalid Request Parameters. ") except (VisitDetail.DoesNotExist): raise Http404("Requested Visit Does not exist.")
def visit_detail_add(request, patient_id=None, nature="initial"): """ Adds a new VisitDetail Object Takes request and id of PatientDetail object the nature of visit is defaulted to 'initial'. Implementation of separate visits for 'initial' , 'fu' etc.. can be implemented later. """ print "Received request to add VisitDetail" user = request.user success = False error_message = None form_errors = [] try: if patient_id: patient_id = int(patient_id) else: patient_id = int(request.GET.get("patient_id")) patient_detail_obj = PatientDetail.objects.get(pk=patient_id) if not getattr(patient_detail_obj, "urls", None): patient_detail_obj.save() if not patient_detail_obj.can_add_new_visit(patient_detail_obj): error_message = """ Cannot add new visit now. There may be a active admission / visit. Please close that and try again """ raise Http404(error_message) else: print patient_detail_obj, " can add VisitDetail" visit_detail_obj = VisitDetail(patient_detail=patient_detail_obj) if request.method == "GET" and request.is_ajax(): if nature == "initial": visit_detail_form = VisitDetailForm( initial={ "visit_date": datetime.now().date().isoformat(), "consult_nature": "initial", "status": "examining", "op_surgeon": user, }, instance=visit_detail_obj, auto_id="id_new_visit_detail" + str(id) + "_%s", ) if not getattr(patient_detail_obj, "urls", None): patient_detail_obj.save() variable = RequestContext( request, { "user": user, "visit_detail_obj": visit_detail_obj, "visit_detail_form": visit_detail_form, "patient_detail_obj": patient_detail_obj, "error_message": error_message, "success": success, "form_action": "add", }, ) return render_to_response("visit_detail/add_working.html", variable) elif nature == "fu": # TODO pass elif request.method == "POST" and request.is_ajax(): print "Received request to add visit..." visit_detail_form = VisitDetailForm(request.POST, instance=visit_detail_obj) if visit_detail_form.is_valid(): saved_visit = visit_detail_form.save() success = True error_message = "Visit Added Successfully" returnData = { "id": "EDIT_ACTIVE_VISIT_" + str(saved_visit.id), "title": saved_visit.visit_date.date().isoformat(), "url": saved_visit.urls["edit"], } else: error_message = """ <h4> Visit Could not be Saved. Please check the forms for errors </h4> """ errors = aumodelformerrorformatter_factory(visit_detail_form) + "\n" returnData = None data = {"success": success, "error_message": error_message, "returnData": returnData} json = simplejson.dumps(data) return HttpResponse(json, content_type="application/json") else: raise Http404(" Error ! Unsupported Request..") except (TypeError, NameError, ValueError, AttributeError, KeyError): raise Http404("Error ! Invalid Request Parameters. ") except (PatientDetail.DoesNotExist): raise Http404("Requested Patient Does not exist.")
def visit_ros_edit(request, visit_ros_id=None): user = request.user error_message = None try: if visit_ros_id: visit_ros_id = int(visit_ros_id) else: visit_ros_id = int(request.GET.get('visit_ros_id')) visit_ros_obj = VisitROS.objects.get(pk=visit_ros_id) visit_detail_obj = visit_ros_obj.visit_detail patient_detail_obj = visit_detail_obj.patient_detail if not getattr(visit_detail_obj, 'urls', None): visit_detail_obj.save() if not getattr(patient_detail_obj, 'urls', None): patient_detail_obj.save() if not getattr(visit_ros_obj, 'urls', None): visit_ros_obj.save() if request.method == "GET" and request.is_ajax(): visit_ros_form = VisitROSForm(instance=visit_ros_obj, auto_id="id_edit_visit_ros" + str(visit_ros_id) + "_%s") variable = RequestContext( request, { 'user': user, 'visit_detail_obj': visit_detail_obj, 'visit_ros_obj': visit_ros_obj, 'visit_ros_form': visit_ros_form, 'patient_detail_obj': visit_detail_obj.patient_detail, 'error_message': error_message, 'visit_ros_action': 'edit' }) return render_to_response('visit_ros/add_or_edit_form.html', variable) if request.method == "POST" and request.is_ajax(): visit_ros_form = VisitROSForm(request.POST, instance=visit_ros_obj) if visit_ros_form.is_valid(): saved_visit_ros = visit_ros_form.save(commit=False) saved_visit_ros.visit_detail = visit_detail_obj saved_visit_ros.save() success = True error_message = "Visit ROS Edited Successfully" redirectUrl = saved_visit_ros.urls['edit'] else: success = False error_message = ''' <h4> Visit Could not be Saved. Please check the forms for errors </h4> ''' errors += aumodelformerrorformatter_factory(visit_ros_form) error_message += ('\n' + errors) redirectUrl = None data = { 'success': success, 'error_message': error_message, 'redirectUrl': redirectUrl } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404(" Error ! Unsupported Request..") except (TypeError, NameError, ValueError, AttributeError, KeyError): raise Http404("Error ! Invalid Request Parameters. ") except (VisitROS.DoesNotExist): raise Http404("Requested VisitROS Does not exist.")
def guardian_add(request, patient_id = None): if request.user: user = request.user try: if patient_id: patient_id = int(patient_id) else: patient_id = int(request.GET.get('patient_id')) patient_detail_obj = PatientDetail.objects.get(pk=patient_id) patient_detail_obj.save() p_urls = patient_detail_obj.urls guardian_obj = Guardian(patient_detail=patient_detail_obj) if request.method == "GET" and request.is_ajax(): guardian_form = GuardianForm(instance=guardian_obj, auto_id = False ) variable = RequestContext(request, {"user": user, "patient_detail_obj": patient_detail_obj, "guardian_form": guardian_form, "guardian_obj": guardian_obj, 'addUrl': p_urls['add']['guardian'] }) return render_to_response('guardian/add.html', variable) elif request.method == 'POST' and request.is_ajax(): guardian_form = GuardianForm(request.POST, instance=guardian_obj) if guardian_form.is_valid(): guardian_object = guardian_form.save() if not getattr(guardian_object,'urls'): guardian_object.generate_urls() success = True error_message = "Guardian Saved Successfully" form_errors = None addData = { "id": guardian_object.id, 'pat_id': guardian_object.patient_detail.id, "guardian_name": guardian_object.guardian_name, "relation_to_guardian": guardian_object.relation_to_guardian, "guardian_address": guardian_object.guardian_address, "guardian_city": guardian_object.guardian_city, "guardian_state": guardian_object.guardian_state, "guardian_country": guardian_object.guardian_country, "guardian_zip_code": guardian_object.guardian_zip_code, "guardian_phone": guardian_object.guardian_phone, "next_of_kin": guardian_object.next_of_kin, "emergency_contact": guardian_object.emergency_contact, "edit": guardian_object.urls['edit'], "del": guardian_object.urls['del'] } else: success = False error_message = aumodelformerrorformatter_factory(guardian_form) form_errors = error_message addData = None data = {"success": success, "error_message": error_message, "form_errors": form_errors, "addData": addData } json = simplejson.dumps(data) return HttpResponse(json, content_type='application/json') else: raise Http404("BadRequest: Unsupported Request Method") except TypeError or ValueError or AttributeError: raise Http404("BadRequest") except PatientDetail.DoesNotExist: raise Http404("BadRequest: Patient Data Does Not Exist")
def medication_list_add(request, patient_id = None): success = True error_message = None form_errors = None addData = None if request.user: user = request.user try: if patient_id: patient_id = int(patient_id) else: patient_id = int(request.GET.get('patient_id')) patient_detail_obj = PatientDetail.objects.get(pk=patient_id) patient_detail_obj.generate_urls() p_urls = patient_detail_obj.urls medication_list_obj = MedicationList(patient_detail=patient_detail_obj) except TypeError or ValueError or AttributeError: raise Http404("BadRequest") except PatientDetail.DoesNotExist: raise Http404("BadRequest: Patient Data Does Not Exist") if request.method == "GET" and request.is_ajax(): medication_list_form = MedicationListForm( instance=medication_list_obj, auto_id = False ) variable = RequestContext(request, {"user": user, "patient_detail_obj": patient_detail_obj, "medication_list_form": medication_list_form, "medication_list_obj": medication_list_obj, 'addUrl' : p_urls['add']['medication_list'] }) return render_to_response('medication_list/add.html', variable) elif request.method == 'POST' and request.is_ajax(): medication_list_form = MedicationListForm(request.POST, instance=medication_list_obj) if medication_list_form.is_valid(): medication_list_obj = medication_list_form.save() medication_list_obj.generate_urls() m_urls = medication_list_obj.urls print "MedicationList URLS: " print m_urls patient_detail_obj.generate_urls() p_urls = patient_detail_obj.urls fields_list = [field for field in medication_list_obj._meta.fields if field.serialize] success = True error_message = "MedicationList Data Edited Successfully" form_errors = None addData = {f.name:f.value_to_string(medication_list_obj) for f in fields_list} addData['add'] = p_urls['add']['medication_list'] addData['json']= p_urls['json']['medication_list'] addData['edit']= m_urls['edit'] addData['del'] = m_urls['del'] else: success = False error_message = aumodelformerrorformatter_factory(medication_list_form) form_errors = True addData = None data = { 'success': success, 'error_message': error_message, "form_errors": None, "addData": addData } json = simplejson.dumps(data) return HttpResponse(json, content_type='application/json') else: raise Http404("BadRequest: Unsupported Request Method") else: raise Http404("You need to Login")
def contact_add(request, patient_id=None): if request.user: user = request.user try: if patient_id: patient_id = int(patient_id) else: patient_id = int(request.GET.get('patient_id')) patient_detail_obj = PatientDetail.objects.get(pk=patient_id) patient_detail_obj.save() contact_obj = Contact(patient_detail=patient_detail_obj) if not getattr(patient_detail_obj, 'urls', None): patient_detail_obj.save() if request.method == "GET" and request.is_ajax(): contact_form = ContactForm(instance=contact_obj, auto_id=False) variable = RequestContext( request, { "user": user, "patient_detail_obj": patient_detail_obj, "contact_form": contact_form, "contact_obj": contact_obj, }) return render_to_response('contact/add.html', variable) elif request.method == 'POST' and request.is_ajax(): contact_form = ContactForm(request.POST, instance=contact_obj) if contact_form.is_valid(): contact_object = contact_form.save() if not getattr(contact_object, 'urls'): contact_object.generate_urls() success = True error_message = "Contact Saved Successfully" form_errors = None addData = { "id": contact_object.id, 'pat_id': contact_object.patient_detail.id, "address_type": contact_object.address_type, "address": contact_object.address, "city": contact_object.city, "state": contact_object.state, "country": contact_object.country, "zip_code": contact_object.zip_code, "edit": contact_object.urls['edit'], "del": contact_object.urls['del'], } else: success = False error_message = aumodelformerrorformatter_factory( contact_form) form_errors = error_message addData = None data = { "success": success, "error_message": error_message, "form_errors": form_errors, "addData": addData } json = simplejson.dumps(data) return HttpResponse(json, content_type='application/json') else: raise Http404("BadRequest: Unsupported Request Method") except TypeError or ValueError or AttributeError: raise Http404("BadRequest") except PatientDetail.DoesNotExist: raise Http404("BadRequest: Patient Data Does Not Exist")
def contact_edit(request, contact_id = None): print "Received request for editing Contact" if request.user: user = request.user try: if contact_id: contact_id = int(contact_id) else: contact_id = int(request.GET.get('contact_id')) contact_obj = Contact.objects.get(pk=contact_id) patient_detail_obj = contact_obj.patient_detail if not getattr(contact_obj,'urls'): contact_obj.generate_urls() if request.method == "GET" and request.is_ajax(): contact_form = ContactForm(instance=contact_obj, auto_id = False) variable = RequestContext(request, {"user": user, "patient_detail_obj": patient_detail_obj, "contact_form": contact_form, "contact_obj": contact_obj, }) return render_to_response('contact/edit.html', variable) elif request.method == 'POST' and request.is_ajax(): contact_form = ContactForm(request.POST, instance=contact_obj) if contact_form.is_valid(): #print "now there are " , len(Contact.objects.all()), " Contact objects" contact_object = contact_form.save() #print "now there are " , len(Contact.objects.all()), " Contact objects" success = True error_message = "Contact Saved Successfully" form_errors = None data = {"success": success, "error_message": error_message, "form_errors": form_errors, "id": contact_object.id, 'pat_id': contact_object.patient_detail.id, "address_type": contact_object.address_type, "address": contact_object.address, "city": contact_object.city, "state": contact_object.state, "country": contact_object.country, "pincode": contact_object.pincode, "edit": contact_object.urls['edit'], "del": contact_object.urls['del'] } else: success = False error_message = aumodelformerrorformatter_factory(contact_form) form_errors = error_message data = {'success' : success, 'error_message' : error_message, 'form_errors' : form_errors } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404("BadRequest: Unsupported Request Method") except TypeError or ValueError or AttributeError: raise Http404("BadRequest") except Contact.DoesNotExist: raise Http404("BadRequest: Contact Data Does Not Exist")
def social_history_add(request, patient_id=None): if request.user: user = request.user try: if patient_id: patient_id = int(patient_id) else: patient_id = int(request.GET.get('patient_id')) patient_detail_obj = PatientDetail.objects.get(pk=patient_id) #patient_detail_obj.generate_urls() if not getattr(patient_detail_obj, 'urls', None): patient_detail_obj.save() social_history_obj = SocialHistory.objects.filter( patient_detail=patient_detail_obj) if social_history_obj: return social_history_edit(request, social_history_obj[0].id) else: social_history_obj = SocialHistory( patient_detail=patient_detail_obj) if request.method == "GET" and request.is_ajax(): social_history_form = SocialHistoryForm( instance=social_history_obj) variable = RequestContext( request, { "user": user, "patient_detail_obj": patient_detail_obj, "social_history_form": social_history_form, "social_history_obj": social_history_obj, 'button_label': "Add", "action": patient_detail_obj.urls['add']['social_history'], "addUrl": patient_detail_obj.urls['add']['social_history'], 'canDel': False, 'editUrl': None, 'delUrl': None }) return render_to_response( 'social_history/add_or_edit_form.html', variable) elif request.method == 'POST' and request.is_ajax(): copy_post = request.POST.copy() #print "Received POST Request with", request.POST #print "Home Occupants received are", copy_post.getlist('home_occupants') copy_post['home_occupants'] = ",".join( copy_post.getlist('home_occupants')) copy_post['pets'] = ",".join(copy_post.getlist('pets')) social_history_form = SocialHistoryForm( copy_post, instance=social_history_obj) if social_history_form.is_valid(): try: social_history_obj = social_history_form.save() success = True error_message = "SocialHistory Data Added Successfully" form_errors = None addData = { "marital_status": social_history_obj.marital_status, "marital_status_notes": social_history_obj.marital_status_notes, "occupation": social_history_obj.occupation, "occupation_notes": social_history_obj.occupation_notes, "exercise": social_history_obj.exercise, "exercise_notes": social_history_obj.exercise_notes, "diet": social_history_obj.diet, "diet_notes": social_history_obj.diet_notes, "home_occupants": social_history_obj.home_occupants, "home_occupants_notes": social_history_obj.home_occupants_notes, "pets": social_history_obj.pets, "pets_notes": social_history_obj.pets_notes, "alcohol": social_history_obj.alcohol, "alcohol_no": social_history_obj.alcohol_no, "alcohol_notes": social_history_obj.alcohol_notes, "tobacco": social_history_obj.tobacco, "tobacco_no": social_history_obj.tobacco_no, "tobacco_notes": social_history_obj.tobacco_notes, "drug_abuse": social_history_obj.drug_abuse, "drug_abuse_notes": social_history_obj.drug_abuse_notes, "sexual_preference": social_history_obj.sexual_preference, "sexual_preference_notes": social_history_obj.sexual_preference_notes, "current_events": social_history_obj.current_events } if not hasattr(social_history_obj, 'urls'): social_history_obj.save() urls = social_history_obj.urls data = { 'success': success, 'error_message': error_message, 'form_errors': form_errors, 'canDel': True, 'addUrl': None, "addData": addData, 'editUrl': social_history_obj.urls['edit'], 'delUrl': social_history_obj.urls['del'], } except (Exception("SocialHistoryExistsError")): data = { 'success': False, 'error_message': "Social History Already Exists ! Cannot add More", 'form_errors': error_message, 'addData': None } else: error_message = aumodelformerrorformatter_factory( social_history_form) data = { 'success': False, 'error_message': error_message, 'form_errors': error_message, 'addData': None } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404( "BadRequest: Unsupported Request Method. AJAX status is:: " + unicode(request.is_ajax())) except TypeError or ValueError or AttributeError: raise Http404("BadRequest") except (PatientDetail.DoesNotExist): raise Http404("BadRequest: Patient Data Does Not Exist")
def immunisation_edit(request, immunisation_id = None): if request.user: user = request.user try: immunisation_id = int(immunisation_id) immunisation_obj = Immunisation.objects.get(pk= immunisation_id) patient_detail_obj = immunisation_obj.patient_detail if not getattr(immunisation_obj, 'urls', None): immunisation_obj.save() #immunisation_obj.generate_urls() m_urls = immunisation_obj.urls if not getattr(patient_detail_obj, 'urls', None): patient_detail_obj.save() except TypeError or ValueError or AttributeError: raise Http404("BadRequest") except Immunisation.DoesNotExist: raise Http404("BadRequest: Patient Data Does Not Exist") if request.method == "GET" and request.is_ajax(): print "Received request for Editing Immunisation" #print "Immunisation URLS is, ", m_urls immunisation_form = ImmunisationForm(instance=immunisation_obj, auto_id = False ) variable = RequestContext(request, { "user": user, "patient_detail_obj" : immunisation_obj.patient_detail, "immunisation_form": immunisation_form, "immunisation_obj" : immunisation_obj, 'editUrl' : m_urls['edit'], 'delUrl' : m_urls['del'], }) return render_to_response('immunisation/edit.html', variable) elif request.method == 'POST' and request.is_ajax(): immunisation_form = ImmunisationForm(request.POST, instance=immunisation_obj) if immunisation_form.is_valid(): immunisation_obj = immunisation_form.save() #immunisation_obj.generate_urls() m_urls = immunisation_obj.urls #immunisation_obj.patient_detail.generate_urls() p_urls = immunisation_obj.patient_detail.urls fields_list = [field for field in immunisation_obj._meta.fields if field.serialize] success = True error_message = "Immunisation Data Edited Successfully" form_errors = None addData = {f.name:f.value_to_string(immunisation_obj) for f in fields_list} addData['add'] = p_urls['add']['immunisation'] addData['json']= p_urls['json']['immunisation'] addData['edit']= m_urls['edit'] addData['del'] = m_urls['del'] else: success = False error_message = aumodelformerrorformatter_factory(immunisation_form) form_errors = True addData = None data = { 'success': success, 'error_message': error_message, "form_errors": None, "addData": addData } json = simplejson.dumps(data) return HttpResponse(json, content_type='application/json') else: raise Http404("BadRequest: Unsupported Request Method") else: raise Http404("You need to Login")
def allergy_list_edit(request, allergy_list_id=None): if request.user: user = request.user try: allergy_list_id = int(allergy_list_id) allergy_list_obj = Allergy.objects.get(pk=allergy_list_id) allergy_list_obj.generate_urls() m_urls = allergy_list_obj.urls except TypeError or ValueError or AttributeError: raise Http404("BadRequest") except Allergy.DoesNotExist: raise Http404("BadRequest: Patient Data Does Not Exist") if request.method == "GET" and request.is_ajax(): print "Received request for Editing Allergy" print "Allergy URLS is, ", m_urls allergy_list_form = AllergyForm(instance=allergy_list_obj, auto_id=False) variable = RequestContext( request, { "user": user, "patient_detail_obj": allergy_list_obj.patient_detail, "allergy_list_form": allergy_list_form, "allergy_list_obj": allergy_list_obj, 'editUrl': m_urls['edit'], 'delUrl': m_urls['del'], }) return render_to_response('allergy_list/edit.html', variable) elif request.method == 'POST' and request.is_ajax(): allergy_list_form = AllergyForm(request.POST, instance=allergy_list_obj) if allergy_list_form.is_valid(): allergy_list_obj = allergy_list_form.save() allergy_list_obj.generate_urls() m_urls = allergy_list_obj.urls allergy_list_obj.patient_detail.generate_urls() p_urls = allergy_list_obj.patient_detail.urls fields_list = [ field for field in allergy_list_obj._meta.fields if field.serialize ] success = True error_message = "Allergy Data Edited Successfully" form_errors = None addData = { f.name: f.value_to_string(allergy_list_obj) for f in fields_list } addData['add'] = p_urls['add']['allergy_list'] addData['json'] = p_urls['json']['allergy_list'] addData['edit'] = m_urls['edit'] addData['del'] = m_urls['del'] else: success = False error_message = aumodelformerrorformatter_factory( allergy_list_form) form_errors = True addData = None data = { 'success': success, 'error_message': error_message, "form_errors": None, "addData": addData } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404("BadRequest: Unsupported Request Method") else: raise Http404("You need to Login")
def visit_detail_add(request, patient_id = None, nature='initial'): """ Adds a new VisitDetail Object Takes request and id of PatientDetail object the nature of visit is defaulted to 'initial'. Implementation of separate visits for 'initial' , 'fu' etc.. can be implemented later. """ print "Received request to add VisitDetail" user = request.user success = False error_message = None form_errors = [] try: if patient_id: patient_id = int(patient_id) else: patient_id = int(request.GET.get('patient_id')) patient_detail_obj = PatientDetail.objects.get(pk=patient_id) if not getattr(patient_detail_obj, 'urls', None): patient_detail_obj.save() if not patient_detail_obj.can_add_new_visit(patient_detail_obj): error_message = ''' Cannot add new visit now. There may be a active admission / visit. Please close that and try again ''' raise Http404(error_message) else: print patient_detail_obj, " can add VisitDetail" visit_detail_obj = VisitDetail(patient_detail=patient_detail_obj) if request.method == "GET" and request.is_ajax(): if nature == 'initial': visit_detail_form = VisitDetailForm(initial={'visit_date': datetime.now().date().isoformat(), 'consult_nature': 'initial', 'status': 'examining', 'op_surgeon': user }, instance = visit_detail_obj, auto_id = "id_new_visit_detail" + str(id) + "_%s") if not getattr(patient_detail_obj, 'urls' , None): patient_detail_obj.save() variable = RequestContext( request, { 'user': user, 'visit_detail_obj': visit_detail_obj, 'visit_detail_form': visit_detail_form, 'patient_detail_obj': patient_detail_obj, 'error_message': error_message, 'success': success, 'form_action':'add' }) return render_to_response('visit_detail/add_working.html', variable) elif nature == 'fu': # TODO pass elif request.method == "POST" and request.is_ajax(): print "Received request to add visit..." visit_detail_form = VisitDetailForm(request.POST, instance=visit_detail_obj) if visit_detail_form.is_valid(): saved_visit = visit_detail_form.save(commit=False) saved_visit.op_surgeon = user.staff saved_visit.save() success = True error_message = "Visit Added Successfully" returnData = {'id': 'EDIT_ACTIVE_VISIT_'+ str(saved_visit.id), 'title': saved_visit.visit_date.date().isoformat(), 'url': saved_visit.urls['edit'] } else: error_message = ''' <h4> Visit Could not be Saved. Please check the forms for errors </h4> ''' errors = aumodelformerrorformatter_factory(visit_detail_form) + '\n' returnData = None data = {'success': success, 'error_message': error_message, 'returnData' : returnData } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404(" Error ! Unsupported Request..") except (TypeError, NameError, ValueError, AttributeError, KeyError): raise Http404("Error ! Invalid Request Parameters. ") except (PatientDetail.DoesNotExist): raise Http404("Requested Patient Does not exist.")
def surgical_history_add(request, patient_id=None): success = True error_message = None form_errors = None addData = None if request.user: user = request.user try: if patient_id: patient_id = int(patient_id) else: patient_id = int(request.GET.get('patient_id')) patient_detail_obj = PatientDetail.objects.get(pk=patient_id) #patient_detail_obj.generate_urls() if not getattr(patient_detail_obj, 'urls', None): patient_detail_obj.save() p_urls = patient_detail_obj.urls surgical_history_obj = SurgicalHistory( patient_detail=patient_detail_obj) except TypeError or ValueError or AttributeError: raise Http404("BadRequest") except PatientDetail.DoesNotExist: raise Http404("BadRequest: Patient Data Does Not Exist") if request.method == "GET" and request.is_ajax(): surgical_history_form = SurgicalHistoryForm( instance=surgical_history_obj, auto_id=False) variable = RequestContext( request, { "user": user, "patient_detail_obj": patient_detail_obj, "surgical_history_form": surgical_history_form, "surgical_history_obj": surgical_history_obj, 'addUrl': p_urls['add']['surgical_history'] }) return render_to_response('surgical_history/add.html', variable) elif request.method == 'POST' and request.is_ajax(): surgical_history_form = SurgicalHistoryForm( request.POST, instance=surgical_history_obj) if surgical_history_form.is_valid(): surgical_history_obj = surgical_history_form.save() #surgical_history_obj.generate_urls() m_urls = surgical_history_obj.urls print "Surgical History URLS: " print m_urls #patient_detail_obj.generate_urls() p_urls = patient_detail_obj.urls fields_list = [ field for field in surgical_history_obj._meta.fields if field.serialize ] success = True error_message = "Surgical History Data Edited Successfully" form_errors = None addData = { f.name: f.value_to_string(surgical_history_obj) for f in fields_list } addData['add'] = p_urls['add']['surgical_history'] addData['json'] = p_urls['json']['surgical_history'] addData['edit'] = m_urls['edit'] addData['del'] = m_urls['del'] else: success = False error_message = aumodelformerrorformatter_factory( surgical_history_form) form_errors = True addData = None data = { 'success': success, 'error_message': error_message, "form_errors": None, "addData": addData } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404("BadRequest: Unsupported Request Method") else: raise Http404("You need to Login")
def visit_detail_edit(request, visit_id = None): user = request.user error_message = None success = False try: if visit_id: visit_id = int(visit_id) else: visit_id = int(request.GET.get('visit_id')) visit_detail_obj = VisitDetail.objects.get(pk=visit_id) patient_detail_obj = visit_detail_obj.patient_detail form_field_auto_id = 'id_edit_visit_detail_' + str(visit_id) data = {'visit_date': visit_detail_obj.visit_date.date().isoformat()} if not getattr(visit_detail_obj,'urls',None): visit_detail_obj.save() if not getattr(patient_detail_obj, 'urls', None): patient_detail_obj.save() if request.method == "GET" and request.is_ajax(): visit_detail_form = VisitDetailForm(initial=data, instance=visit_detail_obj, auto_id=form_field_auto_id + "_%s" ) variable = RequestContext(request, {'user': user, 'visit_detail_obj': visit_detail_obj, 'visit_detail_form': visit_detail_form, 'patient_detail_obj': patient_detail_obj, 'error_message': error_message, 'form_action':'edit' }) return render_to_response('visit_detail/edit.html', variable) elif request.method == "POST" and request.is_ajax(): visit_detail_form = VisitDetailForm(request.POST, instance=visit_detail_obj) if visit_detail_form.is_valid(): saved_visit = visit_detail_form.save(commit=False) saved_visit.op_surgeon = user.staff saved_visit.save() success = True error_message = "Visit Edited Successfully" else: error_message = ''' <h4> Visit Could not be Saved. Please check the forms for errors </h4> ''' errors = aumodelformerrorformatter_factory(visit_detail_form) + '\n' error_message += ('\n' + errors) data = {'success': success, 'error_message': error_message } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404(" Error ! Unsupported Request..") #except (TypeError, NameError, ValueError, AttributeError, KeyError): #raise Http404("Error ! Invalid Request Parameters. ") except (VisitDetail.DoesNotExist): raise Http404("Requested Patient Does not exist.")
def contact_add(request, patient_id = None): if request.user: user = request.user try: if patient_id: patient_id = int(patient_id) else: patient_id = int(request.GET.get('patient_id')) patient_detail_obj = PatientDetail.objects.get(pk=patient_id) patient_detail_obj.save() contact_obj = Contact(patient_detail=patient_detail_obj) if not getattr(patient_detail_obj, 'urls', None): patient_detail_obj.save() if request.method == "GET" and request.is_ajax(): contact_form = ContactForm(instance=contact_obj, auto_id = False) variable = RequestContext(request, {"user": user, "patient_detail_obj": patient_detail_obj, "contact_form": contact_form, "contact_obj": contact_obj, }) return render_to_response('contact/add.html', variable) elif request.method == 'POST' and request.is_ajax(): contact_form = ContactForm(request.POST, instance=contact_obj) if contact_form.is_valid(): contact_object = contact_form.save() if not getattr(contact_object,'urls'): contact_object.generate_urls() success = True error_message = "Contact Saved Successfully" form_errors = None addData = { "id": contact_object.id, 'pat_id': contact_object.patient_detail.id, "address_type": contact_object.address_type, "address": contact_object.address, "city": contact_object.city, "state": contact_object.state, "country": contact_object.country, "pincode": contact_object.pincode, "edit": contact_object.urls['edit'], "del": contact_object.urls['del'], } else: success = False error_message = aumodelformerrorformatter_factory(contact_form) form_errors = error_message addData = None data = {"success": success, "error_message": error_message, "form_errors": form_errors, "addData": addData } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404("BadRequest: Unsupported Request Method") except TypeError or ValueError or AttributeError: raise Http404("BadRequest") except PatientDetail.DoesNotExist: raise Http404("BadRequest: Patient Data Does Not Exist")
def allergy_list_edit(request, allergy_list_id = None): if request.user: user = request.user try: allergy_list_id = int(allergy_list_id) allergy_list_obj = Allergy.objects.get(pk= allergy_list_id) allergy_list_obj.generate_urls() m_urls = allergy_list_obj.urls except TypeError or ValueError or AttributeError: raise Http404("BadRequest") except Allergy.DoesNotExist: raise Http404("BadRequest: Patient Data Does Not Exist") if request.method == "GET" and request.is_ajax(): print "Received request for Editing Allergy" print "Allergy URLS is, ", m_urls allergy_list_form = AllergyForm(instance=allergy_list_obj, auto_id = False ) variable = RequestContext(request, { "user": user, "patient_detail_obj" : allergy_list_obj.patient_detail, "allergy_list_form": allergy_list_form, "allergy_list_obj" : allergy_list_obj, 'editUrl' : m_urls['edit'], 'delUrl' : m_urls['del'], }) return render_to_response('allergy_list/edit.html', variable) elif request.method == 'POST' and request.is_ajax(): allergy_list_form = AllergyForm(request.POST, instance=allergy_list_obj) if allergy_list_form.is_valid(): allergy_list_obj = allergy_list_form.save() allergy_list_obj.generate_urls() m_urls = allergy_list_obj.urls allergy_list_obj.patient_detail.generate_urls() p_urls = allergy_list_obj.patient_detail.urls fields_list = [field for field in allergy_list_obj._meta.fields if field.serialize] success = True error_message = "Allergy Data Edited Successfully" form_errors = None addData = {f.name:f.value_to_string(allergy_list_obj) for f in fields_list} addData['add'] = p_urls['add']['allergy_list'] addData['json']= p_urls['json']['allergy_list'] addData['edit']= m_urls['edit'] addData['del'] = m_urls['del'] else: success = False error_message = aumodelformerrorformatter_factory(allergy_list_form) form_errors = True addData = None data = { 'success': success, 'error_message': error_message, "form_errors": None, "addData": addData } jsondata = json.dumps(data) return HttpResponse(jsondata, content_type='application/json') else: raise Http404("BadRequest: Unsupported Request Method") else: raise Http404("You need to Login")