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));
        }
示例#2
0
        public async Task <IHttpActionResult> PostRekamMedis(RekamMedisRequest rekamMedisRequest)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest("Data yang dikirim tidak lengkap"));
                }

                var kasusStat   = new KASUS_STAT();
                var pemeriksaan = db.PEMERIKSAANs.Where(x => x.ID_PEMERIKSAAN == rekamMedisRequest.IdPemeriksaan).FirstOrDefault();
                var rekamMedis  = new REKAM_MEDIS();
                rekamMedis.GEJALA   = rekamMedisRequest.Gejala;
                rekamMedis.DIAGNOSA = rekamMedisRequest.Diagnosa;
                rekamMedis.VONIS    = rekamMedis.DIAGNOSA;
                rekamMedis.TINDAKAN = rekamMedisRequest.Tindakan;

                while (true)
                {
                    rekamMedis.ID_REKAM_MEDIS = _random.Next(1, 999999999);
                    var count = db.REKAM_MEDIS.Where(k => k.ID_REKAM_MEDIS == rekamMedis.ID_REKAM_MEDIS).Count();

                    if (count == 0)
                    {
                        break;
                    }
                }

                rekamMedisRequest.IdRekamMedis = rekamMedis.ID_REKAM_MEDIS;
                pemeriksaan.ID_REKAM_MEDIS     = rekamMedis.ID_REKAM_MEDIS;

                db.REKAM_MEDIS.Add(rekamMedis);

                await db.SaveChangesAsync();

                return(Ok(rekamMedisRequest));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
示例#3
0
        public IHttpActionResult GetRekamMedisById(int idPemeriksaan)
        {
            var result     = new RekamMedisRequest();
            var tKasus     = db.PEMERIKSAANs.Where(x => x.ID_PEMERIKSAAN == idPemeriksaan).FirstOrDefault();
            var rekamMedis = db.REKAM_MEDIS.Where(x => x.ID_REKAM_MEDIS == tKasus.ID_REKAM_MEDIS).FirstOrDefault();

            if (rekamMedis == null)
            {
                return(Ok());
            }

            result.IdPemeriksaan = idPemeriksaan;
            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));
        }
示例#4
0
        public async Task <IHttpActionResult> PutRekamMedis(int idRekamMedis, RekamMedisRequest rekamMedisRequest)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest("Data yang dikirim tidak lengkap"));
                }

                var rekamMedisInDB = db.REKAM_MEDIS.Where(x => x.ID_REKAM_MEDIS == idRekamMedis).FirstOrDefault();
                rekamMedisInDB.GEJALA   = rekamMedisRequest.Gejala;
                rekamMedisInDB.DIAGNOSA = rekamMedisRequest.Diagnosa;
                rekamMedisInDB.TINDAKAN = rekamMedisRequest.Tindakan;

                await db.SaveChangesAsync();

                return(Ok(rekamMedisRequest));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }