patient_dataconfig_service.go 6.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. package service
  2. import (
  3. "XT_New/models"
  4. "time"
  5. "github.com/jinzhu/gorm"
  6. )
  7. func GetPatientByID(orgID int64, patientID int64) (*models.Patients, error) {
  8. var patient models.Patients
  9. err := readDb.Model(&models.Patients{}).Where("id = ? and user_org_id=? and status=1", patientID, orgID).First(&patient).Error
  10. if err != nil {
  11. if err == gorm.ErrRecordNotFound {
  12. return nil, nil
  13. } else {
  14. return nil, err
  15. }
  16. }
  17. return &patient, nil
  18. }
  19. func GetPatientCourseOfDisease(orgID int64, patientID int64, startTime int64, endTime int64) ([]*models.PatientDiseaseCourse, error) {
  20. var records []*models.PatientDiseaseCourse
  21. err := readDb.Model(&models.PatientDiseaseCourse{}).Where("org_id = ? and patient_id = ? and record_time >= ? and record_time <= ? and status = 1", orgID, patientID, startTime, endTime).Order("record_time desc").Find(&records).Error
  22. if err != nil {
  23. return nil, err
  24. }
  25. return records, nil
  26. }
  27. func GetPatientSickHistory(orgID int64, patientID int64, startTime int64, endTime int64) ([]*models.XtPatientSickHistory, error) {
  28. var records []*models.XtPatientSickHistory
  29. err := readDb.Model(&models.XtPatientSickHistory{}).Where("org_id = ? and patient_id = ? and record_time >= ? and record_time <= ? and status = 1", orgID, patientID, startTime, endTime).Order("record_time desc").Find(&records).Error
  30. if err != nil {
  31. return nil, err
  32. }
  33. return records, nil
  34. }
  35. func GetPatientSickHistoryByIds(orgID int64, patientID int64, ids []string) ([]*models.XtPatientSickHistory, error) {
  36. var records []*models.XtPatientSickHistory
  37. err := readDb.Model(&models.XtPatientSickHistory{}).Where("org_id = ? and patient_id = ? and id in (?) and status = 1", orgID, patientID, ids).Order("record_time desc").Find(&records).Error
  38. if err != nil {
  39. return nil, err
  40. }
  41. return records, nil
  42. }
  43. func GetPatienttPhysiqueByIds(orgID int64, patientID int64, ids []string) ([]*models.XtPatientPhysiqueCheck, error) {
  44. var records []*models.XtPatientPhysiqueCheck
  45. err := readDb.Model(&models.XtPatientPhysiqueCheck{}).Where("org_id = ? and patient_id = ? and id in (?) and status = 1", orgID, patientID, ids).Order("record_time desc").Find(&records).Error
  46. if err != nil {
  47. return nil, err
  48. }
  49. return records, nil
  50. }
  51. func GetPatientPhysiqueCheck(orgID int64, patientID int64, startTime int64, endTime int64) ([]*models.XtPatientPhysiqueCheck, error) {
  52. var records []*models.XtPatientPhysiqueCheck
  53. err := readDb.Model(&models.XtPatientPhysiqueCheck{}).Where("org_id = ? and patient_id = ? and record_time >= ? and record_time <= ? and status = 1", orgID, patientID, startTime, endTime).Order("record_time desc").Find(&records).Error
  54. if err != nil {
  55. return nil, err
  56. }
  57. return records, nil
  58. }
  59. func GetLastPatientPhysiqueCheck(orgID int64, patientID int64, record_date int64) (records models.XtPatientPhysiqueCheck, err error) {
  60. err = readDb.Model(&models.XtPatientPhysiqueCheck{}).Where("org_id = ? and patient_id = ? and record_date = ? and status = 1", orgID, patientID, record_date).Order("record_time desc").Last(&records).Error
  61. return records, err
  62. }
  63. func CreatePatientCourseOfDisease(record *models.PatientDiseaseCourse) error {
  64. err := writeDb.Model(&models.PatientDiseaseCourse{}).Create(record).Error
  65. return err
  66. }
  67. func CreatePatientSickHistory(record *models.XtPatientSickHistory) error {
  68. err := writeDb.Model(&models.XtPatientSickHistory{}).Create(record).Error
  69. return err
  70. }
  71. func CreatePatientPhysiqueCheck(record *models.XtPatientPhysiqueCheck) error {
  72. err := writeDb.Model(&models.XtPatientPhysiqueCheck{}).Create(record).Error
  73. return err
  74. }
  75. func GetPatientRescueRecords(orgID int64, patientID int64, startTime int64, endTime int64) ([]*models.PatientRescueRecord, error) {
  76. var records []*models.PatientRescueRecord
  77. err := readDb.Model(&models.PatientRescueRecord{}).Where("org_id = ? and patient_id = ? and record_time >= ? and record_time <= ? and status = 1", orgID, patientID, startTime, endTime).Order("record_time desc").Find(&records).Error
  78. if err != nil {
  79. return nil, err
  80. }
  81. return records, nil
  82. }
  83. func CreatePatientRescueRecord(record *models.PatientRescueRecord) error {
  84. err := writeDb.Model(&models.PatientRescueRecord{}).Create(record).Error
  85. return err
  86. }
  87. func ModifyPatientCourses(record *models.PatientDiseaseCourse) error {
  88. err := writeDb.Model(&models.PatientDiseaseCourse{}).Where("org_id = ? and patient_id = ? and status = 1 and id = ?", record.OrgID, record.PatientID, record.ID).Updates(map[string]interface{}{"content": record.Content, "record_time": record.RecordTime, "mtime": time.Now().Unix(), "title": record.Title}).Error
  89. return err
  90. }
  91. func ModifyPatientSickHistory(record *models.XtPatientSickHistory) error {
  92. err := writeDb.Save(record).Error
  93. //err := writeDb.Model(&models.XtPatientSickHistory{}).Where("org_id = ? and patient_id = ? and status = 1 and id = ?", record.OrgId, record.PatientId, record.ID).Updates(map[string]interface{}{"content": record.Content, "record_time": record.RecordTime, "mtime": time.Now().Unix(), "title": record.Title}).Error
  94. return err
  95. }
  96. func ModifyPatientPhysiqueCheck(record *models.XtPatientPhysiqueCheck) error {
  97. err := writeDb.Save(record).Error
  98. //err := writeDb.Model(&models.XtPatientSickHistory{}).Where("org_id = ? and patient_id = ? and status = 1 and id = ?", record.OrgId, record.PatientId, record.ID).Updates(map[string]interface{}{"content": record.Content, "record_time": record.RecordTime, "mtime": time.Now().Unix(), "title": record.Title}).Error
  99. return err
  100. }
  101. func DeletePatientCoursesInBatch(orgID int64, patientID int64, recordIDs []int64) error {
  102. err := writeDb.Model(&models.PatientDiseaseCourse{}).Where("org_id = ? and patient_id = ? and id in (?) and status = 1", orgID, patientID, recordIDs).Updates(map[string]interface{}{"status": 2, "mtime": time.Now().Unix()}).Error
  103. return err
  104. }
  105. func DeletePatientSickHistoryInBatch(orgID int64, patientID int64, recordIDs []int64) error {
  106. err := writeDb.Model(&models.XtPatientSickHistory{}).Where("org_id = ? and patient_id = ? and id in (?) and status = 1", orgID, patientID, recordIDs).Updates(map[string]interface{}{"status": 2, "mtime": time.Now().Unix()}).Error
  107. return err
  108. }
  109. func DeletePatientResuceRecordsInBatch(orgID int64, patientID int64, recordIDs []int64) error {
  110. err := writeDb.Model(&models.PatientRescueRecord{}).Where("org_id = ? and patient_id = ? and id in (?) and status = 1", orgID, patientID, recordIDs).Updates(map[string]interface{}{"status": 2, "mtime": time.Now().Unix()}).Error
  111. return err
  112. }
  113. func DeletePatientPhysiqueCheckInBatch(orgID int64, patientID int64, recordIDs []int64) error {
  114. err := writeDb.Model(&models.XtPatientPhysiqueCheck{}).Where("org_id = ? and patient_id = ? and id in (?) and status = 1", orgID, patientID, recordIDs).Updates(map[string]interface{}{"status": 2, "mtime": time.Now().Unix()}).Error
  115. return err
  116. }