Ejemplo n.º 1
0
def send_email(share_info, profile_id, disease):
	from email.mime.audio import MIMEAudio
	from email.mime.base import MIMEBase
	from email.mime.image import MIMEImage
	from email.mime.text import MIMEText
	import mimetypes
	import datetime

	attachments = []
	file_name = disease + '.pdf'
	files = os.path.join(get_files_path(), profile_id, file_name)

	attachments.append({
			"fname": files,
			"fcontent": file(files).read()
		})

	if attachments:
		msg = """Disease Name is %(event)s <br>
				Provider Name is %(provider_name)s <br>
				<hr>
					%(event_body)s <br>
					Please see attachment <br>
			"""%{'event': disease, 'provider_name': share_info.get('doctor_name'), 
			'event_body': share_info.get('email_body')}
		
		from frappe.utils.email_lib import sendmail

		sendmail([share_info.get('email_id')], subject="PHR-Disease Monitoring Data", msg=cstr(msg),
				attachments=attachments)

		make_log(profile_id, "Disease Monitoring", "Shared Via Email to provider %s"% share_info.get('doctor_name') , "DM of <b style='color: #89c148;'>%s</b> Shared Via Email to provider %s"%(disease,share_info.get('doctor_name')))
		return {"returncode":1,"message_display":"Disease Monitoring records has been shared"}
Ejemplo n.º 2
0
def add_profile_to_db(data, profile_id):
    res = json.loads(data)
    actdata = res['actualdata']
    dt = json.loads(actdata)
    sub = dt['person_firstname'] + " " + dt[
        'person_lastname'] + " " + "delinked Successfully"
    make_log(profile_id, "profile", "delink", sub)
    args = {
        'person_firstname': dt['person_firstname'],
        'person_middlename': dt['person_middlename'],
        'person_lastname': dt['person_lastname'],
        'email': dt['email'],
        'mobile': dt['mobile'],
        'received_from': 'Desktop',
        'provider': 'false'
    }
    cie = frappe.db.get_value("LinkedPHR Images",
                              {"profile_id": res['entityid']}, "barcode")
    path = ""
    if cie:
        path = cie
    else:
        path = ""
    ret_res = create_profile_in_db(res['entityid'], args, res, path)
    user = frappe.get_doc("User", frappe.session.user)
    send_phrs_mail(user.email, "PHR:Linked PHR Account Delinked",
                   "templates/emails/delink_phr.html",
                   {"name": args['person_firstname']})
    sub = dt['person_firstname'] + " " + dt[
        'person_lastname'] + " " + "Profile Created Successfully"
    make_log(profile_id, "profile", "create", sub)
    return ret_res
Ejemplo n.º 3
0
def manage_dashboard(data,dashboard=None):
	obj = json.loads(data)
	dashboard_fields = json.loads(dashboard)
	sr = frappe.db.get_value("Shortcut",{"profile_id":obj.get('entityid')},"name")
	if sr:
		frappe.db.sql("""update `tabShortcut` set 
			visits=0,events=0,
			medications=0,disease_monitoring=0, 
			appointments=0,messages=0  
			where name='%s'"""%(sr))
		update_values(dashboard_fields,sr,obj.get('entityid'))
		sub = "Dashboard Configuration Done"
		make_log(obj.get('entityid'),"profile","Dashboard",sub)
		return "Dashboard Configuration Updated"
	else:
		sr = frappe.get_doc({
			"doctype":"Shortcut",
			"profile_id":obj.get('entityid'),	
			"created_via": "Web"
		})
		sr.ignore_permissions = True
		sr.insert()
		update_values(dashboard_fields,sr.name,obj.get('entityid'))
		sub = "Dashboard Configuration Done"
		make_log(obj.get('entityid'),"profile","Dashboard",sub)
		return "Dashboard Configuration Done"
Ejemplo n.º 4
0
def create_event(data):
	response = ''
	request_type="POST"
	url = "%s/createEvent"%get_base_url()

	event_data={
			"event_title": data.get('event_title'),
			"profile_id": data.get('profile_id'),
			"str_event_date": data.get('event_date'),
			"received_from": "Desktop",
			"event_symptoms" : data.get('complaints'),
			"event_descripton": data.get('event_descripton')
		}

	event_date = datetime.datetime.strptime(event_data.get('str_event_date'), "%d/%m/%Y").strftime('%Y-%m-%d')
	
	if date_diff(event_date, nowdate()) > 0:
		frappe.msgprint("Event Date should be past or current")
		return {"exe":"Event Date should be past or current"}

	else:
		response=get_response(url, json.dumps(event_data), request_type)
		make_log(json.loads(response.text).get('entityid'),"Event","Create","Event Created")

	return json.loads(response.text)
Ejemplo n.º 5
0
def create_event(data):
    response = ''
    request_type = "POST"
    url = "%s/createEvent" % get_base_url()

    event_data = {
        "event_title": data.get('event_title'),
        "profile_id": data.get('profile_id'),
        "str_event_date": data.get('event_date'),
        "received_from": "Desktop",
        "event_symptoms": data.get('complaints'),
        "event_descripton": data.get('event_descripton')
    }

    event_date = datetime.datetime.strptime(event_data.get('str_event_date'),
                                            "%d/%m/%Y").strftime('%Y-%m-%d')

    if date_diff(event_date, nowdate()) > 0:
        frappe.msgprint("Event Date should be past or current")
        return {"exe": "Event Date should be past or current"}

    else:
        response = get_response(url, json.dumps(event_data), request_type)
        make_log(
            json.loads(response.text).get('entityid'), "Event", "Create",
            "Event Created")

    return json.loads(response.text)
Ejemplo n.º 6
0
def share_via_email(data):
	attachments = []
	files = data.get('files')
	for fl in files:
		fname = os.path.join(get_files_path(), fl)

		attachments.append({
				"fname": fname,
				"fcontent": file(fname).read()
			})

	if attachments:
		msg = """Event Name is %(event)s <br>
				Event Date is %(event_date)s <br>
				Provider Name is %(provider_name)s <br>
				Sharing reason is %(reason)s <br>
				<hr>
					%(event_body)s <br>
					Please find below attachment(s) <br>
			"""%{'event': data.get('event_title'), 'event_date': data.get('event_date'), 
				'provider_name': data.get('doctor_name'), 'event_body': data.get('email_body'), 'reason': data.get('reason')}
		
		from frappe.utils.email_lib import sendmail

		sendmail([data.get('email_id')], subject="PHR-Event Data", msg=cstr(msg),
				attachments=attachments)

		make_log(data.get('profile_id'),"Event","Shared Via Email","Event Shared Via Email to %s"%(data.get('email_id')))

		return """Selected image(s) has been shared with 
			%(provider_name)s for event %(event)s """%{
				'event': data.get('event_title'),
				'provider_name': data.get('doctor_name')}
	else:
		return 'Please select file(s) for sharing'
Ejemplo n.º 7
0
def share_via_email(data):
	attachments = []
	files = data.get('files')
	patient_name = frappe.db.get_value("User", {"profile_id":data.get('profile_id')}, 'concat(first_name, " ", last_name)') or  data.get('lphr_name')
	for fl in files:
		fname = os.path.join(get_files_path(), fl)
		attachments.append({
				"fname": fname.split('/')[-1:][0],
				"fcontent": file(fname).read()
			})

	if attachments:
		msg = """Event Name is %(event)s <br>
				Event Date is %(event_date)s <br>
				Provider Name is %(provider_name)s <br>
				Sharing reason is %(reason)s <br>
				<hr>
					%(event_body)s <br>
					Please find below attachment(s) <br>
			"""%{'event': data.get('event_title'), 'event_date': data.get('event_date') or data.get("str_visit_date"), 
				'provider_name': data.get('doctor_name'), 'event_body': data.get('email_body'), 'reason': data.get('reason')}
		
		from frappe.utils.email_lib import sendmail

		sendmail([data.get('email_id')], subject="PHR-Event Data", msg=cstr(msg),
				attachments=attachments)

		make_log(data.get('profile_id'),"Event","Shared Via Email","Event <b style='color: #89c148;'>%s</b> Shared Via Email %s"%(data.get('event_title'), data.get('email_id')))
		# args = {"patient":patient_name,"email":data.get('email_id')}
		# notify_provider(data.get('doctor_id'),data.get('profile_id'),"Event Share Email",args)
		return { "returncode":1,"message_summary":"Selected image(s) has been shared with %(provider_name)s for event %(event)s "%{'event': data.get('event_title'),'provider_name': data.get('doctor_name')}}
	else:
		return {"returncode":0,"message_summary":"Please select file(s) for sharing"}
Ejemplo n.º 8
0
def update_profile_solr(data, dashboard=None):
    request_type = "POST"
    user_details = json.loads(data)
    if not_duplicate_contact(user_details.get('mobile'),
                             user_details.get('email')):
        url = get_base_url() + "/updateProfile"
        from phr.phr.phr_api import get_response
        response = get_response(url, data, request_type)
        res = json.loads(response.text)
        profile = json.loads(data)
        if res['returncode'] == 102:
            sub = "Profile Updated Successfully"
            make_log(profile.get('entityid'), "profile", "update", sub)
            update_user_details(profile)
            mob_code = make_mv_entry(user_details.get('mobile'),
                                     profile.get('entityid'))
            return {
                "rtcode": 100,
                "msg": "Profile Updated Successfully",
                "mob_no": user_details.get('mobile'),
                "user": user_details.get('email'),
                "mobile_code": mob_code
            }
        else:
            return {"rtcode": 101, "msg": "Error While Updating Profile"}
    else:
        return {
            "rtcode":
            201,
            "msg":
            "Maintioned contact number is already registered with another profile."
        }
Ejemplo n.º 9
0
def manage_dashboard(data, dashboard=None):
    obj = json.loads(data)
    dashboard_fields = json.loads(dashboard)
    sr = frappe.db.get_value("Shortcut", {"profile_id": obj.get('entityid')},
                             "name")
    if sr:
        frappe.db.sql("""update `tabShortcut` set 
			visits=0,events=0,
			medications=0,disease_monitoring=0, 
			appointments=0,messages=0  
			where name='%s'""" % (sr))
        update_values(dashboard_fields, sr, obj.get('entityid'))
        sub = "Dashboard Configuration Done"
        make_log(obj.get('entityid'), "profile", "Dashboard", sub)
        return "Dashboard Configuration Updated"
    else:
        sr = frappe.get_doc({
            "doctype": "Shortcut",
            "profile_id": obj.get('entityid'),
            "created_via": "Web"
        })
        sr.ignore_permissions = True
        sr.insert()
        update_values(dashboard_fields, sr.name, obj.get('entityid'))
        sub = "Dashboard Configuration Done"
        make_log(obj.get('entityid'), "profile", "Dashboard", sub)
        return "Dashboard Configuration Done"
Ejemplo n.º 10
0
def manage_notifications(data, dashboard=None):
    obj = json.loads(data)
    dashboard_fields = json.loads(dashboard)
    mn = frappe.db.get_value("Notification Configuration",
                             {"profile_id": obj.get('entityid')}, "name")
    if mn:
        frappe.db.sql(
            """update `tabNotification Configuration` set linked_phr=0,to_do=0 where name='%s'"""
            % (mn))
        update_values_notify(dashboard_fields, mn, obj.get('entityid'))
        sub = "Notifications Configuration Done"
        make_log(obj.get('entityid'), "profile", "Notifications", sub)
        return "Notification Settings Updated"
    else:
        mn = frappe.get_doc({
            "doctype": "Notification Configuration",
            "profile_id": obj.get('entityid'),
            "created_via": "Web"
        })
        mn.ignore_permissions = True
        mn.insert()
        update_values_notify(dashboard_fields, mn.name, obj.get('entityid'))
        sub = "Notifications Configuration Done"
        make_log(obj.get('entityid'), "profile", "Notifications", sub)
        return "Notification Settings Done"
Ejemplo n.º 11
0
def make_medication_entry(data):
	c_medication=save_data(data)
	response=get_medication_data(data)
	medication=json.loads(data)
	sub="Medication for"+" "+medication.get('medicine_name')+" created"
	make_log(medication.get('profile_id'),"Medication","create",sub)
	return response
Ejemplo n.º 12
0
def make_appomiments_entry(data):
    c_medication = save_data(data)
    response = get_appointments(data)
    appointment = json.loads(data)
    sub = "Appointment created with" + " " + appointment.get('provider')
    make_log(appointment.get('profile_id'), "Appointment", "create", sub)
    return response
Ejemplo n.º 13
0
def add_profile_to_db(data,profile_id):
	res = json.loads(data)
	actdata = res['actualdata']		
	dt = json.loads(actdata)
	sub = dt['person_firstname']+" "+dt['person_lastname']+" "+"delinked Successfully"
	make_log(profile_id,"profile","delink",sub)
	args = {'person_firstname':dt['person_firstname'],'person_middlename':dt['person_middlename'],'person_lastname':dt['person_lastname'],'email':dt['email'],'mobile':dt['mobile'],'received_from':'Desktop','provider':'false'}
	
	cie = frappe.db.get_value("LinkedPHR Images",{"profile_id":res['entityid']}, ["barcode", "profile_image"], as_dict=1)

	path = ""
	if cie.get('barcode'):
		path = cie.get('barcode')
	else:
		path = ""

	if cie.get('profile_image'):
		args['user_image'] = cie.get('profile_image')
	else:
		args['user_image']= ""

	ret_res = create_profile_in_db(res['entityid'],args,res,path)
	user = frappe.get_doc("User",frappe.session.user)
	send_phrs_mail(user.email,"PHR:Linked PHR Account Delinked","templates/emails/delink_phr.html",{"name":args['person_firstname']})
	msg = get_sms_template("delink",{"phr_name":args['person_firstname']})
	if user.contact:
		rec_list = []
		rec_list.append(user.contact)
		send_sms(rec_list,msg=msg)
	sub = dt['person_firstname']+" "+dt['person_lastname']+" "+"Profile Created Successfully"
	make_log(profile_id,"profile","create",sub)
	return ret_res
Ejemplo n.º 14
0
def make_medication_entry(data):
    mdata = json.loads(data)

    if day_exists(data):
        try:
            c_medication = save_data(data)

            if mdata.get('received_from') and mdata.get(
                    'received_from') == "Mobile":
                response = c_medication
            else:
                response = get_medication_data(data)

            medication = json.loads(data)
            sub = "Medication for" + " " + medication.get(
                'medicine_name') + " created"
            make_log(medication.get('profile_id'), "Medication", "create", sub)
            return response
        except ValueError:
            msg = "Unexpected error: Invalid Date"
            return {"exe": msg}
        except:
            msg = "Unexpected error: %s " % sys.exc_info()[0]
            return {"exe": msg}
    else:
        return {'exe': 'Selected day is not in specified date range'}
Ejemplo n.º 15
0
def update_values_notify(dashboard_fields, name, profile_id):
    for d in dashboard_fields:
        frappe.db.sql(
            """update `tabNotification Configuration` set %s=1 where name='%s'"""
            % (d, name))
        frappe.db.commit()
        sub = "Notifications Configuration Done"
        make_log(profile_id, "profile", "Notifications", sub)
Ejemplo n.º 16
0
def share_via_email(data):
    attachments = []
    files = data.get('files')
    patient_name = frappe.db.get_value(
        "User", {"profile_id": data.get('profile_id')},
        'concat(first_name, " ", last_name)') or data.get('lphr_name')
    for fl in files:
        fname = os.path.join(get_files_path(), fl)
        attachments.append({
            "fname": fname.split('/')[-1:][0],
            "fcontent": file(fname).read()
        })

    if attachments:
        msg = """Event Name is %(event)s <br>
				Event Date is %(event_date)s <br>
				Provider Name is %(provider_name)s <br>
				Sharing reason is %(reason)s <br>
				<hr>
					%(event_body)s <br>
					Please find below attachment(s) <br>
			""" % {
            'event': data.get('event_title'),
            'event_date': data.get('event_date') or data.get("str_visit_date"),
            'provider_name': data.get('doctor_name'),
            'event_body': data.get('email_body'),
            'reason': data.get('reason')
        }

        from frappe.utils.email_lib import sendmail

        sendmail([data.get('email_id')],
                 subject="PHR-Event Data",
                 msg=cstr(msg),
                 attachments=attachments)

        make_log(
            data.get('profile_id'), "Event", "Shared Via Email",
            "Event <b style='color: #89c148;'>%s</b> Shared Via Email %s" %
            (data.get('event_title'), data.get('email_id')))
        # args = {"patient":patient_name,"email":data.get('email_id')}
        # notify_provider(data.get('doctor_id'),data.get('profile_id'),"Event Share Email",args)
        return {
            "returncode": 1,
            "message_summary":
            "Selected image(s) has been shared with %(provider_name)s for event %(event)s "
            % {
                'event': data.get('event_title'),
                'provider_name': data.get('doctor_name')
            }
        }
    else:
        return {
            "returncode": 0,
            "message_summary": "Please select file(s) for sharing"
        }
Ejemplo n.º 17
0
def make_appomiments_entry(data):
	if valide_date(data):
		c_medication = save_data(data)
		response = get_appointments(data)
		appointment = json.loads(data)
		sub = "Appointment created with"+" "+appointment.get('provider')
		make_log(appointment.get('profile_id'),"Appointment","create",sub)
		return response
	else:
		return {'exe': "Appointment Date/Time Should not be less than Current Date/Time"}
Ejemplo n.º 18
0
def save_data_to_solr(args):
	request_type = "POST"
	url = get_base_url()+'updatedismonitoring'
	response = get_response(url,args,request_type)
	res = response.text
	if res:
		jsonobj=json.loads(res)
		if jsonobj['returncode']==132 or jsonobj['returncode']==133:
			dm=json.loads(args)
			sub="Disease Monitoring created"
			make_log(dm['profile_id'],"Disease Monitoring (CR)","create",sub)
Ejemplo n.º 19
0
def save_data_to_solr(args):
    request_type = "POST"
    url = get_base_url() + 'updatedismonitoring'
    response = get_response(url, args, request_type)
    res = response.text
    if res:
        jsonobj = json.loads(res)
        if jsonobj['returncode'] == 132 or jsonobj['returncode'] == 133:
            dm = json.loads(args)
            sub = "Disease Monitoring created"
            make_log(dm['profile_id'], "Disease Monitoring (CR)", "create",
                     sub)
Ejemplo n.º 20
0
def share_via_phr(share_info, profile_id, disease):
	dm_sharing = frappe.new_doc('Disease Sharing Log')
	file_name = disease + '.pdf'
	dm_sharing.disease_name = disease
	dm_sharing.from_profile = profile_id
	dm_sharing.to_profile = share_info.get('doctor_id')
	dm_sharing.pdf_path = os.path.join(get_files_path(), profile_id, file_name)
	dm_sharing.save(ignore_permissions=True)
	make_sharing_request(share_info, disease, dm_sharing, profile_id)
	make_log(profile_id, "Disease Monitoring", "Shared DM over PHR account to provider ", "DM of <b style='color: #89c148;'>%s</b> has been shared with  provider <b style='color: #89c148;'>%s</b> \
			till <b style='color: #89c148;'>%s</b>"% (disease, share_info.get('doctor_name'), share_info.get('sharing_duration') ))
	return {"returncode":1,"message_display":"Disease Monitoring records has been shared"}
Ejemplo n.º 21
0
def make_appomiments_entry(data):
    if valide_date(data):
        c_medication = save_data(data)
        response = get_appointments(data)
        appointment = json.loads(data)
        sub = "Appointment created with" + " " + appointment.get('provider')
        make_log(appointment.get('profile_id'), "Appointment", "create", sub)
        return response
    else:
        return {
            'exe':
            "Appointment Date/Time Should not be less than Current Date/Time"
        }
Ejemplo n.º 22
0
def create_provider_in_solr(data,profile_id):
	request_type="POST"
	url=get_base_url()+'createProvider'
	from phr.phr.phr_api import get_response
	response=get_response(url,data,request_type)
	res=json.loads(response.text)
	if res['returncode']==129:
		link_provider(res, data, profile_id)
		create_provider_master_entry(res, data)
		provider=json.loads(data)
		sub="created provider "+provider.get('name')
		make_log(profile_id,"provider","create",sub)
		return res
	return res
Ejemplo n.º 23
0
def create_provider_in_solr(data, profile_id):
    request_type = "POST"
    url = get_base_url() + 'createProvider'
    from phr.phr.phr_api import get_response
    response = get_response(url, data, request_type)
    res = json.loads(response.text)
    if res['returncode'] == 129:
        link_provider(res, data, profile_id)
        create_provider_master_entry(res, data)
        provider = json.loads(data)
        sub = "created provider " + provider.get('name')
        make_log(profile_id, "provider", "create", sub)
        return res
    return res
Ejemplo n.º 24
0
def share_via_phr(share_info, profile_id, disease):
	dm_sharing = frappe.new_doc('Disease Sharing Log')
	file_name = disease + '.pdf'
	dm_sharing.disease_name = disease
	dm_sharing.from_profile = profile_id
	dm_sharing.to_profile = share_info.get('doctor_id')
	dm_sharing.pdf_path = os.path.join(get_files_path(), profile_id, file_name)
	dm_sharing.save(ignore_permissions=True)
	make_sharing_request(share_info, disease, dm_sharing, profile_id)
	make_log(profile_id, "Disease Monitoring", "Shared over PHR account to provider %s"% share_info.get('doctor_name') , "Shared over PHR account to provider %s"% share_info.get('doctor_name'))
	args = {"dr":share_info.get('doctor_name')}
	email_msg = "Patient has shared DM with You. \n\n Thank you. \nTeam HealthSnapp."
	from phr.templates.pages.event import notify_provider
	notify_provider(share_info.get('doctor_id'),profile_id,"Event Share",args,email_msg)
	return "Disease Monitoring records has been shared"
Ejemplo n.º 25
0
def update_profile_solr(data, dashboard=None):
    request_type = "POST"
    #url="http://88.198.52.49:7974/phr-api/updateProfile"
    url = get_base_url() + "/updateProfile"
    from phr.phr.phr_api import get_response
    response = get_response(url, data, request_type)
    res = json.loads(response.text)
    print res['returncode']
    p = json.loads(data)
    if res['returncode'] == 102:
        sub = "Profile Updated Successfully"
        make_log(p.get('entityid'), "profile", "update", sub)
        update_user_details(p)
        return "Profile Updated Successfully"
    else:
        return "Error While Updating Profile"
Ejemplo n.º 26
0
def update_event(data):
	response = ''
	request_type="POST"
	url="%s/createupdateevent"%get_base_url()

	event_data =	{
			"entityid":data.get('entityid'),
			"event_complaint_list":[],
			"profile_owner_name": frappe.db.get_value('User', {'profile_id':data.get('profile_id')}, 'first_name'),
			"status": "active",
			"event_diseasemontoring": False,
			"event_symptoms" :data.get('complaints'),
			"event_title": data.get('event_title'),
			"profile_id": data.get('profile_id'),
			"str_event_date": data.get('event_date'),
			"event_descripton": data.get('event_descripton'),
			"visit_files": data.get('dms_file_list'),
			"doctor_id": data.get('doctor_id'),
			"doctor_name": data.get("doctor_name"),
			"visit_descripton": data.get('event_descripton'),
			"received_from": "Desktop",
			"str_visit_date": data.get('visit_date'),
			"diagnosis_desc": data.get('diagnosis_desc')
	}

	import datetime
	event_date = datetime.datetime.strptime(event_data.get('str_event_date'), "%d/%m/%Y").strftime('%Y-%m-%d')
	visit_date = datetime.datetime.strptime(event_data.get('str_visit_date'), "%d/%m/%Y").strftime('%Y-%m-%d')

	if date_diff(visit_date, nowdate()) > 0:
		frappe.msgprint("Visit Date could not be greater than current date")
		return {"exe":"Visit Date could not be greater than current date"}

	elif date_diff(visit_date, event_date) < 0:
		frappe.msgprint("Visit Date should not be less than Event Date")
		return {"exe":"Event Date should be past or current"}

	else:
		response=get_response(url, json.dumps(event_data), request_type)
		make_log(data.get('entityid'),"Event","Update","Event Updated")
		if data.get('cname'):
			text_msg = "%s Has Updated Event,\n\n Team Healthsnapp"%data.get('cname')
			email_msg = ""
			from phr.templates.pages.profile import notify_about_linked_phrs
			notify_about_linked_phrs(data.get('pid'),email_msg,text_msg,"Event",data.get('cname'))

	return json.loads(response.text)
Ejemplo n.º 27
0
def update_password(data, dashboard=None):
    usrobj = json.loads(data)
    old_password = usrobj.get('old_password')
    new_password = usrobj.get('new_password')
    user = frappe.db.get_value("User", {"profile_id": usrobj.get('entityid')})
    print[user, old_password, new_password]
    if not new_password:
        return _("Cannot Update: Please Enter Valid Password")
    if old_password:
        if not frappe.db.sql(
                """select user from __Auth where password=password(%s)
			and user=%s""", (old_password, user)):
            return "Cannot Update: Incorrect Password"
    _update_password(user, new_password)
    sub = "Password Updated Successfully"
    make_log(usrobj.get('entityid'), "profile", "update Password", sub)
    return "Password Updated Successfully"
Ejemplo n.º 28
0
def make_medication_entry(data):
	if day_exists(data):
		try:
			c_medication=save_data(data)
			response=get_medication_data(data)
			medication=json.loads(data)
			sub="Medication for"+" "+medication.get('medicine_name')+" created"
			make_log(medication.get('profile_id'),"Medication","create",sub)
			return response
		except ValueError:
			msg = "Unexpected error: Invalid Date"
			return {"exe" : msg}
		except :
			msg = "Unexpected error: %s "% sys.exc_info()[0] 
			return {"exe" : msg}
	else:
		return {'exe': 'Selected day is not in specified date range'}
Ejemplo n.º 29
0
def update_event(data):
    response = ''
    request_type = "POST"
    url = "%s/createupdateevent" % get_base_url()
    owner = frappe.db.get_value('User', {'profile_id': data.get('profile_id')},
                                'first_name')
    event_data = {
        "entityid": data.get('entityid'),
        "event_complaint_list": [],
        "profile_owner_name": owner if owner else data.get("cname"),
        "status": "active",
        "event_diseasemontoring": False,
        "event_symptoms": data.get('complaints'),
        "event_title": data.get('event_title'),
        "profile_id": data.get('profile_id'),
        "str_event_date": data.get('event_date'),
        "event_descripton": data.get('event_descripton'),
        "visit_files": data.get('dms_file_list'),
        "doctor_id": data.get('doctor_id'),
        "doctor_name": data.get("doctor_name"),
        "visit_descripton": data.get('event_descripton'),
        "received_from": "Desktop",
        "str_visit_date": data.get('visit_date'),
        "diagnosis_desc": data.get('diagnosis_desc')
    }

    import datetime
    event_date = datetime.datetime.strptime(event_data.get('str_event_date'),
                                            "%d/%m/%Y").strftime('%Y-%m-%d')
    visit_date = datetime.datetime.strptime(event_data.get('str_visit_date'),
                                            "%d/%m/%Y").strftime('%Y-%m-%d')

    if date_diff(visit_date, nowdate()) > 0:
        frappe.msgprint("Visit Date could not be greater than current date")
        return {"exe": "Visit Date could not be greater than current date"}

    elif date_diff(visit_date, event_date) < 0:
        frappe.msgprint("Visit Date should not be less than Event Date")
        return {"exe": "Event Date should be past or current"}

    else:
        response = get_response(url, json.dumps(event_data), request_type)
        make_log(data.get('entityid'), "Event", "Update", "Event Updated")

    return json.loads(response.text)
Ejemplo n.º 30
0
def update_profile_solr(data,dashboard=None):
	request_type = "POST"
	user_details = json.loads(data)
	if 	not_duplicate_contact(user_details.get('mobile'),user_details.get('email')):
		url = get_base_url()+"/updateProfile"
		from phr.phr.phr_api import get_response
		response = get_response(url,data,request_type)
		res = json.loads(response.text)
		profile = json.loads(data)
		if res['returncode']==102:
			sub = "Profile Updated Successfully"
			make_log(profile.get('entityid'),"profile","update",sub)
			update_user_details(profile)
			mob_code = make_mv_entry(user_details.get('mobile'),profile.get('entityid'))
			return {"rtcode":100,"msg":"Profile Updated Successfully","mob_no":user_details.get('mobile'),"user":user_details.get('email'),"mobile_code":mob_code}
		else:
			return {"rtcode":101,"msg":"Error While Updating Profile"}
	else:
		return {"rtcode":201,"msg":"Maintioned contact number is already registered with another profile."}
Ejemplo n.º 31
0
def send_email(share_info, profile_id, disease):
    from email.mime.audio import MIMEAudio
    from email.mime.base import MIMEBase
    from email.mime.image import MIMEImage
    from email.mime.text import MIMEText
    import mimetypes
    import datetime

    attachments = []
    file_name = disease + '.pdf'
    files = os.path.join(get_files_path(), profile_id, file_name)

    attachments.append({"fname": files, "fcontent": file(files).read()})

    if attachments:
        msg = """Disease Name is %(event)s <br>
				Provider Name is %(provider_name)s <br>
				<hr>
					%(event_body)s <br>
					Please see attachment <br>
			""" % {
            'event': disease,
            'provider_name': share_info.get('doctor_name'),
            'event_body': share_info.get('email_body')
        }

        from frappe.utils.email_lib import sendmail

        sendmail([share_info.get('email_id')],
                 subject="PHR-Disease Monitoring Data",
                 msg=cstr(msg),
                 attachments=attachments)

        make_log(
            profile_id, "Disease Monitoring",
            "Shared Via Email to provider %s" % share_info.get('doctor_name'),
            "DM of <b style='color: #89c148;'>%s</b> Shared Via Email to provider %s"
            % (disease, share_info.get('doctor_name')))
        return {
            "returncode": 1,
            "message_display": "Disease Monitoring records has been shared"
        }
Ejemplo n.º 32
0
def share_via_phr(share_info, profile_id, disease):
    dm_sharing = frappe.new_doc('Disease Sharing Log')
    file_name = disease + '.pdf'
    dm_sharing.disease_name = disease
    dm_sharing.from_profile = profile_id
    dm_sharing.to_profile = share_info.get('doctor_id')
    dm_sharing.pdf_path = os.path.join(get_files_path(), profile_id, file_name)
    dm_sharing.save(ignore_permissions=True)
    make_sharing_request(share_info, disease, dm_sharing, profile_id)
    make_log(
        profile_id, "Disease Monitoring",
        "Shared DM over PHR account to provider ",
        "DM of <b style='color: #89c148;'>%s</b> has been shared with  provider <b style='color: #89c148;'>%s</b> \
			till <b style='color: #89c148;'>%s</b>" %
        (disease, share_info.get('doctor_name'),
         share_info.get('sharing_duration')))
    return {
        "returncode": 1,
        "message_display": "Disease Monitoring records has been shared"
    }
Ejemplo n.º 33
0
def update_lphr_barcode(path, profile_id):
    cie = frappe.db.get_value("LinkedPHR Images", {"profile_id": profile_id},
                              "barcode")
    uimage = get_gravatar(profile_id)
    file_path = '/files/' + profile_id + '/' + profile_id + ".svg"
    if cie:
        frappe.db.sql("""update `tabLinkedPHR Images` 
			set barcode='%s',profile_image='%s' where profile_id='%s'""" %
                      (file_path, uimage, profile_id))
        frappe.db.commit()
        sub = "Barcode Uploaded Successfully " + path
        make_log(profile_id, "profile", "Linked PHR Image Upload", sub)
        return "Image Uploaded Successfully"
    else:
        lp = frappe.new_doc("LinkedPHR Images")
        lp.profile_id = profile_id
        lp.barcode = file_path
        lp.save(ignore_permissions=True)
        sub = "Barcode Uploaded Successfully " + file_path
        make_log(profile_id, "profile", "Linked PHR Image Upload", sub)
        return "Image Uploaded Successfully"
Ejemplo n.º 34
0
def update_user_image(path, profile_id):
    ue = frappe.db.get_value("User", {"profile_id": profile_id}, "user_image")
    if ue:
        user = frappe.get_doc("User", frappe.session.user)
        user.user_image = path
        user.save(ignore_permissions=True)
        sub = "Image Uploaded Successfully " + path
        make_log(profile_id, "profile", "Image Upload", sub)
        frappe.local.cookie_manager.set_cookie("user_image", path or "")
    else:
        cie = frappe.db.get_value("LinkedPHR Images",
                                  {"profile_id": profile_id}, "profile_image")
        if cie:
            frappe.db.sql("""update `tabLinkedPHR Images` 
				set profile_image='%s' where profile_id='%s'""" % (path, profile_id))
            frappe.db.commit()
            sub = "Image Uploaded Successfully " + path
            make_log(profile_id, "profile", "Linked PHR Image Upload", sub)
        else:
            lp = frappe.new_doc("LinkedPHR Images")
            lp.profile_id = profile_id
            lp.profile_image = path
            lp.save(ignore_permissions=True)
            sub = "Image Uploaded Successfully " + path
            make_log(profile_id, "profile", "Linked PHR Image Upload", sub)
Ejemplo n.º 35
0
def update_event(data):
	print "---------------update event---------------------"
	print data
	print "------------------------------------------------"
	response = ''
	request_type="POST"
	url="%s/createupdateevent"%get_base_url()

	event_data =	{
			"entityid":data.get('entityid'),
			"event_complaint_list":[],
			"profile_owner_name": frappe.db.get_value('User', {'profile_id':data.get('profile_id')}, 'first_name'),
			"status": "active",
			"event_diseasemontoring": False,
			"event_symptoms" :data.get('complaints'),
			"event_title": data.get('event_title'),
			"profile_id": data.get('profile_id'),
			"str_event_date": data.get('event_date'),
			"event_descripton": data.get('event_descripton'),
			"visit_files": data.get('dms_file_list'),
			"doctor_id": data.get('doctor_id'),
			"doctor_name": data.get("doctor_name"),
			"visit_descripton": data.get('event_descripton'),
			"received_from": "Desktop",
			"str_visit_date": data.get('visit_date'),
			"diagnosis_desc": data.get('diagnosis_desc')
	}

	import datetime
	event_date = datetime.datetime.strptime(event_data.get('str_event_date'), "%d/%m/%Y").strftime('%Y-%m-%d')
	
	if date_diff(event_date, nowdate()) > 0:
		frappe.msgprint("Please sect valid date")

	else:
		response=get_response(url, json.dumps(event_data), request_type)
		make_log(data.get('entityid'),"Event","Update","Event Updated")

	return json.loads(response.text)
Ejemplo n.º 36
0
def manage_notifications(data,dashboard=None):
	obj = json.loads(data)
	dashboard_fields = json.loads(dashboard)
	mn = frappe.db.get_value("Notification Configuration",{"profile_id":obj.get('entityid')},"name")
	if mn:
		frappe.db.sql("""update `tabNotification Configuration` set linked_phr=0,to_do=0 where name='%s'"""%(mn))
		update_values_notify(dashboard_fields,mn,obj.get('entityid'))
		sub = "Notifications Configuration Done"
		make_log(obj.get('entityid'),"profile","Notifications",sub)
		return "Notification Settings Updated"
	else:
		mn = frappe.get_doc({
			"doctype":"Notification Configuration",
			"profile_id":obj.get('entityid'),
			"created_via": "Web"
		})
		mn.ignore_permissions = True
		mn.insert()
		update_values_notify(dashboard_fields,mn.name,obj.get('entityid'))
		sub = "Notifications Configuration Done"
		make_log(obj.get('entityid'),"profile","Notifications",sub)
		return "Notification Settings Done"
Ejemplo n.º 37
0
def update_password(data,dashboard=None):
	usrobj = json.loads(data)
	old_password = usrobj.get('old_password')
	new_password = usrobj.get('new_password')

	if new_password != usrobj.get('cnf_new_password'):
		return " Cannot Update: New Password and Confirm Password fields are not matching "

	user = frappe.db.get_value("User",{"profile_id":usrobj.get('entityid')})
	
	if not new_password:
		return _("Cannot Update: Please Enter Valid Password")

	if old_password:
		if not frappe.db.sql("""select user from __Auth where password=password(%s)
			and user=%s""", (old_password, user)):
			return "Cannot Update: Old Password is Incorrect"
	_update_password(user, new_password)
	frappe.db.set_value("User",user,"password_str",new_password)
	sub = "Password Updated Successfully"
	make_log(usrobj.get('entityid'),"profile","update Password",sub)
	return "Password Updated Successfully"
Ejemplo n.º 38
0
def update_lphr_barcode(path,profile_id):
	cie=frappe.db.get_value("LinkedPHR Images",{"profile_id":profile_id},"barcode")
	# uimage=get_gravatar(profile_id)
	uimage = "/assets/phr/images/profile-photo.jpg"
	file_path='/files/'+profile_id+'/'+profile_id+".svg"
	if cie:
		frappe.db.sql("""update `tabLinkedPHR Images` 
			set barcode='%s',profile_image='%s' where profile_id='%s'"""%(file_path,uimage,profile_id))
		frappe.db.commit()
		sub="Barcode Uploaded Successfully "+path
		make_log(profile_id,"profile","Linked PHR Image Upload",sub)
		return "Image Uploaded Successfully"
	else:
		lp=frappe.new_doc("LinkedPHR Images")
		lp.profile_image=uimage
		lp.profile_id=profile_id
		lp.barcode=file_path
		lp.profile_image = uimage
		lp.save(ignore_permissions=True)
		sub="Barcode Uploaded Successfully "+file_path
		make_log(profile_id,"profile","Linked PHR Image Upload",sub)
		return "Image Uploaded Successfully"
Ejemplo n.º 39
0
def update_password(data, dashboard=None):
    usrobj = json.loads(data)
    old_password = usrobj.get('old_password')
    new_password = usrobj.get('new_password')

    if new_password != usrobj.get('cnf_new_password'):
        return " Cannot Update: New Password and Confirm Password fields are not matching "

    user = frappe.db.get_value("User", {"profile_id": usrobj.get('entityid')})

    if not new_password:
        return _("Cannot Update: Please Enter Valid Password")

    if old_password:
        if not frappe.db.sql(
                """select user from __Auth where password=password(%s)
			and user=%s""", (old_password, user)):
            return "Cannot Update: Old Password is Incorrect"
    _update_password(user, new_password)
    frappe.db.set_value("User", user, "password_str", new_password)
    sub = "Password Updated Successfully"
    make_log(usrobj.get('entityid'), "profile", "update Password", sub)
    return "Password Updated Successfully"
Ejemplo n.º 40
0
def delink_phr_solr(data, id, profile_id):
    solr_op = 'unlinkProfile'
    url = get_base_url() + solr_op
    request_type = 'POST'
    barcode = get_barcode()
    #jsonobj=json.loads(data)
    data["recieved_from"] = "Desktop"
    #data["barcode"]=str(barcode)
    jsonobj = {
        "entityid": id,
        "linking_id": profile_id,
        "received_from": "Desktop"
    }
    from phr.phr.phr_api import get_response
    response = get_response(url, json.dumps(jsonobj), request_type)
    res = json.loads(response.text)
    print res
    if res['returncode'] == 121:
        path = get_image_path(barcode, res['entityid'])
        print res
        sub = res['entityid'] + "delinked Successfully"
        make_log(profile_id, "profile", "delink", sub)
        actdata = res['actualdata']
        dt = json.loads(actdata)
        args = {
            'person_firstname': dt['person_firstname'],
            'person_middlename': dt['person_middlename'],
            'person_lastname': dt['person_lastname'],
            'email': dt['email'],
            'mobile': dt['mobile'],
            'received_from': 'Desktop',
            'provider': 'false',
            'barcode': str(barcode)
        }
        ret_res = create_profile_in_db(res['entityid'], args, res, path)
        return ret_res
Ejemplo n.º 41
0
def update_user_image(path, profile_id):
	ue = frappe.db.get_value("User",{"profile_id":profile_id},"user_image")
	if ue:
		user = frappe.get_doc("User",frappe.session.user)
		user.user_image = path
		user.save(ignore_permissions=True)
		sub = "Image Uploaded Successfully "+path
		make_log(profile_id,"profile","Image Upload",sub)
		frappe.local.cookie_manager.set_cookie("user_image", path or "")
	else:
		cie = frappe.db.get_value("LinkedPHR Images",{"profile_id":profile_id},"profile_image")
		if cie:
			frappe.db.sql("""update `tabLinkedPHR Images` 
				set profile_image='%s' where profile_id='%s'"""%(path,profile_id))
			frappe.db.commit()
			sub = "Image Uploaded Successfully "+path
			make_log(profile_id,"profile","Linked PHR Image Upload",sub)
		else:
			lp = frappe.new_doc("LinkedPHR Images")
			lp.profile_id = profile_id
			lp.profile_image = path
			lp.save(ignore_permissions=True)
			sub = "Image Uploaded Successfully "+path
			make_log(profile_id,"profile","Linked PHR Image Upload",sub)
Ejemplo n.º 42
0
def share_via_providers_account(data):
	event_dict = {}
	sub_event_count = {}
	if not data.get('files'):
		event_data =	{
				"sharelist": [
						{
							"to_profile_id": data.get('doctor_id'),
							"received_from":"desktop",
							"from_profile_id": data.get('profile_id'),
							"event_tag_id": data.get('entityid') if not data.get('event_id') else data.get('event_id'),
							"access_type": "RDW",
							"str_start_date": datetime.datetime.strptime(nowdate(), '%Y-%m-%d').strftime('%d/%m/%Y'),
							"str_end_date": data.get('sharing_duration')
						}
					]
				}

		if data.get('event_id'):
			for shared_meta in event_data.get('sharelist'):
		 		shared_meta["visit_tag_id"] = data.get('entityid')
		 	url="%s/sharephr/sharemultiplevisit"%get_base_url()

		else:
			url="%s/sharephr/sharemultipleevent"%get_base_url()
		request_type="POST"
		
		response=get_response(url, json.dumps(event_data), request_type)
		
		files_list = get_files_doc(event_data, data, None, event_dict, sub_event_count)
		make_sharing_request(event_data, data, files_list, event_dict, sub_event_count)
		make_log(data.get('profile_id'),"Event","Shared Via Provider","Event <b style='color: #89c148;'>%s</b> has shared with Provider <b style='color: #89c148;'>%s</b> \
			for duration <b style='color: #89c148;'>%s</b>"%(data.get('event_title'), data.get('doctor_name'), data.get('sharing_duration')))
		return {"returncode":2,"message_summary":eval(json.loads(response.text).get('sharelist'))[0].get('message_summary')}

	else:
		sharelist = []
		file_path = []
		for fl in data.get('files'):
			file_path.append(fl)
			file_details = fl.split('/')
			sharelist.append({
				"to_profile_id": data.get('doctor_id'),
				"received_from":"desktop",
				"from_profile_id": data.get('profile_id'),
				"visit_tag_id": file_details[4],
				"event_tag_id": data.get('entityid') if not data.get('event_id') else data.get('event_id'),
				"tag_id": file_details[4] + '-' + cstr(file_details[2].split('-')[1]) + cstr(file_details[3].split('_')[1]) ,
				"file_id": [file_details[5].replace('-watermark', '')],
				"file_access": ['RW'],
				"str_start_date": datetime.datetime.strptime(nowdate(), '%Y-%m-%d').strftime('%d/%m/%Y'),
				"str_end_date": data.get('sharing_duration')
			})
			
		request_type="POST"
		url = "%s/sharephr/sharemultiplevisitfiles"%get_base_url()
		event_data = {'sharelist': sharelist}
		
		response=get_response(url, json.dumps(event_data), request_type)
		event_data['file_path'] = file_path

		files_list = get_files_doc(event_data, data, None, event_dict, sub_event_count)
		make_sharing_request(event_data, data, files_list, event_dict, sub_event_count)
		make_log(data.get('profile_id'),"Event","Shared Via Provider","Event <b style='color: #89c148;'>%s</b> has been shared with Provider <b style='color: #89c148;'>%s</b> \
			till <b style='color: #89c148;'>%s</b>"%(data.get('event_title'), data.get('doctor_name'), data.get('sharing_duration')))
		return {"returncode":2,"message_summary":json.loads(json.loads(response.text).get('sharelist'))[0].get('message_summary')}
Ejemplo n.º 43
0
def share_via_providers_account(data):
    event_dict = {}
    sub_event_count = {}
    if not data.get('files'):
        event_data = {
            "sharelist": [{
                "to_profile_id":
                data.get('doctor_id'),
                "received_from":
                "desktop",
                "from_profile_id":
                data.get('profile_id'),
                "event_tag_id":
                data.get('entityid')
                if not data.get('event_id') else data.get('event_id'),
                "access_type":
                "RDW",
                "str_start_date":
                datetime.datetime.strptime(nowdate(),
                                           '%Y-%m-%d').strftime('%d/%m/%Y'),
                "str_end_date":
                data.get('sharing_duration')
            }]
        }

        if data.get('event_id'):
            for shared_meta in event_data.get('sharelist'):
                shared_meta["visit_tag_id"] = data.get('entityid')
            url = "%s/sharephr/sharemultiplevisit" % get_base_url()

        else:
            url = "%s/sharephr/sharemultipleevent" % get_base_url()
        request_type = "POST"

        response = get_response(url, json.dumps(event_data), request_type)

        files_list = get_files_doc(event_data, data, None, event_dict,
                                   sub_event_count)
        make_sharing_request(event_data, data, files_list, event_dict,
                             sub_event_count)
        make_log(
            data.get('profile_id'), "Event", "Shared Via Provider",
            "Event <b style='color: #89c148;'>%s</b> has shared with Provider <b style='color: #89c148;'>%s</b> \
			for duration <b style='color: #89c148;'>%s</b>" %
            (data.get('event_title'), data.get('doctor_name'),
             data.get('sharing_duration')))
        return {
            "returncode":
            2,
            "message_summary":
            eval(json.loads(
                response.text).get('sharelist'))[0].get('message_summary')
        }

    else:
        sharelist = []
        file_path = []
        for fl in data.get('files'):
            file_path.append(fl)
            file_details = fl.split('/')
            sharelist.append({
                "to_profile_id":
                data.get('doctor_id'),
                "received_from":
                "desktop",
                "from_profile_id":
                data.get('profile_id'),
                "visit_tag_id":
                file_details[4],
                "event_tag_id":
                data.get('entityid')
                if not data.get('event_id') else data.get('event_id'),
                "tag_id":
                file_details[4] + '-' + cstr(file_details[2].split('-')[1]) +
                cstr(file_details[3].split('_')[1]),
                "file_id": [file_details[5].replace('-watermark', '')],
                "file_access": ['RW'],
                "str_start_date":
                datetime.datetime.strptime(nowdate(),
                                           '%Y-%m-%d').strftime('%d/%m/%Y'),
                "str_end_date":
                data.get('sharing_duration')
            })

        request_type = "POST"
        url = "%s/sharephr/sharemultiplevisitfiles" % get_base_url()
        event_data = {'sharelist': sharelist}

        response = get_response(url, json.dumps(event_data), request_type)
        event_data['file_path'] = file_path

        files_list = get_files_doc(event_data, data, None, event_dict,
                                   sub_event_count)
        make_sharing_request(event_data, data, files_list, event_dict,
                             sub_event_count)
        make_log(
            data.get('profile_id'), "Event", "Shared Via Provider",
            "Event <b style='color: #89c148;'>%s</b> has been shared with Provider <b style='color: #89c148;'>%s</b> \
			till <b style='color: #89c148;'>%s</b>" %
            (data.get('event_title'), data.get('doctor_name'),
             data.get('sharing_duration')))
        return {
            "returncode":
            2,
            "message_summary":
            json.loads(json.loads(
                response.text).get('sharelist'))[0].get('message_summary')
        }
Ejemplo n.º 44
0
def share_via_providers_account(data):
	# frappe.errprint([data.get('files'), not data.get('files')])
	event_dict = {}
	sub_event_count = {}
	# return [event_dict, sub_event_count] 

	patient_name = frappe.db.get_value("User", {"profile_id":data.get('profile_id')}, 'concat(first_name, " ", last_name)') or  data.get('lphr_name')
	if not data.get('files'):
		event_data =	{
				"sharelist": [
						{
							"to_profile_id": data.get('doctor_id'),
							"received_from":"desktop",
							"from_profile_id": data.get('profile_id'),
							"event_tag_id": data.get('entityid') if not data.get('event_id') else data.get('event_id'),
							"access_type": "RDW",
							"str_start_date": datetime.datetime.strptime(nowdate(), '%Y-%m-%d').strftime('%d/%m/%Y'),
							"str_end_date": data.get('sharing_duration')
						}
					]
				}

		if data.get('event_id'):
			for shared_meta in event_data.get('sharelist'):
		 		shared_meta["visit_tag_id"] = data.get('entityid')
		 	url="%s/sharephr/sharemultiplevisit"%get_base_url()

		else:
			url="%s/sharephr/sharemultipleevent"%get_base_url()
		request_type="POST"
		
		response=get_response(url, json.dumps(event_data), request_type)
		
		files_list = get_files_doc(event_data, data, None, event_dict, sub_event_count)
		make_sharing_request(event_data, data, files_list, event_dict, sub_event_count)
		make_log(data.get('profile_id'),"Event","Shared Via Provider","Event Shared Via Provider")
		args = {"patient":patient_name,"duration":data.get('sharing_duration')}
		email_msg = "%(patient)s has shared Event with You which is accesible upto %(duration)s. \n\n Thank you. \n Team HealthSnapp."%args
		notify_provider(data.get('doctor_id'),data.get('profile_id'),"Event Share",args,email_msg)
		return eval(json.loads(response.text).get('sharelist'))[0].get('message_summary')

	else:
		sharelist = []
		file_path = []
		print "\n\n\n\n share event files \n\n\n", data.get('files')
		for fl in data.get('files'):
			file_path.append(fl)
			file_details = fl.split('/')
			sharelist.append({
				"to_profile_id": data.get('doctor_id'),
				"received_from":"desktop",
				"from_profile_id": data.get('profile_id'),
				"visit_tag_id": file_details[4],
				"event_tag_id": data.get('entityid') if not data.get('event_id') else data.get('event_id'),
				"tag_id": file_details[4] + '-' + cstr(file_details[2].split('-')[1]) + cstr(file_details[3].split('_')[1]) ,
				"file_id": [file_details[5].replace('-watermark', '')],
				"file_access": ['RW'],
				"str_start_date": datetime.datetime.strptime(nowdate(), '%Y-%m-%d').strftime('%d/%m/%Y'),
				"str_end_date": data.get('sharing_duration')
			})
			
		request_type="POST"
		url = "%s/sharephr/sharemultiplevisitfiles"%get_base_url()
		event_data = {'sharelist': sharelist}
		
		response=get_response(url, json.dumps(event_data), request_type)
		event_data['file_path'] = file_path

		files_list = get_files_doc(event_data, data, None, event_dict, sub_event_count)
		make_sharing_request(event_data, data, files_list, event_dict, sub_event_count)
		make_log(data.get('profile_id'),"Event","Shared Via Provider","Event Shared Via Provider")
		args = {"patient":patient_name,"duration":data.get('sharing_duration')}
		email_msg = "%(patient)s has shared Event with You which is accesible upto %(duration)s. \n\n Thank you.\n Team HealthSnapp."%args
		notify_provider(data.get('doctor_id'),data.get('profile_id'),"Event Share",args,email_msg)

		return json.loads(json.loads(response.text).get('sharelist'))[0].get('message_summary')
Ejemplo n.º 45
0
def share_via_providers_account(data):
	# frappe.errprint([data.get('files'), not data.get('files')])
	if not data.get('files'):
		event_data =	{
				"sharelist": [
						{
							"to_profile_id": data.get('doctor_id'),
							"received_from":"desktop",
							"from_profile_id": data.get('profile_id'),
							"event_tag_id": data.get('entityid') if not data.get('event_id') else data.get('event_id'),
							"access_type": "RDW",
							"str_start_date": datetime.datetime.strptime(nowdate(), '%Y-%m-%d').strftime('%d/%m/%Y'),
							"str_end_date": data.get('sharing_duration')
						}
					]
				}

		if data.get('event_id'):
			for shared_meta in event_data.get('sharelist'):
		 		shared_meta["visit_tag_id"] = data.get('entityid')
		 	url="%s/sharephr/sharemultiplevisit"%get_base_url()

		else:
			url="%s/sharephr/sharemultipleevent"%get_base_url()
		request_type="POST"
		
		response=get_response(url, json.dumps(event_data), request_type)
		
		files_list = get_files_doc(event_data, data)
		make_sharing_request(event_data, data, files_list)
		make_log(data.get('profile_id'),"Event","Shared Via Provider","Event Shared Via Provider")
		return eval(json.loads(response.text).get('sharelist'))[0].get('message_summary')

	else:
		sharelist = []
		file_path = []
		print "\n\n\n\n share event files \n\n\n", data.get('files')
		for fl in data.get('files'):
			file_path.append(fl)
			file_details = fl.split('/')
			sharelist.append({
				"to_profile_id": data.get('doctor_id'),
				"received_from":"desktop",
				"from_profile_id": data.get('profile_id'),
				"visit_tag_id": file_details[4],
				"event_tag_id": data.get('entityid') if not data.get('event_id') else data.get('event_id'),
				"tag_id": file_details[4] + '-' + cstr(file_details[2].split('-')[1]) + cstr(file_details[3].split('_')[1]) ,
				"file_id": [file_details[5].replace('-watermark', '')],
				"file_access": ['RW'],
				"str_start_date": datetime.datetime.strptime(nowdate(), '%Y-%m-%d').strftime('%d/%m/%Y'),
				"str_end_date": data.get('sharing_duration')
			})
			
		request_type="POST"
		url = "%s/sharephr/sharemultiplevisitfiles"%get_base_url()
		event_data = {'sharelist': sharelist}
		
		response=get_response(url, json.dumps(event_data), request_type)
		event_data['file_path'] = file_path

		files_list = get_files_doc(event_data, data)
		make_sharing_request(event_data, data, files_list)
		make_log(data.get('profile_id'),"Event","Shared Via Provider","Event Shared Via Provider")
		return json.loads(json.loads(response.text).get('sharelist'))[0].get('message_summary')
Ejemplo n.º 46
0
def update_values_notify(dashboard_fields,name,profile_id):
	for d in dashboard_fields:
		frappe.db.sql("""update `tabNotification Configuration` set %s=1 where name='%s'"""%(d,name))
		frappe.db.commit()
		sub = "Notifications Configuration Done"
		make_log(profile_id,"profile","Notifications",sub)