def userCenterDiagnoses(diagnoses): if diagnoses is None or len(diagnoses)<1: return result=[] for diagnose in diagnoses: diagDict={} if hasattr(diagnose,"patient") and diagnose.patient and diagnose.patient.realname: diagDict['patientName']=diagnose.patient.realname if hasattr(diagnose,"doctor") and diagnose.doctor and diagnose.doctor.username: diagDict['doctorName']=diagnose.doctor.username if hasattr(diagnose.doctor,'hospital') and diagnose.doctor.hospital and diagnose.doctor.hospital.name: diagDict['doctorHispital']= diagnose.doctor.hospital.name if hasattr(diagnose,"hospital") and diagnose.hospital and diagnose.hospital.name: diagDict['hispital']=diagnose.hospital.name if diagnose.createDate: diagDict["date"]=diagnose.createDate.strftime('%Y-%m-%d') if diagnose.id: diagDict['id']=diagnose.id if diagnose.diagnoseSeriesNumber: diagDict['diagnosenumber']=diagnose.diagnoseSeriesNumber if diagnose.status or diagnose.status==0: diagDict['statusId']=diagnose.status diagDict['status']=constant.DiagnoseStatus.getStatusName(diagnose.status) if diagnose.pathologyId: dicomUrl=File.getDicomFileUrl(diagnose.pathologyId) if dicomUrl: diagDict['dicomUrl'] = dicomUrl if hasattr(diagnose,'report') and diagnose.report and diagnose.report.fileUrl: diagDict['reportUrl']= diagnose.report.fileUrl if hasattr(diagnose,"pathology") and diagnose.pathology: pathology=diagnose.pathology if hasattr(pathology,"pathologyPostions") and pathology.pathologyPostions: pathologyPositons=pathology.pathologyPostions if pathologyPositons and len(pathologyPositons)>0: positions=u'' for pathologyPositon in pathologyPositons: position=pathologyPositon.position positions+=(u' '+position.name) diagDict['positionName']=positions #print diagDict['doctorName'],diagDict['positons'] isFeedback=Comment.existCommentBydiagnose(diagnose.id,type=constant.CommentType.DiagnoseComment) diagDict['isFeedback']=isFeedback result.append(diagDict) return result
def getDiagnoseDetailInfoByPatient(session, diagnose): if diagnose is None: return diagDict = {} diagDict["id"] = diagnose.id if hasattr(diagnose, "patient") and diagnose.patient: if diagnose.patient.realname: diagDict["patientName"] = diagnose.patient.realname if diagnose.patient.gender: diagDict["gender"] = constant.Gender[diagnose.patient.gender] if diagnose.patient.birthDate: diagDict["birthDate"] = diagnose.patient.birthDate.strftime("%Y-%m-%d") if diagnose.diagnoseSeriesNumber: diagDict["diagnosenumber"] = diagnose.diagnoseSeriesNumber # diagDict['type']=diagnose.type if hasattr(diagnose, "doctor") and diagnose.doctor and diagnose.doctor.username: diagDict["doctorName"] = diagnose.doctor.username if diagnose.createDate: diagDict["applyTime"] = diagnose.createDate.strftime("%Y-%m-%d") if diagnose.status: diagDict["diagnoseStatus"] = diagnose.status # if hasattr(diagnose,"hospital") and diagnose.hospital: # diagDict['hospitalHistory']=diagnose.hospital.name # diagDict['hospitalId']=diagnose.hospitalId if diagnose.pathologyId: diagDict["dicomUrl"] = File.getDicomFileUrl(diagnose.pathologyId) if diagnose.pathologyId: diagDict["docUrl"] = File.getFilesUrl(diagnose.pathologyId) if hasattr(diagnose, "pathology") and diagnose.pathology: pathology = diagnose.pathology diagDict["caseHistory"] = pathology.caseHistory diagDict["diagnoseType"] = pathology.diagnoseMethod if hasattr(pathology, "pathologyPostions") and pathology.pathologyPostions: pathologyPositons = pathology.pathologyPostions if pathologyPositons and len(pathologyPositons) > 0: positions = u"" for pathologyPositon in pathologyPositons: position = pathologyPositon.position positions += u" " + position.name diagDict["positionName"] = positions if hasattr(pathology, "hospital") and pathology.hospital: diagDict["hospitalHistory"] = pathology.hospital.name diagDict["hospitalId"] = pathology.hospitalId if hasattr(diagnose, "report") and diagnose.report: diagDict["reportId"] = diagnose.reportId # diagDict['techDes']=diagnose.report.techDesc # diagDict['imageDes']=diagnose.report.imageDesc # diagDict['diagnoseResult']=diagnose.report.diagnoseDesc diagnoseLogs = DiagnoseLog.getDiagnoseLogByDiagnoseId(session, diagnose.id) diagnoseLogsDict = getDiagnoseLogsDict(diagnoseLogs) if diagnoseLogs and len(diagnoseLogs) > 0: diagDict["actions"] = diagnoseLogsDict isFeedback = Comment.existCommentBydiagnose(diagnose.id, type=constant.CommentType.DiagnoseComment) diagDict["isFeedback"] = str(isFeedback) return diagDict
def userCenterDiagnoses(diagnoses, type=None): if diagnoses is None or len(diagnoses) < 1: return result = [] for diagnose in diagnoses: diagDict = {} if hasattr( diagnose, "patient") and diagnose.patient and diagnose.patient.realname: diagDict['patientName'] = diagnose.patient.realname if hasattr(diagnose, "doctor") and diagnose.doctor and diagnose.doctor.username: diagDict['doctorName'] = diagnose.doctor.username if hasattr( diagnose.doctor, 'hospital' ) and diagnose.doctor.hospital and diagnose.doctor.hospital.name: diagDict['doctorHispital'] = diagnose.doctor.hospital.name if hasattr( diagnose, "hospital") and diagnose.hospital and diagnose.hospital.name: diagDict['hispital'] = diagnose.hospital.name if diagnose.createDate: diagDict["date"] = diagnose.createDate.strftime('%Y-%m-%d') if diagnose.id: diagDict['id'] = diagnose.id if diagnose.diagnoseSeriesNumber: diagDict['diagnosenumber'] = diagnose.diagnoseSeriesNumber if diagnose.status or diagnose.status == 0: diagDict['statusId'] = diagnose.status diagDict['status'] = constant.DiagnoseStatus.getStatusName( diagnose.status) dicomUrl = None otherUrls = None if diagnose.pathologyId: dicomUrl = File.getDicomFileUrl(diagnose.pathologyId, type) if dicomUrl: diagDict['hasDicom'] = True else: diagDict['hasDicom'] = False otherUrls = File.getFilesUrl(diagnose.pathologyId, type) if otherUrls: diagDict['hasDoc'] = True else: diagDict['hasDoc'] = False if type: diagDict['dicomUrl'] = parseFileUrl(dicomUrl) diagDict['docUrl'] = parseFilesUrl(otherUrls) else: diagDict['dicomUrl'] = dicomUrl diagDict['docUrl'] = otherUrls if hasattr(diagnose, 'report') and diagnose.report and diagnose.report.fileUrl: diagDict['reportUrl'] = diagnose.report.fileUrl if hasattr(diagnose, "pathology") and diagnose.pathology: pathology = diagnose.pathology if hasattr(pathology, "pathologyPostions") and pathology.pathologyPostions: pathologyPositons = pathology.pathologyPostions if pathologyPositons and len(pathologyPositons) > 0: positions = u'' for pathologyPositon in pathologyPositons: position = pathologyPositon.position positions += (u' ' + position.name) diagDict['positionName'] = positions #print diagDict['doctorName'],diagDict['positons'] isFeedback = Comment.existCommentBydiagnose( diagnose.id, type=constant.CommentType.DiagnoseComment) diagDict['isFeedback'] = isFeedback result.append(diagDict) return result
def getDiagnoseDetailInfoByPatient(session, diagnose): if diagnose is None: return diagDict = {} diagDict['id'] = diagnose.id if hasattr(diagnose, "patient") and diagnose.patient: if diagnose.patient.realname: diagDict['patientName'] = diagnose.patient.realname if diagnose.patient.gender: diagDict['gender'] = constant.Gender[diagnose.patient.gender] if diagnose.patient.birthDate: diagDict['birthDate'] = diagnose.patient.birthDate.strftime( '%Y-%m-%d') if diagnose.diagnoseSeriesNumber: diagDict['diagnosenumber'] = diagnose.diagnoseSeriesNumber #diagDict['type']=diagnose.type if hasattr(diagnose, "doctor") and diagnose.doctor and diagnose.doctor.username: diagDict['doctorName'] = diagnose.doctor.username diagDict['doctorUserId'] = diagnose.doctor.userId if diagnose.createDate: diagDict["applyTime"] = diagnose.createDate.strftime('%Y-%m-%d') if diagnose.status: diagDict['diagnoseStatus'] = diagnose.status # if hasattr(diagnose,"hospital") and diagnose.hospital: # diagDict['hospitalHistory']=diagnose.hospital.name # diagDict['hospitalId']=diagnose.hospitalId if diagnose.pathologyId: diagDict['dicomUrl'] = File.getDicomFileUrl(diagnose.pathologyId) if diagnose.pathologyId: diagDict['docUrl'] = File.getFilesUrl(diagnose.pathologyId) if hasattr(diagnose, "pathology") and diagnose.pathology: pathology = diagnose.pathology diagDict['caseHistory'] = pathology.caseHistory diagDict['diagnoseType'] = pathology.diagnoseMethod if hasattr(pathology, "pathologyPostions") and pathology.pathologyPostions: pathologyPositons = pathology.pathologyPostions if pathologyPositons and len(pathologyPositons) > 0: positions = u'' for pathologyPositon in pathologyPositons: position = pathologyPositon.position positions += (u' ' + position.name) diagDict['positionName'] = positions if hasattr(pathology, "hospital") and pathology.hospital: diagDict['hospitalHistory'] = pathology.hospital.name diagDict['hospitalId'] = pathology.hospitalId if hasattr(diagnose, 'report') and diagnose.report and diagnose.report.fileUrl: diagDict['reportId'] = diagnose.reportId diagDict['reportUrl'] = diagnose.report.fileUrl # diagDict['techDes']=diagnose.report.techDesc # diagDict['imageDes']=diagnose.report.imageDesc # diagDict['diagnoseResult']=diagnose.report.diagnoseDesc diagnoseLogs = DiagnoseLog.getDiagnoseLogByDiagnoseId(session, diagnose.id) diagnoseLogsDict = getDiagnoseLogsDict(diagnoseLogs) if diagnoseLogs and len(diagnoseLogs) > 0: diagDict['actions'] = diagnoseLogsDict isFeedback = Comment.existCommentBydiagnose( diagnose.id, type=constant.CommentType.DiagnoseComment) diagDict['isFeedback'] = str(isFeedback) return diagDict
def getDiagnoseListByKefu(diagnoses): if diagnoses is None or len(diagnoses) < 1: return result = [] for diagnose in diagnoses: diagDict = {} if hasattr( diagnose, "patient") and diagnose.patient and diagnose.patient.realname: diagDict['patientName'] = diagnose.patient.realname if hasattr(diagnose, "patient") and diagnose.patient: diagDict['mobile'] = diagnose.patient.identityPhone if hasattr(diagnose, "doctor") and diagnose.doctor and diagnose.doctor.username: diagDict['doctorName'] = diagnose.doctor.username if hasattr( diagnose.doctor, 'hospital' ) and diagnose.doctor.hospital and diagnose.doctor.hospital.name: diagDict['doctorHispital'] = diagnose.doctor.hospital.name if hasattr( diagnose, "hospital") and diagnose.hospital and diagnose.hospital.name: diagDict['hispital'] = diagnose.hospital.name if diagnose.createDate: diagDict["date"] = diagnose.createDate.strftime('%Y-%m-%d') if diagnose.id: diagDict['id'] = diagnose.id if diagnose.diagnoseSeriesNumber: diagDict['diagnosenumber'] = diagnose.diagnoseSeriesNumber if diagnose.status or diagnose.status == 0: diagDict['statusId'] = diagnose.status diagDict['status'] = constant.DiagnoseStatus.getStatusName( diagnose.status) if diagnose.pathologyId: dicomUrl = File.getDicomFileUrl(diagnose.pathologyId) if dicomUrl: diagDict['dicomUrl'] = dicomUrl otherUrls = File.getFilesUrl(diagnose.pathologyId) if otherUrls: diagDict['otherUrls'] = otherUrls if hasattr(diagnose, 'report') and diagnose.report and diagnose.report.fileUrl: diagDict['reportUrl'] = diagnose.report.fileUrl if hasattr(diagnose, "pathology") and diagnose.pathology: pathology = diagnose.pathology postionLen = 0 if hasattr(pathology, "pathologyPostions") and pathology.pathologyPostions: pathologyPositons = pathology.pathologyPostions postionLen = len(pathologyPositons) if pathologyPositons and len(pathologyPositons) > 0: positions = u'' for pathologyPositon in pathologyPositons: position = pathologyPositon.position positions += (u' ' + position.name) diagDict['positionName'] = positions #print diagDict['doctorName'],diagDict['positons'] if pathology.diagnoseMethod == constant.DiagnoseMethod.Mri: diagDict['payAmount'] = diagnose.getPayCount( constant.DiagnoseMethod.Mri, postionLen, diagnose.getUserDiscount(diagnose.patientId)) diagDict['diagnoseMethod'] = constant.DiagnoseMethod.Mri elif pathology.diagnoseMethod == constant.DiagnoseMethod.Ct: diagDict['payAmount'] = diagnose.getPayCount( constant.DiagnoseMethod.Ct, postionLen, diagnose.getUserDiscount(diagnose.patientId)) diagDict['diagnoseMethod'] = constant.DiagnoseMethod.Ct isFeedback = Comment.existCommentBydiagnose( diagnose.id, type=constant.CommentType.DiagnoseComment) diagDict['isFeedback'] = isFeedback result.append(diagDict) return result
def getDiagnoseListByKefu(diagnoses): if diagnoses is None or len(diagnoses)<1: return result=[] for diagnose in diagnoses: diagDict={} if hasattr(diagnose,"patient") and diagnose.patient and diagnose.patient.realname: diagDict['patientName']=diagnose.patient.realname if hasattr(diagnose,"patient") and diagnose.patient: diagDict['mobile']=diagnose.patient.identityPhone if hasattr(diagnose,"doctor") and diagnose.doctor and diagnose.doctor.username: diagDict['doctorName']=diagnose.doctor.username if hasattr(diagnose.doctor,'hospital') and diagnose.doctor.hospital and diagnose.doctor.hospital.name: diagDict['doctorHispital']= diagnose.doctor.hospital.name if hasattr(diagnose,"hospital") and diagnose.hospital and diagnose.hospital.name: diagDict['hispital']=diagnose.hospital.name if diagnose.createDate: diagDict["date"]=diagnose.createDate.strftime('%Y-%m-%d') if diagnose.id: diagDict['id']=diagnose.id if diagnose.diagnoseSeriesNumber: diagDict['diagnosenumber']=diagnose.diagnoseSeriesNumber if diagnose.status or diagnose.status==0: diagDict['statusId']=diagnose.status diagDict['status']=constant.DiagnoseStatus.getStatusName(diagnose.status) if diagnose.pathologyId: dicomUrl=File.getDicomFileUrl(diagnose.pathologyId) if dicomUrl: diagDict['dicomUrl'] = dicomUrl otherUrls=File.getFilesUrl(diagnose.pathologyId) if otherUrls: diagDict['otherUrls']=otherUrls if hasattr(diagnose,'report') and diagnose.report and diagnose.report.fileUrl: diagDict['reportUrl']= diagnose.report.fileUrl if hasattr(diagnose,"pathology") and diagnose.pathology: pathology=diagnose.pathology postionLen=0 if hasattr(pathology,"pathologyPostions") and pathology.pathologyPostions: pathologyPositons=pathology.pathologyPostions postionLen=len(pathologyPositons) if pathologyPositons and len(pathologyPositons)>0: positions=u'' for pathologyPositon in pathologyPositons: position=pathologyPositon.position positions+=(u' '+position.name) diagDict['positionName']=positions #print diagDict['doctorName'],diagDict['positons'] if pathology.diagnoseMethod==constant.DiagnoseMethod.Mri: diagDict['payAmount']=diagnose.getPayCount(constant.DiagnoseMethod.Mri,postionLen,diagnose.getUserDiscount(diagnose.patientId)) diagDict['diagnoseMethod']=constant.DiagnoseMethod.Mri elif pathology.diagnoseMethod==constant.DiagnoseMethod.Ct: diagDict['payAmount']=diagnose.getPayCount(constant.DiagnoseMethod.Ct,postionLen,diagnose.getUserDiscount(diagnose.patientId)) diagDict['diagnoseMethod']=constant.DiagnoseMethod.Ct isFeedback=Comment.existCommentBydiagnose(diagnose.id,type=constant.CommentType.DiagnoseComment) diagDict['isFeedback']=isFeedback result.append(diagDict) return result