package antrianoperasi import ( "log" "context" ) func (req CreatePasienOperasiRequest) DataValidation(c context.Context, handler AntrianOperasiHandler) (bool, []string) { isValid := false var errValidation []string // validasi kategori _, err := handler.repoKategori.GetKategoriById(c, req.RencanaOperasiData.KategoriOperasi) if err != nil { log.Println(err) errValidation = append(errValidation, err.Error()) } // validasi spesialis _, err = handler.repoSpesialis.GetSpesialisById(c, req.RencanaOperasiData.Spesialis) if err != nil { log.Println(err) errValidation = append(errValidation, err.Error()) } // validasi subspesialis _, err = handler.repoSpesialis.GetSubSpesialisById(c, req.RencanaOperasiData.SubSpesialis) if err != nil { log.Println(err) errValidation = append(errValidation, err.Error()) } // validasi dokter pelaksana for _, dp := range req.DokterPelaksanaItems { _, err := handler.repoDokter.GetDokterById(c, dp.Id) if err != nil { log.Println(err) errValidation = append(errValidation, err.Error()) continue } } // validasi kode diagnosa for _, dd := range req.DiagnosisItem { _, err := handler.repoDiagnosa.GetDiagnosaByKode(c, dd.KodeDiagnosa) if err != nil { log.Println(err) errValidation = append(errValidation, err.Error()) continue } } // validasi kode tindakan for _, dt := range req.TindakanItems { _, err := handler.repoTindakan.GetTindakanByKode(c, *dt.KodeTindakan) if err != nil { log.Println(err) errValidation = append(errValidation, err.Error()) continue } } // validasi no rekam medis _, err = handler.repoPasien.GetPasienByNoMr(c, req.FormData.NoRekamMedis) if err != nil { log.Println(err) errValidation = append(errValidation, err.Error()) } if len(errValidation) == 0 { isValid = true } return isValid, errValidation } func (req StatusPasienRequest) UpdateStatusValidation() (bool, []string) { isValid := false var errValidation []string if req.StatusOperasi != "2" && req.TglSelesai != nil { errValidation = append(errValidation, "Tanggal selesai terisi ketika status belum selesai") } if req.StatusOperasi == "2" && req.TglSelesai == nil { errValidation = append(errValidation, "Tanggal selesai harus diisi ketika status selesai") } if len(errValidation) == 0 { isValid = true } return isValid, errValidation }