/// <summary> /// hàm thực hienj viecj sửa mơi bệnh nhân /// </summary> /// <param name="objBenhNhan"></param> /// <returns></returns> public ActionResult SuaMoiBenhNhan(RisBenhNhan objBenhNhan) { Query _Query = RisBenhNhan.CreateQuery(); Query _QueryPhieu = RisPhieuCdinh.CreateQuery(); try { using (var scope = new TransactionScope()) { using (var sh = new SharedDbConnectionScope()) { new Update(RisBenhNhan.Schema) .Set(RisBenhNhan.Columns.TenBnhanKdau).EqualTo(objBenhNhan.TenBnhanKdau) .Set(RisBenhNhan.Columns.TenBnhan).EqualTo(objBenhNhan.TenBnhan) .Set(RisBenhNhan.Columns.Gtinh).EqualTo(objBenhNhan.Gtinh) .Set(RisBenhNhan.Columns.NgayTao).EqualTo(objBenhNhan.NgayTao) .Set(RisBenhNhan.Columns.SoBhyt).EqualTo(objBenhNhan.SoBhyt) .Set(RisBenhNhan.Columns.ChanDoan).EqualTo(objBenhNhan.ChanDoan) .Set(RisBenhNhan.Columns.MaDtuong).EqualTo(objBenhNhan.MaDtuong) .Set(RisBenhNhan.Columns.MaQhuyen).EqualTo(objBenhNhan.MaQhuyen) .Set(RisBenhNhan.Columns.MaTpho).EqualTo(objBenhNhan.MaTpho) .Set(RisBenhNhan.Columns.DiaChi).EqualTo(objBenhNhan.DiaChi) .Set(RisBenhNhan.Columns.NamSinh).EqualTo(objBenhNhan.NamSinh) .Set(RisBenhNhan.Columns.NgaySinh).EqualTo(objBenhNhan.NgaySinh) .Set(RisBenhNhan.Columns.NguoiSua).EqualTo(globalVariables.UserName) .Set(RisBenhNhan.Columns.NgaySua).EqualTo(BusinessHelper.GetSysDateTime()) .Set(RisBenhNhan.Columns.TrangThaiGui).EqualTo(objBenhNhan.TrangThaiGui) .Set(RisBenhNhan.Columns.BvTrangthai).EqualTo(objBenhNhan.BvTrangthai) .Set(RisBenhNhan.Columns.IdKhoa).EqualTo(objBenhNhan.IdKhoa) .Set(RisBenhNhan.Columns.SoPhong).EqualTo(objBenhNhan.SoPhong) .Set(RisBenhNhan.Columns.SoGiuong).EqualTo(objBenhNhan.SoGiuong) .Where(RisBenhNhan.Columns.IdBnhan).IsEqualTo(objBenhNhan.IdBnhan) .Execute(); log.Info("Thuc hien them moi thong tin cua benh nhan voi ID_BNhan=" + objBenhNhan.IdBnhan); } scope.Complete(); //IDBenhNhan = objBenhNhan.IdBnhan; return ActionResult.Success; } } catch (Exception exception) { log.Error("Loi trong qua trinh them moi benh nhan {0}", exception.ToString()); VietBaIT.CommonLibrary.ErrorLog.InsertErrorlog(exception.ToString(), Assembly.GetExecutingAssembly().GetName().Name, Assembly.GetExecutingAssembly().FullName); return ActionResult.Error; } }
/// <summary> /// ham thực hiện việc thêm mới thông tni bệnh nhân /// </summary> /// <param name="objBenhNhan"></param> /// <param name="objKhamBnhan"></param> /// <returns></returns> public ActionResult ThemMoiBenhNhan(RisBenhNhan objBenhNhan,ref int IDBenhNhan,ref string PID) { Query _Query = RisBenhNhan.CreateQuery(); Query _QueryPhieu = RisPhieuCdinh.CreateQuery(); try { using (var scope = new TransactionScope()) { using (var sh = new SharedDbConnectionScope()) { objBenhNhan.IsNew = true; objBenhNhan.Save(); objBenhNhan.IdBnhan = Utility.Int32Dbnull(_Query.GetMax(RisBenhNhan.Columns.IdBnhan), -1); log.Info("Them thong tin benh nhan cua ris voi ID_BenhNhan=" + objBenhNhan.IdBnhan); SqlQuery sqlQuery = new Select().From(RisBenhNhan.Schema) .Where(RisBenhNhan.Columns.IdBnhan).IsNotEqualTo(objBenhNhan.IdBnhan) .And(RisBenhNhan.Columns.Pid).IsEqualTo(objBenhNhan.Pid); log.Info( "Kiem tra thong tin xem benh nhan voi PID da co chua, neu chua co thi commit, neu co rui thi thuc hien sinh lai"); if(sqlQuery.GetRecordCount()>0) { objBenhNhan.Pid = VietBaIT.CommonLibrary.CommonBusiness.SinhPID(); log.Info("Neu ton tai PID thi cap nhap lai PID voi ma moi nhat PID=" + objBenhNhan.Pid); new Update(RisBenhNhan.Schema) .Set(RisBenhNhan.Columns.Pid).EqualTo(objBenhNhan.Pid) .Where(RisBenhNhan.Columns.IdBnhan).IsEqualTo(objBenhNhan.IdBnhan).Execute(); } } log.Info("Hoan thanh viec them moi benh nhan"); scope.Complete(); IDBenhNhan = objBenhNhan.IdBnhan; PID = objBenhNhan.Pid; return ActionResult.Success; } } catch (Exception exception) { log.Error("Loi trong qua trinh them moi benh nhan {0}", exception.ToString()); VietBaIT.CommonLibrary.ErrorLog.InsertErrorlog(exception.ToString(), Assembly.GetExecutingAssembly().GetName().Name, Assembly.GetExecutingAssembly().FullName); return ActionResult.Error; } }
/// <summary> /// Thực hiện thêm mới thông tin không nhập qua phần tiếp đón /// </summary> /// <param name="TenBenhNhan">Tên bệnh nhân</param> /// <param name="GTinh"> </param> /// <param name="StudyInstanseUid">StudyInstanseUid</param> /// <param name="SERIES_INSTANCE_UID">SERIES_INSTANCE_UID</param> /// <param name="SOP_INSTANCE_UID">SOP_INSTANCE_UID</param> /// <param name="BodyPart"> </param> /// <param name="Position"> </param> /// <param name="PathImage">Đường dẫn ảnh</param> /// <param name="PathImage_thumb"> </param> /// <param name="IdDichVu">ID dịch vụ </param> /// <returns></returns> public static void ThemBenhNhan(string TenBenhNhan, string GTinh, string StudyInstanseUid, string SERIES_INSTANCE_UID, string SOP_INSTANCE_UID, string BodyPart, string Position, string PathImage, string PathImage_thumb, string sourcePatientId) { try { Query _QuerySoPhieu = RisPhieuCdinh.CreateQuery(); Query _QueryChiTiet = RisPhieuCdinhCtiet.CreateQuery(); using (var scope = new TransactionScope()) { using (var sp = new SharedDbConnectionScope()) { DateTime sysDateTime = BusinessHelper.GetSysDateTime(); var objBenhNhan = new RisBenhNhan(); SqlQuery sqlQuery = new Select().From(RisPhieuCdinh.Schema) .Where(RisPhieuCdinh.Columns.StudyInstanseUid).IsEqualTo(StudyInstanseUid); var objPhieuCdinh = new RisPhieuCdinh(); if (sqlQuery.GetRecordCount() <= 0) { objBenhNhan = ThemMoiBenhNhan(TenBenhNhan, GTinh); objPhieuCdinh.StudyInstanseUid = StudyInstanseUid; objPhieuCdinh.IdBnhan = objBenhNhan.IdBnhan; objPhieuCdinh.MaPhieu = BusinessHelper.LayMaPhieu(); objPhieuCdinh.Pid = objBenhNhan.Pid; objPhieuCdinh.LoaiPhieu = 1; // objPhieuCdinh.IdKhoaThien = -1; //objPhieuCdinh.MaTbi = String.Empty; objPhieuCdinh.NgayDky = sysDateTime; objPhieuCdinh.NgayTao = sysDateTime; objPhieuCdinh.NguoiTao = globalVariables.UserName; objPhieuCdinh.SourcePatientid = sourcePatientId; objPhieuCdinh.IsNew = true; objPhieuCdinh.Save(); objPhieuCdinh.IdPhieu = Utility.Int32Dbnull(_QuerySoPhieu.GetMax(RisPhieuCdinh.Columns.IdPhieu)); } else { objPhieuCdinh = sqlQuery.ExecuteSingle<RisPhieuCdinh>(); new Update(RisBenhNhan.Schema) .Set(RisBenhNhan.Columns.TenBnhan).EqualTo(TenBenhNhan) .Set(RisBenhNhan.Columns.TenBnhanKdau).EqualTo(Utility.UnSignedCharacter(TenBenhNhan)) .Set(RisBenhNhan.Columns.Gtinh).EqualTo(GTinh) .Where(RisBenhNhan.Columns.IdBnhan).IsEqualTo(objPhieuCdinh.IdBnhan).Execute(); } sqlQuery = new Select().From(RisPhieuCdinhCtiet.Schema) .Where(RisPhieuCdinhCtiet.Columns.IdPhieu).IsEqualTo(objPhieuCdinh.IdPhieu) .And(RisPhieuCdinhCtiet.Columns.SeriesInstanceUid).IsEqualTo(SERIES_INSTANCE_UID) .And(RisPhieuCdinhCtiet.Columns.StudyInstanceUid).IsEqualTo(StudyInstanseUid); //.And(RisPhieuCdinhCtiet.Columns.SopInstanceUid).IsEqualTo(SOP_INSTANCE_UID); var objRisPhieuCdinhCtiet = new RisPhieuCdinhCtiet(); if (sqlQuery.GetRecordCount() <= 0) { SqlQuery sqlQueryDV = new Select().From(DDichVu.Schema) .Where(DDichVu.Columns.MaDvu).IsEqualTo(Position) .And(DDichVu.Columns.IdLoaiDvu).In( new Select(DLoaiDvu.Columns.IdLoaiDvu).From(DLoaiDvu.Schema) .Where(DLoaiDvu.Columns.MaLoaiDvu). IsEqualTo(BodyPart)); var objDichVu = sqlQueryDV.ExecuteSingle<DDichVu>(); if (objDichVu != null) { objRisPhieuCdinhCtiet.IdDvu = Utility.Int32Dbnull(objDichVu.IdDvu, -1); if (objDichVu != null) { objRisPhieuCdinhCtiet.IdLoaiDvu = objDichVu.IdLoaiDvu; objRisPhieuCdinhCtiet.GhiChu = Utility.sDbnull(objDichVu.MoTa, ""); SqlQuery sqlQueryVungKS = new Select().From(DVungKsat.Schema) .Where(DVungKsat.Columns.IdVungKs).IsEqualTo(objDichVu.IdVungKs); var objDVungKsat = sqlQueryVungKS.ExecuteSingle<DVungKsat>(); if (objDVungKsat != null) { objRisPhieuCdinhCtiet.VungKs = Utility.sDbnull(objDVungKsat.TenVungKs, ""); objRisPhieuCdinhCtiet.KetLuan = Utility.sDbnull(objDVungKsat.KetLuan, ""); objRisPhieuCdinhCtiet.DeNghi = Utility.sDbnull(objDVungKsat.DeNghi, ""); objRisPhieuCdinhCtiet.KyThuat = Utility.sDbnull(objDVungKsat.KyThuat, ""); objRisPhieuCdinhCtiet.MoTa = Utility.sDbnull(objDVungKsat.MoTa, ""); } } } objRisPhieuCdinhCtiet.Sluong = 1; objRisPhieuCdinhCtiet.DaIn = 0; objRisPhieuCdinhCtiet.SeriesInstanceUid = SERIES_INSTANCE_UID; objRisPhieuCdinhCtiet.SopInstanceUid = SOP_INSTANCE_UID; objRisPhieuCdinhCtiet.StudyInstanceUid = objPhieuCdinh.StudyInstanseUid; objRisPhieuCdinhCtiet.MaKieuDvu = globalVariables.MaKieuDV; objRisPhieuCdinhCtiet.MaDvu = Position; objRisPhieuCdinhCtiet.MaLoaiDvu = BodyPart; objRisPhieuCdinhCtiet.MaTbi = string.Empty; objRisPhieuCdinhCtiet.IdKhoaThien = -1; objRisPhieuCdinhCtiet.TrangThaiImage = 1; // objRisPhieuCdinhCtiet.MaKieuDvu = globalVariables.; objRisPhieuCdinhCtiet.TrangThai = 0; objRisPhieuCdinhCtiet.IdPhieu = objPhieuCdinh.IdPhieu; objRisPhieuCdinhCtiet.IsNew = true; objRisPhieuCdinhCtiet.Save(); objRisPhieuCdinhCtiet.IdPhieuCtiet = Utility.Int32Dbnull(_QueryChiTiet.GetMax(RisPhieuCdinhCtiet.Columns.IdPhieuCtiet), -1); } else { objRisPhieuCdinhCtiet = sqlQuery.ExecuteSingle<RisPhieuCdinhCtiet>(); } sqlQuery = new Select().From(RisLuuAnh.Schema) .Where(RisLuuAnh.Columns.IdPhieuCtiet).IsEqualTo(objRisPhieuCdinhCtiet.IdPhieuCtiet) .And(RisLuuAnh.Columns.SeriesInstanceUid).IsEqualTo(objRisPhieuCdinhCtiet.SeriesInstanceUid) .And(RisLuuAnh.Columns.SopInstanceUid).IsEqualTo(SOP_INSTANCE_UID); if (sqlQuery.GetRecordCount() <= 0) { new Update(RisLuuAnh.Schema) .Set(RisLuuAnh.Columns.TrangThai).EqualTo(0) .Where(RisPhieuCdinhCtiet.Columns.IdPhieuCtiet).IsEqualTo( objRisPhieuCdinhCtiet.IdPhieuCtiet).Execute(); var objLuuAnh = new RisLuuAnh(); objLuuAnh.DdanAnh = PathImage; objLuuAnh.DdanAnhThumb = PathImage_thumb; objLuuAnh.IdPhieuCtiet = Utility.Int64Dbnull(objRisPhieuCdinhCtiet.IdPhieuCtiet, -1); objLuuAnh.SeriesInstanceUid = objRisPhieuCdinhCtiet.SeriesInstanceUid; objLuuAnh.SopInstanceUid = SOP_INSTANCE_UID; objLuuAnh.NgayTao = sysDateTime; objLuuAnh.TrangThai = 1; string[] strings = SOP_INSTANCE_UID.Split('.'); int loz; try { loz = Convert.ToInt32(strings[strings.Length - 1]); } catch (Exception) { loz = 0; } objLuuAnh.Stt = loz; objLuuAnh.IsNew = true; objLuuAnh.Save(); } else { new Update(RisLuuAnh.Schema) .Set(RisLuuAnh.Columns.DdanAnh).EqualTo(PathImage) .Set(RisLuuAnh.Columns.NgayTao).EqualTo(sysDateTime) .Where(RisLuuAnh.Columns.IdPhieuCtiet).IsEqualTo(objRisPhieuCdinhCtiet.IdPhieuCtiet) .And(RisLuuAnh.Columns.SeriesInstanceUid).IsEqualTo( objRisPhieuCdinhCtiet.SeriesInstanceUid) .And(RisLuuAnh.Columns.SopInstanceUid).IsEqualTo(SOP_INSTANCE_UID).Execute(); } } // OrderImage(SERIES_INSTANCE_UID); scope.Complete(); return; } } catch (Exception ex) { return; } }
/// <summary> /// Trả về đối tượng Phiếu chỉ đinh trong trường hợp đã tồn tại hoặc tạo mới thành công. Null nếu ko tạo mới thành công /// </summary> /// <param name="oBenhNhan"></param> /// <param name="maPhieu"></param> /// <returns></returns> public static RisPhieuCdinh GetPhieuChiDinh(RisBenhNhan oBenhNhan, string maPhieu) { try { //B1: Kiểm tra xem đã tồn tại phiếu hay chưa ? bằng mã phiếu var tempPhieu = new RisPhieuCdinhController().FetchByQuery( RisPhieuCdinh.CreateQuery().WHERE(RisPhieuCdinh.Columns.MaPhieu, Comparison.Equals, maPhieu)); if ((tempPhieu != null) && (tempPhieu.Count > 0)) { var risPhieuCdinh = tempPhieu[0]; risPhieuCdinh.SourcePatientid = oBenhNhan.Pid; risPhieuCdinh.Save(); return risPhieuCdinh; } //Nếu chưa tồn tại phiếu thì thêm mới. var sysDateTime = BusinessHelper.GetSysDateTime(); var objPhieuCdinh = new RisPhieuCdinh(); objPhieuCdinh.IdBnhan = oBenhNhan.IdBnhan; //Nếu không có accession no thì sinh mã mới :D objPhieuCdinh.MaPhieu = string.IsNullOrEmpty(maPhieu.Trim()) ? BusinessHelper.LayMaPhieu() : maPhieu.Trim(); objPhieuCdinh.Pid = oBenhNhan.Pid; objPhieuCdinh.LoaiPhieu = 1; objPhieuCdinh.NgayDky = sysDateTime; objPhieuCdinh.NgayTao = sysDateTime; objPhieuCdinh.NguoiTao = "Service"; objPhieuCdinh.SourcePatientid = oBenhNhan.Pid; objPhieuCdinh.AutoGen = 1; objPhieuCdinh.IsNew = true; objPhieuCdinh.Save(); return objPhieuCdinh; } catch (Exception) { return null; } }
/// <summary> /// Hàm lấy thông tin bệnh nhân. Trả về một đối tượng nếu tồn tại hoặc được tạo mới, trả về null nếu chưa tồn tại /// </summary> /// <param name="pid"></param> /// <param name="tenBenhNhan"></param> /// <param name="gtinh"></param> /// <returns></returns> public static RisBenhNhan GetBenhNhan(string pid, string tenBenhNhan, string gtinh) { try { //B1: Kiểm tra xem bệnh nhân đã tồn tại chưa ? bằng khóa pid var tempBns = new RisBenhNhanController().FetchByQuery(RisBenhNhan.CreateQuery().WHERE(RisBenhNhan.Columns.Pid, Comparison.Equals, pid)); //Nếu đã tồn tại bệnh nhân với pid truyền vào thì trả về đúng bệnh nhân đó. if ((tempBns != null) && (tempBns.Count > 0)) { var risBenhNhan = tempBns[0]; risBenhNhan.TrangThaiGui = 0; risBenhNhan.Save(); return risBenhNhan; } //Nếu chưa tồn tại thêm bệnh nhân mới với pid và thông tin nhận được var sysDateTime = BusinessHelper.GetSysDateTime(); var objBenhNhan = new RisBenhNhan(); objBenhNhan.Pid = pid; objBenhNhan.TenBnhan = tenBenhNhan; objBenhNhan.TenBnhanKdau = Utility.UnSignedCharacter(tenBenhNhan); objBenhNhan.MaDtuong = "KHAC"; objBenhNhan.BvTrangthai = 0; objBenhNhan.TrangThaiGui = 0; objBenhNhan.Gtinh = gtinh; objBenhNhan.TenBnhanKdau = tenBenhNhan; objBenhNhan.NamSinh = sysDateTime.Year; objBenhNhan.NgayTao = sysDateTime; objBenhNhan.AutoGen = 1; objBenhNhan.IsNew = true; objBenhNhan.Save(); return objBenhNhan; } catch (Exception) { return null; } }
public static RisBenhNhan ThemMoiBenhNhan(string TenBenhNhan, string Gtinh) { DateTime sysDateTime = BusinessHelper.GetSysDateTime(); Query query = RisBenhNhan.CreateQuery(); var objBenhNhan = new RisBenhNhan(); objBenhNhan.Pid = CommonBusiness.SinhPID(); objBenhNhan.TenBnhan = TenBenhNhan; objBenhNhan.TenBnhanKdau = Utility.UnSignedCharacter(TenBenhNhan); objBenhNhan.MaDtuong = "KHAC"; objBenhNhan.BvTrangthai = 0; objBenhNhan.TrangThaiGui = 0; objBenhNhan.Gtinh = Gtinh; objBenhNhan.TenBnhanKdau = TenBenhNhan; objBenhNhan.NamSinh = sysDateTime.Year; objBenhNhan.NgayTao = sysDateTime; objBenhNhan.IsNew = true; objBenhNhan.Save(); objBenhNhan.IdBnhan = Utility.Int32Dbnull(query.GetMax(RisBenhNhan.Columns.IdBnhan), -1); SqlQuery sqlQuery = new Select().From(RisBenhNhan.Schema) .Where(RisBenhNhan.Columns.IdBnhan).IsNotEqualTo(objBenhNhan.IdBnhan) .And(RisBenhNhan.Columns.Pid).IsEqualTo(objBenhNhan.Pid); if (sqlQuery.GetRecordCount() > 0) { objBenhNhan.Pid = CommonBusiness.SinhPID(); new Update(RisBenhNhan.Schema) .Set(RisBenhNhan.Columns.Pid).EqualTo(objBenhNhan.Pid) .Where(RisBenhNhan.Columns.IdBnhan).IsEqualTo(objBenhNhan.IdBnhan).Execute(); } return objBenhNhan; }
public void Insert(string Pid,string TenBnhan,string TenBnhanKdau,string Gtinh,DateTime? NgaySinh,int? NamSinh,string DiaChi,string MaTpho,string MaQhuyen,string MaNnghep,string SoDthoai,string Cmt,string MaDtuong,string SoBhyt,int? IdKhoa,string SoPhong,string SoGiuong,int? BvTrangthai,int? TrangThaiGui,string ChanDoan,DateTime NgayTao,string NguoiTao,DateTime? NgaySua,string NguoiSua,string MaBenh,string MaVphi,int AutoGen) { RisBenhNhan item = new RisBenhNhan(); item.Pid = Pid; item.TenBnhan = TenBnhan; item.TenBnhanKdau = TenBnhanKdau; item.Gtinh = Gtinh; item.NgaySinh = NgaySinh; item.NamSinh = NamSinh; item.DiaChi = DiaChi; item.MaTpho = MaTpho; item.MaQhuyen = MaQhuyen; item.MaNnghep = MaNnghep; item.SoDthoai = SoDthoai; item.Cmt = Cmt; item.MaDtuong = MaDtuong; item.SoBhyt = SoBhyt; item.IdKhoa = IdKhoa; item.SoPhong = SoPhong; item.SoGiuong = SoGiuong; item.BvTrangthai = BvTrangthai; item.TrangThaiGui = TrangThaiGui; item.ChanDoan = ChanDoan; item.NgayTao = NgayTao; item.NguoiTao = NguoiTao; item.NgaySua = NgaySua; item.NguoiSua = NguoiSua; item.MaBenh = MaBenh; item.MaVphi = MaVphi; item.AutoGen = AutoGen; item.Save(UserName); }