public IHttpActionResult GetRekamMedisById() { var result = new RekamMedisRequest(); var historyMedis = new VW_HISTORY_MEDIS_PASIEN(); var rekamMedis = new REKAM_MEDIS(); var identity = (ClaimsIdentity)User.Identity; var roles = identity.Claims.Where(c => c.Type == ClaimTypes.Role).FirstOrDefault(); if (roles.Value == "Pasien") { var username = identity.Claims.Where(c => c.Type == ClaimTypes.Name).FirstOrDefault().Value; var pasien = db.PASIENs.Where(x => x.USER.USERNAME == username).FirstOrDefault(); historyMedis = db.VW_HISTORY_MEDIS_PASIEN.Where(x => x.ID_PASIEN == pasien.ID_PASIEN).OrderByDescending(x => x.TGL_MASUK).FirstOrDefault(); var tKasus = db.PEMERIKSAANs.Where(x => x.ID_PEMERIKSAAN == historyMedis.ID_PEMERIKSAAN).FirstOrDefault(); if (tKasus.ID_REKAM_MEDIS.HasValue) { rekamMedis = db.REKAM_MEDIS.Where(x => x.ID_REKAM_MEDIS == tKasus.ID_REKAM_MEDIS).FirstOrDefault(); } } else { historyMedis = db.VW_HISTORY_MEDIS_PASIEN.OrderByDescending(x => x.TGL_MASUK).ThenBy(x => x.PASIEN).FirstOrDefault(); var tKasus = db.PEMERIKSAANs.Where(x => x.ID_PEMERIKSAAN == historyMedis.ID_PEMERIKSAAN).FirstOrDefault(); if (tKasus.ID_REKAM_MEDIS.HasValue) { rekamMedis = db.REKAM_MEDIS.Where(x => x.ID_REKAM_MEDIS == tKasus.ID_REKAM_MEDIS).FirstOrDefault(); } } if (rekamMedis == null) { return(Ok()); } result.IdPemeriksaan = historyMedis.ID_PEMERIKSAAN.GetValueOrDefault(); result.IdRekamMedis = rekamMedis.ID_REKAM_MEDIS; result.Gejala = rekamMedis.GEJALA; result.Tindakan = rekamMedis.TINDAKAN; result.Diagnosa = rekamMedis.DIAGNOSA; result.HasilTestLab = rekamMedis.HASIL_TEST_LAB; return(Ok(result)); }
public IHttpActionResult GetOrderMedisList(string search, string sort, int limit, int offset) { var pageSize = limit; var pageNumber = offset; var totalRecord = 0; var result = new List <VW_ORDER_MEDIS>(); var historyMedis = new VW_HISTORY_MEDIS_PASIEN(); var rekamMedis = new REKAM_MEDIS(); var identity = (ClaimsIdentity)User.Identity; var roles = identity.Claims.Where(c => c.Type == ClaimTypes.Role).FirstOrDefault(); if (roles.Value == "Pasien") { var username = identity.Claims.Where(c => c.Type == ClaimTypes.Name).FirstOrDefault().Value; var pasien = db.PASIENs.Where(x => x.USER.USERNAME == username).FirstOrDefault(); historyMedis = db.VW_HISTORY_MEDIS_PASIEN.Where(x => x.ID_PASIEN == pasien.ID_PASIEN).OrderByDescending(x => x.TGL_MASUK).FirstOrDefault(); result = db.VW_ORDER_MEDIS.Where(x => x.ID_PEMERIKSAAN == historyMedis.ID_PEMERIKSAAN) .OrderByDescending(x => x.ID_ORDER).ThenBy(x => x.ID_PEMERIKSAAN) .Skip(GetSkip(pageNumber, pageSize)) .Take(pageSize).ToList(); totalRecord = db.VW_ORDER_MEDIS.Where(x => x.ID_PEMERIKSAAN == historyMedis.ID_PEMERIKSAAN).Count(); } else { historyMedis = db.VW_HISTORY_MEDIS_PASIEN.OrderByDescending(x => x.TGL_MASUK).ThenBy(x => x.PASIEN).FirstOrDefault(); result = db.VW_ORDER_MEDIS.Where(x => x.ID_PEMERIKSAAN == historyMedis.ID_PEMERIKSAAN) .OrderByDescending(x => x.ID_ORDER).ThenBy(x => x.ID_PEMERIKSAAN) .Skip(GetSkip(pageNumber, pageSize)) .Take(pageSize).ToList(); totalRecord = db.VW_ORDER_MEDIS.Where(x => x.ID_PEMERIKSAAN == historyMedis.ID_PEMERIKSAAN).Count(); } var totalPage = (totalRecord + pageSize - 1) / pageSize; return(Ok(new APIListResponse <VW_ORDER_MEDIS>(false, HttpStatusCode.OK.ToString(), HttpStatusCode.OK.ToString(), result, totalRecord, totalPage))); }
public IHttpActionResult GetHistoryMedisRecent() { var result = new VW_HISTORY_MEDIS_PASIEN(); var identity = (ClaimsIdentity)User.Identity; var roles = identity.Claims.Where(c => c.Type == ClaimTypes.Role).FirstOrDefault(); if (roles.Value == "Pasien") { var username = identity.Claims.Where(c => c.Type == ClaimTypes.Name).FirstOrDefault().Value; var pasien = db.PASIENs.Where(x => x.USER.USERNAME == username).FirstOrDefault(); result = db.VW_HISTORY_MEDIS_PASIEN.Where(x => x.ID_PASIEN == pasien.ID_PASIEN).OrderByDescending(x => x.TGL_MASUK).FirstOrDefault(); } else { result = db.VW_HISTORY_MEDIS_PASIEN.OrderByDescending(x => x.TGL_MASUK).ThenBy(x => x.PASIEN).FirstOrDefault(); } result.STATUS_TUNGGU = GetStatusTunggu(result.ID_PEMERIKSAAN.GetValueOrDefault()); return(Ok(result)); }
public async Task <IHttpActionResult> PostPenjadwalanRecent(JadwalRequest jadwalRequest) { try { if (!ModelState.IsValid) { return(BadRequest("Data yang dikirim tidak lengkap")); } var historyMedis = new VW_HISTORY_MEDIS_PASIEN(); var rekamMedis = new REKAM_MEDIS(); var identity = (ClaimsIdentity)User.Identity; var roles = identity.Claims.Where(c => c.Type == ClaimTypes.Role).FirstOrDefault(); if (roles.Value == "Pasien") { var username = identity.Claims.Where(c => c.Type == ClaimTypes.Name).FirstOrDefault().Value; var pasien = db.PASIENs.Where(x => x.USER.USERNAME == username).FirstOrDefault(); historyMedis = db.VW_HISTORY_MEDIS_PASIEN.Where(x => x.ID_PASIEN == pasien.ID_PASIEN).OrderByDescending(x => x.TGL_MASUK).FirstOrDefault(); var tKasus = db.PEMERIKSAANs.Where(x => x.ID_PEMERIKSAAN == historyMedis.ID_PEMERIKSAAN).FirstOrDefault(); if (tKasus.ID_REKAM_MEDIS.HasValue) { rekamMedis = db.REKAM_MEDIS.Where(x => x.ID_REKAM_MEDIS == tKasus.ID_REKAM_MEDIS).FirstOrDefault(); } } else { historyMedis = db.VW_HISTORY_MEDIS_PASIEN.OrderByDescending(x => x.TGL_MASUK).ThenBy(x => x.PASIEN).FirstOrDefault(); var tKasus = db.PEMERIKSAANs.Where(x => x.ID_PEMERIKSAAN == historyMedis.ID_PEMERIKSAAN).FirstOrDefault(); if (tKasus.ID_REKAM_MEDIS.HasValue) { rekamMedis = db.REKAM_MEDIS.Where(x => x.ID_REKAM_MEDIS == tKasus.ID_REKAM_MEDIS).FirstOrDefault(); } } var jadwal = new JADWAL(); jadwal.MULAI = jadwalRequest.TglMulai; jadwal.SELESAI = jadwalRequest.TglSelesai; jadwal.ID_PEMERIKSAAN = historyMedis.ID_PEMERIKSAAN.GetValueOrDefault(); jadwal.KEPERLUAN = jadwalRequest.Keperluan; jadwal.STATUS = 1; while (true) { jadwal.ID_JADWAL = _random.Next(1, 999999999); var count = db.JADWALs.Where(k => k.ID_JADWAL == jadwal.ID_JADWAL).Count(); if (count == 0) { break; } } jadwalRequest.IdJadwal = jadwal.ID_JADWAL; db.JADWALs.Add(jadwal); await db.SaveChangesAsync(); return(Ok(jadwalRequest)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public IHttpActionResult GetListPenjadwalanRecent(string search, string sort, int limit, int offset) { var historyMedis = new VW_HISTORY_MEDIS_PASIEN(); var rekamMedis = new REKAM_MEDIS(); var identity = (ClaimsIdentity)User.Identity; var roles = identity.Claims.Where(c => c.Type == ClaimTypes.Role).FirstOrDefault(); if (roles.Value == "Pasien") { var username = identity.Claims.Where(c => c.Type == ClaimTypes.Name).FirstOrDefault().Value; var pasien = db.PASIENs.Where(x => x.USER.USERNAME == username).FirstOrDefault(); historyMedis = db.VW_HISTORY_MEDIS_PASIEN.Where(x => x.ID_PASIEN == pasien.ID_PASIEN).OrderByDescending(x => x.TGL_MASUK).FirstOrDefault(); var tKasus = db.PEMERIKSAANs.Where(x => x.ID_PEMERIKSAAN == historyMedis.ID_PEMERIKSAAN).FirstOrDefault(); if (tKasus.ID_REKAM_MEDIS.HasValue) { rekamMedis = db.REKAM_MEDIS.Where(x => x.ID_REKAM_MEDIS == tKasus.ID_REKAM_MEDIS).FirstOrDefault(); } } else { historyMedis = db.VW_HISTORY_MEDIS_PASIEN.OrderByDescending(x => x.TGL_MASUK).ThenBy(x => x.PASIEN).FirstOrDefault(); var tKasus = db.PEMERIKSAANs.Where(x => x.ID_PEMERIKSAAN == historyMedis.ID_PEMERIKSAAN).FirstOrDefault(); if (tKasus.ID_REKAM_MEDIS.HasValue) { rekamMedis = db.REKAM_MEDIS.Where(x => x.ID_REKAM_MEDIS == tKasus.ID_REKAM_MEDIS).FirstOrDefault(); } } var pageSize = limit; var pageNumber = offset; var totalRecord = 0; var result = new List <JadwalRequest>(); var idPemeriksaan = historyMedis.ID_PEMERIKSAAN.GetValueOrDefault(); //var appUser = db.USERS.Where(x => x.USERNAME == username).FirstOrDefault(); var jadwalRequests = db.JADWALs.Where(x => x.ID_PEMERIKSAAN == idPemeriksaan) .OrderByDescending(x => x.MULAI).ThenBy(x => x.SELESAI) .Skip(GetSkip(pageNumber, pageSize)) .Take(pageSize).ToList(); foreach (var x in jadwalRequests) { var jadwal = new JadwalRequest { IdJadwal = x.ID_JADWAL, IdPemeriksaan = x.ID_PEMERIKSAAN, TglMulai = x.MULAI.GetValueOrDefault(), TglSelesai = x.SELESAI.GetValueOrDefault(), Keperluan = x.KEPERLUAN, HasilPemeriksaan = x.HASIL_PEMERIKSAAN, Status = x.STATUS.GetValueOrDefault() }; result.Add(jadwal); } totalRecord = db.JADWALs.Count(); var totalPage = (totalRecord + pageSize - 1) / pageSize; return(Ok(new APIListResponse <JadwalRequest>(false, HttpStatusCode.OK.ToString(), HttpStatusCode.OK.ToString(), result, totalRecord, totalPage))); }
public async Task <IHttpActionResult> PutPemeriksaanToClosed(int idPemeriksaan, VW_HISTORY_MEDIS_PASIEN vwHistoryMedis) { try { if (!ModelState.IsValid) { return(BadRequest("Data yang dikirim tidak lengkap")); } var kasusStat = new KASUS_STAT(); var pemeriksaanInDB = db.KASUS.Where(x => x.ID_PEMERIKSAAN == idPemeriksaan).FirstOrDefault(); pemeriksaanInDB.STATUS_KASUS = Kasus.StatusKasus.Closed.ToString(); kasusStat.ID_KASUS = pemeriksaanInDB.ID_KASUS; kasusStat.TGL = DateTime.Now; kasusStat.STATUS_KASUS = pemeriksaanInDB.STATUS_KASUS; db.KASUS_STAT.Add(kasusStat); await db.SaveChangesAsync(); // update data checkup dari dokter bersangkutan var pemeriksaan = db.PEMERIKSAANs.Where(x => x.ID_PEMERIKSAAN == idPemeriksaan).FirstOrDefault(); // get data pemeriksaan tgl masuk awal var pemeriksaanGiliran = db.Database.SqlQuery <PEMERIKSAAN>(@"SELECT * FROM PEMERIKSAAN WHERE ID_PEMERIKSAAN IN(SELECT ID_PEMERIKSAAN FROM KASUS WHERE LOWER(STATUS_KASUS) IN ('queuing', 'checkup')) AND ID_DOKTER = @Id", new SqlParameter("@Id", pemeriksaan.ID_DOKTER)) .OrderBy(x => x.TGL) .FirstOrDefault(); if (pemeriksaanGiliran != null) { var kasusGiliran = db.KASUS.Where(x => x.ID_PEMERIKSAAN == pemeriksaanGiliran.ID_PEMERIKSAAN).FirstOrDefault(); kasusGiliran.STATUS_KASUS = Kasus.StatusKasus.Checkup.ToString(); var kasusStatGiliran = new KASUS_STAT(); kasusStatGiliran.ID_KASUS = kasusGiliran.ID_KASUS; kasusStatGiliran.TGL = kasusStat.TGL; kasusStatGiliran.STATUS_KASUS = kasusGiliran.STATUS_KASUS; db.KASUS_STAT.Add(kasusStatGiliran); await db.SaveChangesAsync(); } return(Ok()); } catch (Exception e) { return(BadRequest(e.Message)); } }