def generatorPdf(diagnoseId): diagnose=Diagnose.getDiagnoseById(diagnoseId) if session.has_key('userId'): userId=session['userId'] if userId is None: return redirect('/loginPage') resHtml = None if UserRole.checkRole(db_session,userId,constant.RoleId.Patient) and Patient.is_patient_under_user(int(userId),diagnose.patientId): resHtml = renderHtmlFromDiagnose(diagnose) if UserRole.checkRole(db_session,userId,constant.RoleId.Admin) and (int(userId) == diagnose.adminId): resHtml = renderHtmlFromDiagnose(diagnose) if UserRole.checkRole(db_session,userId,constant.RoleId.Doctor) and (int(userId) == diagnose.doctorId): resHtml = renderHtmlFromDiagnose(diagnose) if UserRole.checkRole(db_session,userId,constant.RoleId.HospitalUser) and (int(userId) == diagnose.uploadUserId): resHtml = renderHtmlFromDiagnose(diagnose) if resHtml: return resHtml else: return redirect('/error')
def setConsultsResult(consutsDict, userId=0): if consutsDict is None: return for consutDict in consutsDict: type = consutDict.get('type') if type == 1: if consutDict.get('doctorId'): doctor = Doctor.getById(consutDict.get('doctorId')) if doctor: consutDict['doctorName'] = doctor.username consutDict['doctorTitle'] = doctor.title if hasattr( doctor, 'user') and doctor.user and doctor.user.imagePath: consutDict['avartarUrl'] = doctor.user.imagePath consutDict["statusText"] = getStatusText( consutDict.get("status"), UserRole.checkRole(db_session, userId, constant.RoleId.Doctor)) if type == 0: if consutDict.get('userId'): user = User.getById(consutDict.get('userId')) if user: consutDict['userName'] = user.name consutDict['avartarUrl'] = user.imagePath consutDict["statusText"] = getStatusText( consutDict.get("status"), UserRole.checkRole(db_session, userId, constant.RoleId.Doctor)) consutDict['amount'] = consutDict.get('count')
def setConsultsResult(consutsDict, userId=0): if consutsDict is None: return for consutDict in consutsDict: type=consutDict.get('type') if type==1: if consutDict.get('doctorId'): doctor=Doctor.getById(consutDict.get('doctorId')) if doctor: consutDict['doctorName']=doctor.username consutDict['doctorTitle']=doctor.title if hasattr(doctor,'user') and doctor.user and doctor.user.imagePath: consutDict['avartarUrl']= doctor.user.imagePath consutDict["statusText"] = getStatusText(consutDict.get("status"), UserRole.checkRole(db_session,userId,constant.RoleId.Doctor)) if type==0: if consutDict.get('userId'): user=User.getById(consutDict.get('userId')) if user: consutDict['userName']=user.name consutDict['avartarUrl']=user.imagePath consutDict["statusText"] = getStatusText(consutDict.get("status"), UserRole.checkRole(db_session,userId,constant.RoleId.Doctor)) consutDict['amount']=consutDict.get('count')
def test_add_patient(self): new_user = User("*****@*****.**", "123456") new_user.type = UserStatus.patent User.save(new_user) new_patient = Patient(new_user.id) Patient.save(new_patient) new_userrole = UserRole(new_user.id, RoleId.Patient) UserRole.save(new_userrole)
def test_addFenzhen(self): user=User('fenzhen','13426026573','123456') user.sex=0 user.status=0 user.email='*****@*****.**' user.address='四川省 通江县' user.phone = '13426026573' user.type = UserStatus.doctor user.name = "分诊医生" User.save(user) new_userrole2 = UserRole(user.id, RoleId.Admin) UserRole.save(new_userrole2)
def test_addKefu(self): user=User('kefu','77777777777','123456') user.sex=0 user.status=0 user.email='*****@*****.**' user.address='四川省 通江县' user.phone = '77777777777' user.type = UserStatus.doctor user.name = "客服人员" User.save(user) new_userrole2 = UserRole(user.id, RoleId.Kefu) UserRole.save(new_userrole2)
def register_patient(): form = RegisterFormPatent(request.form) form_result = form.validate() if form_result.status == rs.SUCCESS.status: new_user = User(form.nickname, form.name, form.password) new_user.type = UserStatus.patent User.save(new_user) new_userrole = UserRole(new_user.id, RoleId.Patient) UserRole.save(new_userrole) login_session(new_user) form_result.msg = request.host_url + 'homepage' return jsonify(form_result.__dict__,ensure_ascii=False) return jsonify(form_result.__dict__,ensure_ascii=False)
def register_patient(): form = RegisterFormPatent(request.form) form_result = form.validate() if form_result.status == rs.SUCCESS.status: new_user = User(form.nickname, form.name, form.password) new_user.type = UserStatus.patent User.save(new_user) new_userrole = UserRole(new_user.id, RoleId.Patient) UserRole.save(new_userrole) login_session(new_user) form_result.msg = request.host_url + "homepage" return jsonify(form_result.__dict__, ensure_ascii=False) return jsonify(form_result.__dict__, ensure_ascii=False)
def test_addPatient(self): user=User('liclu','15210892443','123456') user.sex=0 user.status=0 user.email='*****@*****.**' user.address='四川省 通江县' user.phone = '15210892443' User.save(user) patient=Patient() patient.gender=0 patient.Name='程成' patient.status=0 patient.userID=user.id Patient.save(patient) new_userrole = UserRole(user.id, RoleId.Patient) UserRole.save(new_userrole)
def test_addHospitalUser(self): new_user_1 = User('医院用户',"44444444444", "123456") new_user_1.email = "*****@*****.**" new_user_1.phone = "44444444444" new_user_1.name = "医院用户" new_user_1.type = UserStatus.doctor User.save(new_user_1) new_doctor_1 = Doctor(new_user_1.id) new_doctor_1.username = "******" new_doctor_1.hospitalId = 1 new_doctor_1.status = 0 new_doctor_1.type = DoctorType.HospitalUser Doctor.save(new_doctor_1) new_userrole = UserRole(new_user_1.id, RoleId.HospitalUser) UserRole.save(new_userrole)
def homepage(): resultData = {} pager = Pagger(1, 6) doctors = Doctor.get_doctor_list(0, 0, "", pager) doctorsList = dataChangeService.get_doctors_dict(doctors) resultData['doctorlist'] = doctorsList if len(doctorsList['doctor']) > 0: resultData['doctor'] = doctorsList['doctor'][0] diagnoseComments = Comment.getRecentComments() if diagnoseComments and len(diagnoseComments) > 0: diagnoseCommentsDict = object2dict.objects2dicts_2(diagnoseComments) dataChangeService.setDiagnoseCommentsDetailInfo(diagnoseCommentsDict) resultData['comments'] = diagnoseCommentsDict else: resultData['comments'] = None resultData['ishomepage'] = True if session.has_key('userId'): userId = session['userId'] messageCount = Message.getMessageCountByReceiver(userId) resultData['messageCount'] = messageCount if UserRole.checkRole(db_session, userId, constant.RoleId.Patient): resultData['isPatient'] = True return render_template("home.html", data=resultData)
def addOrUpdateReport(): userId=session['userId'] user=User.getById(userId) if user is None : return json.dumps(rs.NO_DATA.__dict__,ensure_ascii=False) #权限查看 if UserRole.checkRole(db_session,userId,constant.RoleId.Admin) == False: return json.dumps(rs.PERMISSION_DENY.__dict__,ensure_ascii=False) form = ReportForm(request.form) formResult=form.validate() if formResult.status==rs.SUCCESS.status: diagnose=Diagnose.getDiagnoseById(form.diagnoseId) if diagnose is None: return json.dumps(rs.NO_DATA.__dict__,ensure_ascii=False) #session['remember_me'] = form.remember_me.data # login and validate the user... report = None if form.reportId: report=Report.getReportById(form.reportId) if report.type==constant.ReportType.Doctor: return json.dumps(rs.PERMISSION_DENY.__dict__,ensure_ascii=False) Report.update(form.reportId,None,form.status,None,form.techDesc,form.imageDesc,form.diagnoseDesc) else: report=Report(form.techDesc,form.imageDesc,form.diagnoseDesc,form.fileUrl,ReportType.Admin,form.status) Report.save(report) diagnose.reportId=report.id Diagnose.save(diagnose) #flash('成功添加诊断评论') if form.status and form.status == constant.ReportStatus.Commited: diagnose=Diagnose.getDiagnoseById(form.diagnoseId) if diagnose: Diagnose.changeDiagnoseStatus(diagnose.id,constant.DiagnoseStatus.NeedDiagnose) if form.reportId is None and report: form.reportId = report.id Report.update(form.reportId,constant.ReportType.Doctor,status=constant.ReportStatus.Draft) if diagnose and hasattr(diagnose,'doctor'): doctor=diagnose.doctor if doctor and doctor.userId: content=dataChangeService.getDoctorNeedDiagnoseMessageContent(diagnose,doctor) #诊断通知 message=Message(constant.DefaultSystemAdminUserId,doctor.userId,'诊断通知',content,constant.MessageType.Diagnose) Message.save(message) #诊断日志 diagoseLog=DiagnoseLog(userId,form.diagnoseId,constant.DiagnoseLogAction.FetchDiagnoseEndAction) DiagnoseLog.save(db_session,diagoseLog) return json.dumps(formResult.__dict__,ensure_ascii=False) return json.dumps(formResult.__dict__,ensure_ascii=False)
def userCenter(userId): userRole=UserRole.getUserRole(db_session,userId) if userRole: if userRole.roleId==constant.RoleId.Admin: return redirect('/admin/fenzhen') if userRole.roleId==constant.RoleId.Doctor: return redirect('/doctorhome') if userRole.roleId==constant.RoleId.HospitalUser: return redirect('/hospital/user') if userRole.roleId==constant.RoleId.Patient: return redirect('/patienthome') return render_template("errorPage.html")
def register_doctor(): form = RegisterFormDoctor(request.form) form_result = form.validate() if form_result.status == rs.SUCCESS.status: new_user = User(form.real_name, form.username, form.password) new_user.email = form.email new_user.phone = form.cellphone new_user.type = UserStatus.doctor new_user.status = ModelStatus.Draft User.save(new_user) new_doctor = Doctor(new_user.id) new_doctor.username = form.real_name new_doctor.identityPhone = form.identity_phone Doctor.save(new_doctor) new_doctor2skill = Doctor2Skill(new_doctor.id, 1) Doctor2Skill.save(new_doctor2skill) new_userrole = UserRole(new_user.id, RoleId.Doctor) UserRole.save(new_userrole) return jsonify(form_result.__dict__)
def userCenter(userId): userRole = UserRole.getUserRole(db_session, userId) if userRole: if userRole.roleId == constant.RoleId.Admin: return redirect('/admin/fenzhen') if userRole.roleId == constant.RoleId.Doctor: return redirect('/doctorhome') if userRole.roleId == constant.RoleId.HospitalUser: return redirect('/hospital/user') if userRole.roleId == constant.RoleId.Patient: return redirect('/patienthome') if userRole.roleId == constant.RoleId.Kefu: return redirect('/admin/kefu') return render_template("errorPage.html")
def generatorPdf(diagnoseId): diagnose = Diagnose.getDiagnoseById(diagnoseId) if session.has_key('userId'): userId = session['userId'] if userId is None: return redirect('/loginPage') resHtml = None if UserRole.checkRole( db_session, userId, constant.RoleId.Patient) and Patient.is_patient_under_user( int(userId), diagnose.patientId): resHtml = renderHtmlFromDiagnose(diagnose) if UserRole.checkRole(db_session, userId, constant.RoleId.Admin) and (int(userId) == diagnose.adminId): resHtml = renderHtmlFromDiagnose(diagnose) if UserRole.checkRole(db_session, userId, constant.RoleId.Doctor) and (int(userId) == diagnose.doctorId): resHtml = renderHtmlFromDiagnose(diagnose) if UserRole.checkRole( db_session, userId, constant.RoleId.HospitalUser) and (int(userId) == diagnose.uploadUserId): resHtml = renderHtmlFromDiagnose(diagnose) if resHtml: return resHtml else: return redirect('/error')
def admin_wrapper(*args, **kwargs): userId = session.get('userId') if userId is None: return json.dumps(result_status.NO_LOGIN.__dict__,ensure_ascii=False) # if isinstance(userId,basestring): # userId=string.atoi(userId) elif self.role and UserRole.checkRole(db_session,userId,self.role): return method(*args, **kwargs) #there have some bug needs to be fixed # elif self.role !=None and userinfo and int(userinfo['cross_share_grade']) == self.role: # return method(_self, *args, **kwargs) else: return json.dumps(result_status.PERMISSION_DENY.__dict__,ensure_ascii=False)
def adminPage_wrapper(*args, **kwargs): userId = session.get('userId') if userId is None: return redirect(NO_LOGIN_URL) # if isinstance(userId,basestring): # userId=string.atoi(userId) elif self.role and UserRole.checkRole(db_session,userId,self.role): return method(*args, **kwargs) #there have some bug needs to be fixed # elif self.role !=None and userinfo and int(userinfo['cross_share_grade']) == self.role: # return method(_self, *args, **kwargs) else: return redirect(PERMISSION_DENY_URL)
def test_addSuperUser(self): user=User('zhoufan','13426026573','123456') user.sex=0 user.status=0 user.email='*****@*****.**' user.address='四川省 通江县' user.phone = '13426026573' user.type = UserStatus.doctor user.name = "张西" User.save(user) patient=Patient() patient.gender=0 patient.Name='zf' patient.status=0 patient.userID=user.id Patient.save(patient) new_userrole = UserRole(user.id, RoleId.Patient) UserRole.save(new_userrole) new_doctor_1 = Doctor(user.id) new_doctor_1.identityPhone = "029-12345567" new_doctor_1.username = "******" new_doctor_1.diagnoseCount = 10 new_doctor_1.feedbackCount = 5 new_doctor_1.goodFeedbackCount = 5 new_doctor_1.hospitalId = 1 new_doctor_1.departmentId = 1 new_doctor_1.title = "副主任医师" new_doctor_1.status = 0 Doctor.save(new_doctor_1) new_doctor2skill_1_1 = Doctor2Skill(new_doctor_1.id,1) Doctor2Skill.save(new_doctor2skill_1_1) new_userrole1 = UserRole(user.id, RoleId.Doctor) UserRole.save(new_userrole1) new_userrole2 = UserRole(user.id, RoleId.Admin) UserRole.save(new_userrole2)
def addOrUpdateReport(): userId = session['userId'] user = User.getById(userId) if user is None: return json.dumps(rs.NO_DATA.__dict__, ensure_ascii=False) #权限查看 if UserRole.checkRole(db_session, userId, constant.RoleId.Admin) == False: return json.dumps(rs.PERMISSION_DENY.__dict__, ensure_ascii=False) form = ReportForm(request.form) formResult = form.validate() if formResult.status == rs.SUCCESS.status: diagnose = Diagnose.getDiagnoseById(form.diagnoseId) if diagnose is None: return json.dumps(rs.NO_DATA.__dict__, ensure_ascii=False) #session['remember_me'] = form.remember_me.data # login and validate the user... report = None if form.reportId: report = Report.getReportById(form.reportId) if report.type == constant.ReportType.Doctor: return json.dumps(rs.PERMISSION_DENY.__dict__, ensure_ascii=False) Report.update(form.reportId, None, form.status, None, form.techDesc, form.imageDesc, form.diagnoseDesc) else: report = Report(form.techDesc, form.imageDesc, form.diagnoseDesc, form.fileUrl, ReportType.Admin, form.status) Report.save(report) diagnose.reportId = report.id Diagnose.save(diagnose) #add report and diagnose to relation table reportDiagnoseRelation = ReportDiagnoseRelation( report.id, diagnose.id) ReportDiagnoseRelation.save(reportDiagnoseRelation) #flash('成功添加诊断评论') if form.status and form.status == constant.ReportStatus.Commited: diagnose = Diagnose.getDiagnoseById(form.diagnoseId) if diagnose: Diagnose.changeDiagnoseStatus( diagnose.id, constant.DiagnoseStatus.NeedDiagnose) if form.reportId is None and report: form.reportId = report.id #copy a report and add to relation table newReport = Report(form.techDesc, form.imageDesc, form.diagnoseDesc, form.fileUrl, ReportType.Doctor, constant.ReportStatus.Draft) Report.save(newReport) reportDiagnoseRelation = ReportDiagnoseRelation( newReport.id, diagnose.id) ReportDiagnoseRelation.save(reportDiagnoseRelation) diagnose.reportId = newReport.id Diagnose.save(diagnose) #end copy if diagnose and hasattr(diagnose, 'doctor'): doctor = diagnose.doctor if doctor and doctor.userId: content = dataChangeService.getDoctorNeedDiagnoseMessageContent( diagnose, doctor) #诊断通知 message = Message(constant.DefaultSystemAdminUserId, doctor.userId, '诊断通知', content, constant.MessageType.Diagnose) Message.save(message) #诊断日志 diagoseLog = DiagnoseLog( userId, form.diagnoseId, constant.DiagnoseLogAction.FetchDiagnoseEndAction) DiagnoseLog.save(db_session, diagoseLog) return json.dumps(formResult.__dict__, ensure_ascii=False) return json.dumps(formResult.__dict__, ensure_ascii=False)
def test_addDoctor(self): new_user_1 = User('印弘',"11111111111", "123456") new_user_1.email = "*****@*****.**" new_user_1.phone = "111111111111" new_user_1.type = UserStatus.doctor User.save(new_user_1) new_doctor_1 = Doctor(new_user_1.id) new_doctor_1.identityPhone = "029-12345567" new_doctor_1.username = "******" new_doctor_1.diagnoseCount = 10 new_doctor_1.feedbackCount = 5 new_doctor_1.goodFeedbackCount = 5 new_doctor_1.hospitalId = 1 new_doctor_1.departmentId = 1 new_doctor_1.title = "主任医师" new_doctor_1.status = 0 Doctor.save(new_doctor_1) new_doctor2skill_1_1 = Doctor2Skill(new_doctor_1.id,1) Doctor2Skill.save(new_doctor2skill_1_1) new_userrole = UserRole(new_user_1.id, RoleId.Doctor) UserRole.save(new_userrole) new_user_2 = User('宦怡',"22222222222", "123456") new_user_2.email = "*****@*****.**" new_user_2.phone = "22222222222" new_user_2.type = UserStatus.doctor User.save(new_user_2) new_doctor_2 = Doctor(new_user_2.id) new_doctor_2.identityPhone = "029-12345567" new_doctor_2.username = "******" new_doctor_2.diagnoseCount = 8 new_doctor_2.feedbackCount = 3 new_doctor_2.hospitalId = 1 new_doctor_2.departmentId = 1 new_doctor_2.title = "主任医师" new_doctor_2.status = 0 new_doctor_2.goodFeedbackCount = 2 Doctor.save(new_doctor_2) new_doctor2skill_1_2 = Doctor2Skill(new_doctor_2.id,2) Doctor2Skill.save(new_doctor2skill_1_2) new_userrole2 = UserRole(new_user_2.id, RoleId.Doctor) UserRole.save(new_userrole2) new_user_3 = User('张劲松',"33333333333", "123456") new_user_3.email = "*****@*****.**" new_user_3.phone = "33333333333" new_user_3.type = UserStatus.doctor User.save(new_user_3) new_doctor_3 = Doctor(new_user_3.id) new_doctor_3.identityPhone = "029-12345567" new_doctor_3.username = "******" new_doctor_3.diagnoseCount = 9 new_doctor_3.feedbackCount = 4 new_doctor_3.hospitalId = 1 new_doctor_3.departmentId = 1 new_doctor_3.title = "主任医师" new_doctor_3.status = 0 new_doctor_3.goodFeedbackCount = 3 Doctor.save(new_doctor_3) new_doctor2skill_1_3 = Doctor2Skill(new_doctor_3.id,3) Doctor2Skill.save(new_doctor2skill_1_3) new_userrole3 = UserRole(new_user_3.id, RoleId.Doctor) UserRole.save(new_userrole3) dp=DoctorProfile() dp.type=DoctorProfileType.Intro dp.description='从事影像诊断多年,对普通放射、CT以及血管造影的影像诊断有丰富的经验,能够综合各种诊断手段进行诊断。对磁共振的影像诊断有丰富的经验,尤其侧重神经系统疑难疾病的诊断,采用磁共振波谱等多项先进技术,对神经系统肿瘤,肌萎缩性侧索硬化、癫痫以及先天性发育异常、变性疾病等神经系统疾病进行诊断及预后评估,有独到的诊断特色。与神经外科合作,开展肿瘤术前功能定位定向,确保了手术的安全性以及有效性;与身心科合作,开展了精神疾病诊断及临床研究工作。' dp.userId= new_user_1.id DoctorProfile.save(dp) dp=DoctorProfile() dp.type=DoctorProfileType.Resume dp.userId= new_user_1.id dp.description='印弘, 西京医院放射科主任,教授,主任医师,博士,硕士研究生导师。 毕业于第四军医大学。先后在新加坡国立神经科学研究所及美国加州大学旧金山分校作为访问学者工作。承担或参加北京市自然科学基金,新加坡国家医学基金,国家十一五科技支撑项目等多项科研基金,任职期间发表学术论文20余篇,其中SCI 5篇。' DoctorProfile.save(dp) dp=DoctorProfile() dp.type=DoctorProfileType.Award dp.userId= new_user_1.id dp.description='担任国家自然科学基金委主办杂志《自然》杂志以及《实用放射学杂志》特约审稿专家' DoctorProfile.save(dp) dp=DoctorProfile() dp.type=DoctorProfileType.Other dp.userId= new_user_1.id dp.description='陕西省影像协会会长' DoctorProfile.save(dp) dp2=DoctorProfile() dp2.type=DoctorProfileType.Intro dp2.description='主要从事CT、MRI诊断及相关基础研究。90年代初在国内率先开展CT 影像后处理研究,在3D CE MRA、CTA成像,耳部HRCT、HRMRI影像及影像解剖基础研究,泌尿系疾患CT、MRI成像及前列腺癌的分子影像学方面做了较多的工作,并获得省及国家自然科学基金资助。' dp2.userId= new_user_2.id DoctorProfile.save(dp2) dp2=DoctorProfile() dp2.type=DoctorProfileType.Resume dp2.userId= new_user_2.id dp2.description='宦怡,主任医师,教授,博士生导师。先后共发表论文70余篇,主编副主编专著2部,参编的专著6部。承担国家自然科学基金、陕西省自然科学基金课题各1项,参与国家自然科学基金2项,国家“九五”科技公关攻关课题1项,军队青年基金课题1项。' DoctorProfile.save(dp2) dp2=DoctorProfile() dp2.type=DoctorProfileType.Award dp2.userId= new_user_2.id dp2.description='军队医疗成果二等奖1项,三等奖5项' DoctorProfile.save(dp2) dp3=DoctorProfile() dp3.type=DoctorProfileType.Intro dp3.description='长期坚持临床一线工作,历经放射科X线诊断组、CT组和磁共振组等部门工作,熟练掌握CT、MRI影像诊断。每年承担医疗系和口腔系5年制本科学员、8年制学员等的大课教学工作,发表教学论文4篇;指导进修生多人;参与指导硕士研究生及博士生多名。多次参加全国及省放射学会的专题讲座。' dp3.userId= new_user_3.id DoctorProfile.save(dp3) dp3=DoctorProfile() dp3.type=DoctorProfileType.Resume dp3.userId= new_user_3.id dp3.description='张劲松,男,副主任医师、副教授。1994年本科毕业于第四军医大学临床医学系(6年制本科),1997年获第四军医大学影像医学硕士学位,2005年获第四军医大学影像医学博士学位。2008年赴美国南加州大学放射科进修学习半年。' DoctorProfile.save(dp3) dp3=DoctorProfile() dp3.type=DoctorProfileType.Award dp3.userId= new_user_3.id dp3.description='获得省科技进步一等奖1项,全军医疗成果二等奖2项,全军医疗成果三等奖6项' DoctorProfile.save(dp3)
def test_addDoctor(self): new_user_1 = User('印弘',"1111111111", "123456") new_user_1.email = "*****@*****.**" new_user_1.phone = "111111111111" new_user_1.type = UserStatus.doctor new_user_1.imagePath = config.AVATAR_PREFIX+'avatar/yinhong-xj.png' User.save(new_user_1) new_doctor_1 = Doctor(new_user_1.id) new_doctor_1.identityPhone = "029-12345567" new_doctor_1.username = "******" new_doctor_1.diagnoseCount = 10 new_doctor_1.feedbackCount = 5 new_doctor_1.goodFeedbackCount = 5 new_doctor_1.hospitalId = 1 new_doctor_1.departmentId = 1 new_doctor_1.title = "主任医师" new_doctor_1.status = 0 Doctor.save(new_doctor_1) new_doctor2skill_1_1 = Doctor2Skill(new_doctor_1.id,1) Doctor2Skill.save(new_doctor2skill_1_1) new_userrole = UserRole(new_user_1.id, RoleId.Doctor) UserRole.save(new_userrole) new_user_2 = User('宦怡',"22222222222", "123456") new_user_2.email = "*****@*****.**" new_user_2.phone = "22222222222" new_user_2.imagePath = config.AVATAR_PREFIX+'avatar/huanyi-xj.jpg' new_user_2.type = UserStatus.doctor User.save(new_user_2) new_doctor_2 = Doctor(new_user_2.id) new_doctor_2.identityPhone = "029-12345567" new_doctor_2.username = "******" new_doctor_2.diagnoseCount = 8 new_doctor_2.feedbackCount = 3 new_doctor_2.hospitalId = 1 new_doctor_2.departmentId = 1 new_doctor_2.title = "主任医师" new_doctor_2.status = 0 new_doctor_2.goodFeedbackCount = 2 Doctor.save(new_doctor_2) new_doctor2skill_1_2 = Doctor2Skill(new_doctor_2.id,2) Doctor2Skill.save(new_doctor2skill_1_2) new_userrole2 = UserRole(new_user_2.id, RoleId.Doctor) UserRole.save(new_userrole2) new_user_3 = User('张劲松',"33333333333", "123456") new_user_3.email = "*****@*****.**" new_user_3.phone = "33333333333" new_user_3.type = UserStatus.doctor new_user_3.imagePath = config.AVATAR_PREFIX+'avatar/zhangjinsong-xj.jpg' User.save(new_user_3) new_doctor_3 = Doctor(new_user_3.id) new_doctor_3.identityPhone = "029-12345567" new_doctor_3.username = "******" new_doctor_3.diagnoseCount = 9 new_doctor_3.feedbackCount = 4 new_doctor_3.hospitalId = 1 new_doctor_3.departmentId = 1 new_doctor_3.title = "副主任医师" new_doctor_3.status = 0 new_doctor_3.goodFeedbackCount = 3 Doctor.save(new_doctor_3) new_doctor2skill_1_3 = Doctor2Skill(new_doctor_3.id,3) Doctor2Skill.save(new_doctor2skill_1_3) new_userrole3 = UserRole(new_user_3.id, RoleId.Doctor) UserRole.save(new_userrole3) #doctor 4 new_user_4 = User('孙立军',"88888888888", "123456") new_user_4.email = "*****@*****.**" new_user_4.phone = "88888888888" new_user_4.type = UserStatus.doctor new_user_4.imagePath = config.AVATAR_PREFIX+'avatar/sunlijun-xj.jpg' User.save(new_user_4) new_doctor_4 = Doctor(new_user_4.id) new_doctor_4.identityPhone = "029-12345567" new_doctor_4.username = "******" new_doctor_4.diagnoseCount = 9 new_doctor_4.feedbackCount = 4 new_doctor_4.hospitalId = 1 new_doctor_4.departmentId = 1 new_doctor_4.title = "主任医师" new_doctor_4.status = 0 new_doctor_4.goodFeedbackCount = 3 Doctor.save(new_doctor_4) new_doctor2skill_1_4 = Doctor2Skill(new_doctor_4.id,3) Doctor2Skill.save(new_doctor2skill_1_4) new_userrole4 = UserRole(new_user_4.id, RoleId.Doctor) UserRole.save(new_userrole4) #doctor 5 new_user_5 = User('魏光全',"99999999999", "123456") new_user_5.email = "*****@*****.**" new_user_5.phone = "88888888888" new_user_5.type = UserStatus.doctor new_user_5.imagePath = config.AVATAR_PREFIX+'avatar/weiguangquan-xj.jpg' User.save(new_user_5) new_doctor_5 = Doctor(new_user_5.id) new_doctor_5.identityPhone = "029-12345567" new_doctor_5.username = "******" new_doctor_5.diagnoseCount = 9 new_doctor_5.feedbackCount = 4 new_doctor_5.hospitalId = 1 new_doctor_5.departmentId = 1 new_doctor_5.title = "副主任医师" new_doctor_5.status = 0 new_doctor_5.goodFeedbackCount = 3 Doctor.save(new_doctor_5) new_doctor2skill_1_5 = Doctor2Skill(new_doctor_5.id,3) Doctor2Skill.save(new_doctor2skill_1_5) new_userrole5 = UserRole(new_user_5.id, RoleId.Doctor) UserRole.save(new_userrole5) #doctor 6 new_user_6 = User('郑敏文',"00000000000", "123456") new_user_6.email = "*****@*****.**" new_user_6.phone = "00000000000" new_user_6.type = UserStatus.doctor new_user_6.imagePath = config.AVATAR_PREFIX+'avatar/zhengminwen-xj.jpg' User.save(new_user_6) new_doctor_6 = Doctor(new_user_6.id) new_doctor_6.identityPhone = "029-12345567" new_doctor_6.username = "******" new_doctor_6.diagnoseCount = 9 new_doctor_6.feedbackCount = 4 new_doctor_6.hospitalId = 1 new_doctor_6.departmentId = 1 new_doctor_6.title = "副主任医师" new_doctor_6.status = 0 new_doctor_6.goodFeedbackCount = 3 Doctor.save(new_doctor_6) new_doctor2skill_1_6 = Doctor2Skill(new_doctor_6.id,3) Doctor2Skill.save(new_doctor2skill_1_6) new_userrole6 = UserRole(new_user_6.id, RoleId.Doctor) UserRole.save(new_userrole6) dp=DoctorProfile() dp.type=DoctorProfileType.Intro dp.description='从事影像诊断多年,对普通放射、CT以及血管造影的影像诊断有丰富的经验,能够综合各种诊断手段进行诊断。对磁共振的影像诊断有丰富的经验,尤其侧重神经系统疑难疾病的诊断,采用磁共振波谱等多项先进技术,对神经系统肿瘤,肌萎缩性侧索硬化、癫痫以及先天性发育异常、变性疾病等神经系统疾病进行诊断及预后评估,有独到的诊断特色。与神经外科合作,开展肿瘤术前功能定位定向,确保了手术的安全性以及有效性;与身心科合作,开展了精神疾病诊断及临床研究工作。' dp.userId= new_user_1.id DoctorProfile.save(dp) dp=DoctorProfile() dp.type=DoctorProfileType.Resume dp.userId= new_user_1.id dp.description='印弘, 西京医院放射科主任,教授,主任医师,博士,硕士研究生导师。 毕业于第四军医大学。先后在新加坡国立神经科学研究所及美国加州大学旧金山分校作为访问学者工作。承担或参加北京市自然科学基金,新加坡国家医学基金,国家十一五科技支撑项目等多项科研基金,任职期间发表学术论文20余篇,其中SCI 5篇。' DoctorProfile.save(dp) dp=DoctorProfile() dp.type=DoctorProfileType.Award dp.userId= new_user_1.id dp.description='担任国家自然科学基金委主办杂志《自然》杂志以及《实用放射学杂志》特约审稿专家' DoctorProfile.save(dp) # dp=DoctorProfile() # dp.type=DoctorProfileType.Other # dp.userId= new_user_1.id # dp.description='陕西省影像协会会长' # DoctorProfile.save(dp) dp2=DoctorProfile() dp2.type=DoctorProfileType.Intro dp2.description='主要从事CT、MRI诊断及相关基础研究。90年代初在国内率先开展CT 影像后处理研究,在3D CE MRA、CTA成像,耳部HRCT、HRMRI影像及影像解剖基础研究,泌尿系疾患CT、MRI成像及前列腺癌的分子影像学方面做了较多的工作,并获得省及国家自然科学基金资助。' dp2.userId= new_user_2.id DoctorProfile.save(dp2) dp2=DoctorProfile() dp2.type=DoctorProfileType.Resume dp2.userId= new_user_2.id dp2.description='宦怡,主任医师,教授,博士生导师。先后共发表论文70余篇,主编副主编专著2部,参编的专著6部。承担国家自然科学基金、陕西省自然科学基金课题各1项,参与国家自然科学基金2项,国家“九五”科技公关攻关课题1项,军队青年基金课题1项。' DoctorProfile.save(dp2) dp2=DoctorProfile() dp2.type=DoctorProfileType.Award dp2.userId= new_user_2.id dp2.description='军队医疗成果二等奖1项,三等奖5项' DoctorProfile.save(dp2) dp3=DoctorProfile() dp3.type=DoctorProfileType.Intro dp3.description='长期坚持临床一线工作,历经放射科X线诊断组、CT组和磁共振组等部门工作,熟练掌握CT、MRI影像诊断。每年承担医疗系和口腔系5年制本科学员、8年制学员等的大课教学工作,发表教学论文4篇;指导进修生多人;参与指导硕士研究生及博士生多名。多次参加全国及省放射学会的专题讲座。' dp3.userId= new_user_3.id DoctorProfile.save(dp3) dp3=DoctorProfile() dp3.type=DoctorProfileType.Resume dp3.userId= new_user_3.id dp3.description='张劲松,男,副主任医师、副教授。1994年本科毕业于第四军医大学临床医学系(6年制本科),1997年获第四军医大学影像医学硕士学位,2005年获第四军医大学影像医学博士学位。2008年赴美国南加州大学放射科进修学习半年。' DoctorProfile.save(dp3) dp3=DoctorProfile() dp3.type=DoctorProfileType.Award dp3.userId= new_user_3.id dp3.description='获得省科技进步一等奖1项,全军医疗成果二等奖2项,全军医疗成果三等奖6项' DoctorProfile.save(dp3) #doctor 4 dp4=DoctorProfile() dp4.type=DoctorProfileType.Intro dp4.description='以第一作者或通讯作者发表论文近100余篇,其中2篇被SCI收录。主要研究方向为①微创与介入放射学以及心血管疾病影像诊断;②心肌缺血与梗死后促血管新生分子治疗学。' dp4.userId= new_user_4.id DoctorProfile.save(dp4) dp4=DoctorProfile() dp4.type=DoctorProfileType.Resume dp4.userId= new_user_4.id dp4.description='孙立军,男,1960年6月03日出生。博士,主任医师,教授。1983年毕业于第四军医大学空医系本科,1986~1989年攻读影像学硕士学位, 1992~1995年攻读影像学博士学位' DoctorProfile.save(dp4) dp4=DoctorProfile() dp4.type=DoctorProfileType.Award dp4.userId= new_user_4.id dp4.description='2006年度陕西省科技进步二等奖(第二名),2008年度军队医疗成果二等奖(第四名),2011年陕西省科技进步二等奖(第三名)' DoctorProfile.save(dp4) #doctor 5 dp5=DoctorProfile() dp5.type=DoctorProfileType.Intro dp5.description='主要研究方向:分子影像学。以第一作者发表文章48篇,其中7篇被SCI收录,最高影响因子8.3.参编专著3部。主持国家自然科学基金2项,参与(第二作者) 国家自然科学基金7项,其中包括NSFC重大项目:肿瘤分子影像基础研究.参与“973”子课题1项。参编专著3。' dp5.userId= new_user_5.id DoctorProfile.save(dp5) dp5=DoctorProfile() dp5.type=DoctorProfileType.Resume dp5.userId= new_user_5.id dp5.description='魏光全,男,副教授,副主任医师,硕士研究生导师' DoctorProfile.save(dp5) dp5=DoctorProfile() dp5.type=DoctorProfileType.Award dp5.userId= new_user_5.id dp5.description='中国人民解放军总后勤部特殊岗位津贴获得者(2005);第四军医大学学术新人获得者(2005)' DoctorProfile.save(dp5) #doctor 6 dp6=DoctorProfile() dp6.type=DoctorProfileType.Intro dp6.description='主要研究方向为心血管疾病影像诊断,在西北地区最早开展对冠心病等各种心血管疾病的CT诊断,积累了丰富的临床经验。发表论文60余篇,SCI收录6篇。参编专著3部。' dp6.userId= new_user_6.id DoctorProfile.save(dp6) dp6=DoctorProfile() dp6.type=DoctorProfileType.Resume dp6.userId= new_user_6.id dp6.description='郑敏文,女,第四军医大学西京医院放射科副主任。博士学历,副教授,副主任医师,硕士研究生导师' DoctorProfile.save(dp6) dp6=DoctorProfile() dp6.type=DoctorProfileType.Award dp6.userId= new_user_6.id dp6.description='获军队医疗成果二等奖2项,省级科技进步二等奖2项' DoctorProfile.save(dp6)
def test_add_doctor(self): new_location_1 = Location("西安_1") Skill.save(new_location_1) new_location_2 = Location("西安_2") Skill.save(new_location_2) new_location_3 = Location("西安_3") Skill.save(new_location_3) new_skill_1 = Skill("头部") Skill.save(new_skill_1) new_skill_2 = Skill("颈部") Skill.save(new_skill_2) new_skill_3 = Skill("胸部") Skill.save(new_skill_3) new_skill_1 = Position("头部") Skill.save(new_skill_1) new_skill_2 = Position("颈部") Skill.save(new_skill_2) new_skill_3 = Position("胸部") Skill.save(new_skill_3) new_hospital = Hospital("西22安西京医院", "地址——西22安西京医院", "描述-西22安西京医院", "22") Hospital.save(new_hospital) new_department_1 = Department("影像科") Skill.save(new_department_1) new_department_2 = Department("内科") Skill.save(new_department_2) new_department_3 = Department("外科") Skill.save(new_department_3) new_user_1 = User("18511134676", "123456") new_user_1.email = "*****@*****.**" new_user_1.phone = "18511134676" new_user_1.type = UserStatus.doctor User.save(new_user_1) new_doctor_1 = Doctor(new_user_1.id) new_doctor_1.identityPhone = "010-12345567" new_doctor_1.username = "******" new_doctor_1.diagnoseCount = 777 new_doctor_1.feedbackCount = 888 new_doctor_1.hospitalId = new_hospital.id new_doctor_1.departmentId = new_department_1.id new_doctor_1.title = "副主任医师1" Doctor.save(new_doctor_1) new_doctor2skill_1_1 = Doctor2Skill(new_doctor_1.id, new_skill_1.id) Doctor2Skill.save(new_doctor2skill_1_1) new_doctor2skill_1_2 = Doctor2Skill(new_doctor_1.id, new_skill_3.id) Doctor2Skill.save(new_doctor2skill_1_2) new_userrole = UserRole(new_user_1.id, RoleId.Doctor) UserRole.save(new_userrole) new_user_2 = User("18511122567", "123456") new_user_2.email = "*****@*****.**" new_user_2.phone = "18511122567" new_user_2.type = UserStatus.doctor User.save(new_user_2) new_doctor_2 = Doctor(new_user_2.id) new_doctor_2.identityPhone = "010-12345667" new_doctor_2.username = "******" new_doctor_2.diagnoseCount = 666 new_doctor_2.feedbackCount = 777 new_doctor_2.hospitalId = new_hospital.id new_doctor_2.departmentId = new_department_2.id new_doctor_2.title = "副主任医师2" Doctor.save(new_doctor_2) new_doctor2skill_2_1 = Doctor2Skill(new_doctor_2.id, new_skill_2.id) Doctor2Skill.save(new_doctor2skill_2_1) new_doctor2skill_2_2 = Doctor2Skill(new_doctor_2.id, new_skill_3.id) Doctor2Skill.save(new_doctor2skill_2_2) new_userrole = UserRole(new_user_2.id, RoleId.Doctor) UserRole.save(new_userrole) new_user_3 = User("18511142567", "123456") new_user_3.email = "*****@*****.**" new_user_3.phone = "18511142567" new_user_3.type = UserStatus.doctor User.save(new_user_3) new_doctor_3 = Doctor(new_user_3.id) new_doctor_3.identityPhone = "020-12346678" new_doctor_3.username = "******" new_doctor_3.hospitalId = new_hospital.id new_doctor_3.departmentId = new_department_3.id new_doctor_3.title = "副主任医师2" new_doctor_3.diagnoseCount = 999 new_doctor_3.feedbackCount = 1000 Doctor.save(new_doctor_3) new_doctor2skill_3_1 = Doctor2Skill(new_doctor_3.id, new_skill_1.id) Doctor2Skill.save(new_doctor2skill_3_1) new_doctor2skill_3_2 = Doctor2Skill(new_doctor_3.id, new_skill_2.id) Doctor2Skill.save(new_doctor2skill_3_2) new_userrole = UserRole(new_user_3.id, RoleId.Doctor) UserRole.save(new_userrole) new_user_1 = User("18511114676", "123456") new_user_1.email = "*****@*****.**" new_user_1.phone = "18511234676" new_user_1.type = UserStatus.doctor User.save(new_user_1) new_doctor_1 = Doctor(new_user_1.id) new_doctor_1.identityPhone = "020-12345567" new_doctor_1.username = "******" new_doctor_1.diagnoseCount = 775 new_doctor_1.feedbackCount = 788 new_doctor_1.hospitalId = new_hospital.id new_doctor_1.departmentId = new_department_1.id new_doctor_1.title = "副主任医师2" Doctor.save(new_doctor_1) new_doctor2skill_1_1 = Doctor2Skill(new_doctor_1.id, new_skill_1.id) Doctor2Skill.save(new_doctor2skill_1_1) new_doctor2skill_1_2 = Doctor2Skill(new_doctor_1.id, new_skill_3.id) Doctor2Skill.save(new_doctor2skill_1_2) new_userrole = UserRole(new_user_1.id, RoleId.Doctor) UserRole.save(new_userrole) new_user_1 = User("18511114676", "123456") new_user_1.email = "*****@*****.**" new_user_1.phone = "18511234676" new_user_1.type = UserStatus.doctor User.save(new_user_1) new_doctor_1 = Doctor(new_user_1.id) new_doctor_1.identityPhone = "020-12345567" new_doctor_1.username = "******" new_doctor_1.diagnoseCount = 775 new_doctor_1.feedbackCount = 788 new_doctor_1.hospitalId = new_hospital.id new_doctor_1.departmentId = new_department_1.id new_doctor_1.title = "副主任医师2" Doctor.save(new_doctor_1) new_doctor2skill_1_1 = Doctor2Skill(new_doctor_1.id, new_skill_1.id) Doctor2Skill.save(new_doctor2skill_1_1) new_doctor2skill_1_2 = Doctor2Skill(new_doctor_1.id, new_skill_3.id) Doctor2Skill.save(new_doctor2skill_1_2) new_userrole = UserRole(new_user_1.id, RoleId.Doctor) UserRole.save(new_userrole) new_user_1 = User("18511114676", "123456") new_user_1.email = "*****@*****.**" new_user_1.phone = "18511234676" new_user_1.type = UserStatus.doctor User.save(new_user_1) new_doctor_1 = Doctor(new_user_1.id) new_doctor_1.identityPhone = "020-12345567" new_doctor_1.username = "******" new_doctor_1.diagnoseCount = 775 new_doctor_1.feedbackCount = 788 new_doctor_1.hospitalId = new_hospital.id new_doctor_1.departmentId = new_department_1.id new_doctor_1.title = "副主任医师2" Doctor.save(new_doctor_1) new_doctor2skill_1_1 = Doctor2Skill(new_doctor_1.id, new_skill_1.id) Doctor2Skill.save(new_doctor2skill_1_1) new_doctor2skill_1_2 = Doctor2Skill(new_doctor_1.id, new_skill_3.id) Doctor2Skill.save(new_doctor2skill_1_2) new_userrole = UserRole(new_user_1.id, RoleId.Doctor) UserRole.save(new_userrole) new_user_1 = User("18511114676", "123456") new_user_1.email = "*****@*****.**" new_user_1.phone = "18511234676" new_user_1.type = UserStatus.doctor User.save(new_user_1) new_doctor_1 = Doctor(new_user_1.id) new_doctor_1.identityPhone = "020-12345567" new_doctor_1.username = "******" new_doctor_1.diagnoseCount = 775 new_doctor_1.feedbackCount = 788 new_doctor_1.hospitalId = new_hospital.id new_doctor_1.departmentId = new_department_1.id new_doctor_1.title = "副主任医师2" Doctor.save(new_doctor_1) new_doctor2skill_1_1 = Doctor2Skill(new_doctor_1.id, new_skill_1.id) Doctor2Skill.save(new_doctor2skill_1_1) new_doctor2skill_1_2 = Doctor2Skill(new_doctor_1.id, new_skill_3.id) Doctor2Skill.save(new_doctor2skill_1_2) new_userrole = UserRole(new_user_1.id, RoleId.Doctor) UserRole.save(new_userrole) new_user_1 = User("18511114676", "123456") new_user_1.email = "*****@*****.**" new_user_1.phone = "18511234676" new_user_1.type = UserStatus.doctor User.save(new_user_1) new_doctor_1 = Doctor(new_user_1.id) new_doctor_1.identityPhone = "020-12345567" new_doctor_1.username = "******" new_doctor_1.diagnoseCount = 775 new_doctor_1.feedbackCount = 788 new_doctor_1.hospitalId = new_hospital.id new_doctor_1.departmentId = new_department_1.id new_doctor_1.title = "副主任医师2" Doctor.save(new_doctor_1) new_doctor2skill_1_1 = Doctor2Skill(new_doctor_1.id, new_skill_1.id) Doctor2Skill.save(new_doctor2skill_1_1) new_doctor2skill_1_2 = Doctor2Skill(new_doctor_1.id, new_skill_3.id) Doctor2Skill.save(new_doctor2skill_1_2) new_userrole = UserRole(new_user_1.id, RoleId.Doctor) UserRole.save(new_userrole)
def applyDiagnoseForm(formid): if (int(formid) == 1) : form = DiagnoseForm3(request.form) form_result = form.validate() if form_result.status == rs.SUCCESS.status: if(form.diagnoseId): new_diagnose = Diagnose.getDiagnoseById(form.diagnoseId) else: new_diagnose = Diagnose.getNewDiagnoseByStatus(DiagnoseStatus.Draft, session['userId']) if(new_diagnose is None): new_diagnose = Diagnose() new_diagnose.status = DiagnoseStatus.Draft new_diagnose.doctorId = form.doctorId new_diagnose.uploadUserId = session['userId'] Diagnose.save(new_diagnose) form_result.data = {'formId': 2, 'diagnoseId': new_diagnose.id} return jsonify(form_result.__dict__) elif (int(formid) == 2) : form = DiagnoseForm1(request.form) form_result = form.validate() if form_result.status == rs.SUCCESS.status: if form.diagnoseId is not None: new_diagnose = Diagnose.getDiagnoseById(form.diagnoseId) else: new_diagnose = Diagnose.getNewDiagnoseByStatus(DiagnoseStatus.Draft, int(session['userId'])) if(new_diagnose is not None): # 去拿没有draft的用户 if(form.exist): new_patient = Patient.get_patient_by_id(form.patientid) else: new_patient = Patient.get_patient_draft(new_diagnose.patientId) if new_patient is None: new_patient = Patient() new_patient.type = PatientStatus.diagnose new_patient.userID = session['userId'] new_patient.realname = form.patientname new_patient.gender = form.patientsex new_patient.birthDate = datetime.strptime(form.birthdate, "%Y-%m-%d") new_patient.identityCode = form.identitynumber new_patient.locationId = form.locationId new_patient.identityPhone = form.phonenumber new_patient.status = ModelStatus.Draft # new_patient.locationId = form.location Patient.save(new_patient) new_diagnose.patientId = new_patient.id Diagnose.save(new_diagnose) # Hospital User 注册用户 if(form.isHospitalUser): new_user = User(form.phonenumber, random.sample('zyxwvutsrqponmlkjihgfedcba1234567890',6), False) new_user.type = UserStatus.patent new_user.status = ModelStatus.Draft User.save(new_user) new_patient.userID = new_user.id Patient.save(new_patient) new_userrole = UserRole(new_user.id, RoleId.Patient) UserRole.save(new_userrole) form_result.data = {'formId': 3, } else: form_result = ResultStatus(FAILURE.status, "找不到第一步草稿") return jsonify(form_result.__dict__) elif (int(formid) == 3): form = DiagnoseForm2(request.form) form_result = form.validate() if form_result.status == rs.SUCCESS.status: if form.diagnoseId is not None: new_diagnose = Diagnose.getDiagnoseById(form.diagnoseId) else: new_diagnose = Diagnose.getNewDiagnoseByStatus(DiagnoseStatus.Draft, int(session['userId'])) if new_diagnose is not None: if form.exist: new_pathology = Pathology.getById(form.pathologyId) elif new_diagnose.pathologyId: new_pathology = Pathology.getById(new_diagnose.pathologyId) else: new_pathology = Pathology.getByPatientStatus(session['userId'], ModelStatus.Draft) if new_pathology is None: new_pathology = Pathology(new_diagnose.patientId) new_pathology.diagnoseMethod = form.dicomtype new_pathology.status = ModelStatus.Draft new_pathology.save(new_pathology) PathologyPostion.deleteByPathologyId(new_pathology.id) for position in form.patientlocation: new_position_id = PathologyPostion(new_pathology.id, position) PathologyPostion.save(new_position_id) File.cleanDirtyFile(form.fileurl, new_pathology.id, FileType.Dicom) for fileurl in form.fileurl: new_file = File.getFilebyId(int(fileurl)) new_file.pathologyId = new_pathology.id File.save(new_file) new_diagnose.pathologyId = new_pathology.id Diagnose.save(new_diagnose) form_result.data = {'formId': 4} else: form_result = ResultStatus(FAILURE.status, "找不到上步的草稿") return jsonify(form_result.__dict__) elif (int(formid) == 4): form = DiagnoseForm4(request.form) form_result = form.validate() if form_result.status == rs.SUCCESS.status: if form.diagnoseId is not None: new_diagnose = Diagnose.getDiagnoseById(form.diagnoseId) else: new_diagnose = Diagnose.getNewDiagnoseByStatus(DiagnoseStatus.Draft, int(session['userId'])) if(new_diagnose is not None): new_pathology = Pathology.getById(new_diagnose.pathologyId) if(new_pathology is not None): new_pathology.caseHistory = form.illnessHistory new_pathology.hospitalId = form.hospitalId new_pathology.status = ModelStatus.Normal Pathology.save(new_pathology) File.cleanDirtyFile(form.fileurl, new_pathology.id, FileType.FileAboutDiagnose) for fileurl in form.fileurl: new_file = File.getFilebyId(int(fileurl)) new_file.pathologyId = new_pathology.id File.save(new_file) new_patient = Patient.get_patient_by_id(new_diagnose.patientId) new_patient.status = PatientStatus.diagnose new_diagnose.status = DiagnoseStatus.NeedPay Diagnose.save(new_diagnose) new_diagnoselog = DiagnoseLog(new_diagnose.uploadUserId, new_diagnose.id, DiagnoseLogAction.NewDiagnoseAction) DiagnoseLog.save(db_session, new_diagnoselog) else: form_result = ResultStatus(FAILURE.status, "找不到上步的草稿1") else: form_result = ResultStatus(FAILURE.status, "找不到上步的草稿2") form_result.data = {'isFinal': True} return jsonify(form_result.__dict__) else: return jsonify(ResultStatus(FAILURE.status, "错误的表单号").__dict__)
def applyDiagnoseForm(formid): if (int(formid) == 1): form = DiagnoseForm3(request.form) form_result = form.validate() if form_result.status == rs.SUCCESS.status: if (form.diagnoseId): new_diagnose = Diagnose.getDiagnoseById(form.diagnoseId) else: new_diagnose = Diagnose.getNewDiagnoseByStatus( DiagnoseStatus.Draft, session['userId']) if (new_diagnose is None): new_diagnose = Diagnose() new_diagnose.status = DiagnoseStatus.Draft new_diagnose.doctorId = form.doctorId new_diagnose.uploadUserId = session['userId'] Diagnose.save(new_diagnose) form_result.data = {'formId': 2, 'diagnoseId': new_diagnose.id} return jsonify(form_result.__dict__) elif (int(formid) == 2): form = DiagnoseForm1(request.form) form_result = form.validate() if form_result.status == rs.SUCCESS.status: if form.diagnoseId is not None: new_diagnose = Diagnose.getDiagnoseById(form.diagnoseId) else: new_diagnose = Diagnose.getNewDiagnoseByStatus( DiagnoseStatus.Draft, int(session['userId'])) if (new_diagnose is not None): needcreateNewUserByHospitalUser = True # 去拿没有draft的用户 if (form.exist): #select exist patient , from list, when modify exist diagnose new_patient = Patient.get_patient_by_id(form.patientid) else: #update draft patient when modify exist diagnose new_patient = Patient.getPatientDraftByPatienId( new_diagnose.patientId) if new_patient: new_patient.realname = form.patientname new_patient.gender = form.patientsex new_patient.birthDate = datetime.strptime( form.birthdate, "%Y-%m-%d") new_patient.identityCode = form.identitynumber new_patient.locationId = form.locationId new_patient.identityPhone = form.phonenumber Patient.save(new_patient) needcreateNewUserByHospitalUser = False #create a new patient if new_patient is None: new_patient = Patient() new_patient.type = PatientStatus.diagnose new_patient.userID = session['userId'] new_patient.realname = form.patientname new_patient.gender = form.patientsex new_patient.birthDate = datetime.strptime( form.birthdate, "%Y-%m-%d") new_patient.identityCode = form.identitynumber new_patient.locationId = form.locationId new_patient.identityPhone = form.phonenumber new_patient.status = ModelStatus.Draft # new_patient.locationId = form.location Patient.save(new_patient) new_diagnose.patientId = new_patient.id Diagnose.save(new_diagnose) # Hospital User 注册用户 if form.isHospitalUser and ( not form.exist) and needcreateNewUserByHospitalUser: userQuery = User.getByPhone(form.phonenumber) if userQuery.count() <= 0: passwd = random.sample( 'zyxwvutsrqponmlkjihgfedcba1234567890', 6) passwd = ''.join(passwd) new_user = User(form.patientname, form.phonenumber, passwd, True) new_user.type = UserStatus.patent new_user.status = ModelStatus.Normal User.save(new_user) new_patient.userID = new_user.id Patient.save(new_patient) new_userrole = UserRole(new_user.id, RoleId.Patient) UserRole.save(new_userrole) sendRegisterMobileMessage(session.get('userId'), new_diagnose, new_user.phone, passwd) else: new_patient.userID = userQuery.first().id Patient.save(new_patient) form_result.data = { 'formId': 3, } else: form_result = ResultStatus(FAILURE.status, "找不到第一步草稿") return jsonify(form_result.__dict__) elif (int(formid) == 3): form = DiagnoseForm2(request.form) form_result = form.validate() if form_result.status == rs.SUCCESS.status: if form.diagnoseId is not None: new_diagnose = Diagnose.getDiagnoseById(form.diagnoseId) else: new_diagnose = Diagnose.getNewDiagnoseByStatus( DiagnoseStatus.Draft, int(session['userId'])) if new_diagnose is not None: #直接选择的病例,不是新建或者更改 isExistingPathology = False if form.exist: new_pathology = Pathology.getById(form.pathologyId) isExistingPathology = True elif new_diagnose.pathologyId: new_pathology = Pathology.getById(new_diagnose.pathologyId) else: new_pathology = Pathology.getByPatientStatus( session['userId'], ModelStatus.Draft) if new_pathology is None: new_pathology = Pathology(new_diagnose.patientId) if not isExistingPathology: new_pathology.diagnoseMethod = form.dicomtype new_pathology.status = ModelStatus.Draft new_pathology.save(new_pathology) PathologyPostion.deleteByPathologyId(new_pathology.id) for position in form.patientlocation: new_position_id = PathologyPostion( new_pathology.id, position) PathologyPostion.save(new_position_id) File.cleanDirtyFile(form.fileurl, new_pathology.id, FileType.Dicom) if form.fileurl and len(form.fileurl) > 0: for fileurl in form.fileurl: new_file = File.getFilebyId(int(fileurl)) new_file.pathologyId = new_pathology.id File.save(new_file) new_diagnose.pathologyId = new_pathology.id Diagnose.save(new_diagnose) form_result.data = {'formId': 4} else: form_result = ResultStatus(FAILURE.status, "找不到上步的草稿") return jsonify(form_result.__dict__) elif (int(formid) == 4): form = DiagnoseForm4(request.form) form_result = form.validate() if form_result.status == rs.SUCCESS.status: if form.diagnoseId is not None: new_diagnose = Diagnose.getDiagnoseById(form.diagnoseId) else: new_diagnose = Diagnose.getNewDiagnoseByStatus( DiagnoseStatus.Draft, int(session['userId'])) if (new_diagnose is not None): new_pathology = Pathology.getById(new_diagnose.pathologyId) if (new_pathology is not None): new_pathology.caseHistory = form.illnessHistory new_pathology.hospitalId = form.hospitalId new_pathology.status = ModelStatus.Normal Pathology.save(new_pathology) File.cleanDirtyFile(form.fileurl, new_pathology.id, FileType.FileAboutDiagnose) if form.fileurl and len(form.fileurl) > 0: for fileurl in form.fileurl: new_file = File.getFilebyId(int(fileurl)) new_file.pathologyId = new_pathology.id File.save(new_file) new_patient = Patient.get_patient_by_id( new_diagnose.patientId) new_patient.status = PatientStatus.diagnose #add for need update scenario if new_diagnose.status == constant.DiagnoseStatus.NeedUpdate: new_diagnoselog = DiagnoseLog( new_diagnose.uploadUserId, new_diagnose.id, DiagnoseLogAction.DiagnoseNeedUpateRecommitAction) DiagnoseLog.save(db_session, new_diagnoselog) new_diagnose.status = DiagnoseStatus.Triaging Diagnose.save(new_diagnose) #hospitalUser type=1 else: if form.type == '1' and not checkFilesExisting( new_diagnose): new_diagnoselog = DiagnoseLog( new_diagnose.uploadUserId, new_diagnose.id, DiagnoseLogAction.NewDiagnoseAction) DiagnoseLog.save(db_session, new_diagnoselog) #update by lichuan , save diagnose and change to needPay new_diagnose.status = DiagnoseStatus.HospitalUserDiagnoseNeedCommit Diagnose.save(new_diagnose) #end update else: #产生alipay,发送短消息 userId = session.get('userId') new_diagnose.ossUploaded = constant.DiagnoseUploaed.Uploaded new_diagnose.status = DiagnoseStatus.NeedPay Diagnose.save(new_diagnose) sendAllMessage(userId, new_diagnose) else: form_result = ResultStatus(FAILURE.status, "找不到上步的草稿1") else: form_result = ResultStatus(FAILURE.status, "找不到上步的草稿2") form_result.data = {'isFinal': True} return jsonify(form_result.__dict__) else: return jsonify(ResultStatus(FAILURE.status, "错误的表单号").__dict__)