コード例 #1
0
        /// <summary>
        /// 获取基本数据表
        /// </summary>
        private void GetPatInfoData()
        {
            string patientID = ExtendAppContext.Current.PatientInformationExtend.PATIENT_ID;
            int    visitID   = ExtendAppContext.Current.PatientInformationExtend.VISIT_ID;
            int    operID    = ExtendAppContext.Current.PatientInformationExtend.OPER_ID;

            if (null == this.operMaster)
            {
                this.operMaster = AnesInfoService.ClientInstance.GetOperationMaster(patientID, visitID, operID);
                this.dataSourceList.Add(this.operMaster);
            }

            if (null == this.patMasterIndex)
            {
                this.patMasterIndex = AnesInfoService.ClientInstance.GetPatMasterIndex(patientID).FirstOrDefault();
                this.dataSourceList.Add(this.patMasterIndex);
            }

            if (null == this.patVisit)
            {
                this.patVisit = CareDocService.ClientInstance.GetPatVisit(patientID, visitID);
                this.dataSourceList.Add(this.patVisit);
            }

            if (null == this.patsInHospital)
            {
                this.patsInHospital = AnesInfoService.ClientInstance.GetPatsInHospitalList(patientID, visitID).FirstOrDefault();
                this.dataSourceList.Add(this.patsInHospital);
            }
        }
コード例 #2
0
        protected override void OnSaveData(Dictionary <string, DataTable> dataSource)
        {
            List <MED_OPERATION_MASTER> operMasterList = ModelHelper <MED_OPERATION_MASTER> .ConvertDataTableToList(dataSource["MED_OPERATION_MASTER"]);

            MED_OPERATION_MASTER operMaster = null;

            if (operMasterList != null && operMasterList.Count > 0)
            {
                operMaster = operMasterList[0];
            }

            List <MED_PAT_MASTER_INDEX> patIndexList = ModelHelper <MED_PAT_MASTER_INDEX> .ConvertDataTableToList(dataSource["MED_PAT_MASTER_INDEX"]);

            MED_PAT_MASTER_INDEX patMasterIndex = null;

            if (patIndexList != null && patIndexList.Count > 0)
            {
                patMasterIndex = patIndexList[0];
            }

            List <MED_PAT_VISIT> patVisitList = ModelHelper <MED_PAT_VISIT> .ConvertDataTableToList(dataSource["MED_PAT_VISIT"]);

            MED_PAT_VISIT patVisit = null;

            if (patVisitList != null && patVisitList.Count > 0)
            {
                patVisit = patVisitList[0];
            }

            List <MED_ANESTHESIA_RECOVER> anesReconver = ModelHelper <MED_ANESTHESIA_RECOVER> .ConvertDataTableToList(dataSource["MED_ANESTHESIA_RECOVER"]);

            if (anesReconver != null && anesReconver.Count > 0)
            {
                operationInfoRepository.SaveAnesRecoverData(anesReconver[0]);
            }

            List <MED_ANESTHESIA_INQUIRY> anesInquiry = ModelHelper <MED_ANESTHESIA_INQUIRY> .ConvertDataTableToList(dataSource["MED_ANESTHESIA_INQUIRY"]);

            if (anesInquiry != null && anesInquiry.Count > 0)
            {
                operationInfoRepository.SaveAnesInquiryData(anesInquiry[0]);
            }

            List <MED_POSTOPERATIVE_EXTENDED> postExtended = ModelHelper <MED_POSTOPERATIVE_EXTENDED> .ConvertDataTableToList(dataSource["MED_POSTOPERATIVE_EXTENDED"]);

            MED_PATS_IN_HOSPITAL patsInHospital = null;

            MED_ANESTHESIA_PLAN anesPlan = null;

            MED_ANESTHESIA_PLAN_EXAM anesPlanExam = null;

            MED_ANESTHESIA_PLAN_PMH anesPlanPmh = null;

            List <MED_OPERATION_EXTENDED> operExtended = null;

            List <MED_PREOPERATIVE_EXPANSION> preExpansion = null;

            operationInfoRepository.SaveMedicalBasicDoc(new { operMaster, patMasterIndex, patVisit, patsInHospital, anesPlan, anesPlanExam, anesPlanPmh, operExtended, postExtended, preExpansion });
        }
コード例 #3
0
        public int SavePatVisit(MED_PAT_VISIT item)
        {
            int result = dapper.Set <MED_PAT_VISIT>().Save(item) == true ? 1 : 0;

            dapper.SaveChanges();

            return(result);
        }
コード例 #4
0
        public MED_PAT_VISIT GetPatVisit(string patientID, int visitID)
        {
            MED_PAT_VISIT patVisit = operationInfoRepository.GetPatVisit(patientID, visitID).Data;

            if (patVisit == null)
            {
                patVisit            = new MED_PAT_VISIT();
                patVisit.PATIENT_ID = patientID;
                patVisit.VISIT_ID   = visitID;
            }
            return(patVisit);
        }
コード例 #5
0
        public RequestResult <MED_PAT_VISIT> GetPatVisit(string patientID, int visitID)
        {
            MED_PAT_VISIT data = _careDocService.GetPatVisit(patientID, visitID);

            if (data == null)
            {
                return(Failed <MED_PAT_VISIT>("获取信息错误。"));
            }
            else
            {
                return(Success(data));
            }
        }
コード例 #6
0
 private void SyncPatientByInpNo(string inpNo)
 {
     if (ExtendApplicationContext.Current.IsSync)
     {
         string ret = "";
         ret = syncInfoRepository.SyncPatientInfoAndInHospitalByInpNo(inpNo).Data;
         if (!string.IsNullOrEmpty(ret))
         {
             MessageBoxFormPC.Show(ret);
         }
     }
     btnSave.Enabled = true;
     if (inpNo != "")
     {
         List <MED_PAT_VISIT> patVisitList = operationInfoRepository.GetPatVisitListByInpNo(inpNo).Data;
         dtScheduledTime.EditValue = DateTime.Now.Date.AddHours(DateTime.Now.Hour).AddMinutes(DateTime.Now.Minute);
         if (patVisitList != null && patVisitList.Count > 0)
         {
             MED_PAT_VISIT patRow = patVisitList[0];
             txtPatientID.Text = patRow.PATIENT_ID;
             MED_PAT_MASTER_INDEX patMaster = operationInfoRepository.GetPatMasterIndex(patRow.PATIENT_ID).Data;
             txtPatName.Text = patMaster.NAME;
             txtPatSex.Text  = patMaster.SEX;
             if (patMaster.DATE_OF_BIRTH.HasValue)
             {
                 dtBirthDay.EditValue = patMaster.DATE_OF_BIRTH.Value;
             }
             else
             {
                 dtBirthDay.EditValue = null;
             }
         }
         MED_PATS_IN_HOSPITAL patsHospital = operationInfoRepository.GetPatsInHospital(inpNo).Data;
         if (patsHospital != null)
         {
             txtBedNo.Text = patsHospital.BED_NO;
             txtDeptCode.SetData(patsHospital.DEPT_CODE);
             if (txtDeptCode.Data != null)
             {
                 List <MED_DEPT_DICT> dataTable = ExtendApplicationContext.Current.CommDict.DeptDict.Where(x => x.DEPT_CODE == patsHospital.DEPT_CODE).ToList();
                 if (dataTable != null && dataTable.Count > 0)
                 {
                     txtDeptCode.Text = dataTable[0].DEPT_NAME;
                 }
             }
             txtConcultation.Text = patsHospital.DIAGNOSIS;
         }
     }
 }
コード例 #7
0
        private void LoadPatientID()
        {
            ExtendApplicationContext.Current.MED_PAT_MASTER_INDEX = operationInfoRepository.GetPatMasterIndex(_patientID).Data;

            ExtendApplicationContext.Current.MED_OPERATION_MASTER
                = operationInfoRepository.GetOperMaster(_patientID, _visitID, _operID).Data;

            if (ExtendApplicationContext.Current.MED_OPERATION_MASTER == null)
            {
                ExtendApplicationContext.Current.MED_OPERATION_MASTER             = new MED_OPERATION_MASTER();
                ExtendApplicationContext.Current.MED_OPERATION_MASTER.PATIENT_ID  = _patientID;
                ExtendApplicationContext.Current.MED_OPERATION_MASTER.VISIT_ID    = _visitID;
                ExtendApplicationContext.Current.MED_OPERATION_MASTER.OPER_ID     = _operID;
                ExtendApplicationContext.Current.MED_OPERATION_MASTER.OPER_ROOM   = ExtendApplicationContext.Current.OperRoom;
                ExtendApplicationContext.Current.MED_OPERATION_MASTER.HOSP_BRANCH = ExtendApplicationContext.Current.HospBranchCode;
            }
            ExtendApplicationContext.Current.MED_PAT_VISIT
                = operationInfoRepository.GetPatVisit(_patientID, _visitID).Data;

            if (ExtendApplicationContext.Current.MED_PAT_VISIT == null)
            {
                ExtendApplicationContext.Current.MED_PAT_VISIT = new MED_PAT_VISIT()
                {
                    PATIENT_ID = _patientID, VISIT_ID = _visitID, INP_NO = ExtendApplicationContext.Current.PatientInformationExtend.INP_NO
                };
            }
            patMasterIndex                      = ExtendApplicationContext.Current.MED_PAT_MASTER_INDEX;
            operationMaster                     = ExtendApplicationContext.Current.MED_OPERATION_MASTER;
            operationMaster.HOSP_BRANCH         = _patientCard.HOSP_BRANCH;
            operationMaster.WARD_CODE           = _patientCard.WARD_CODE;
            operationMaster.DEPT_CODE           = _patientCard.DEPT_CODE;
            operationMaster.OPER_DEPT_CODE      = _patientCard.OPER_DEPT_CODE;
            operationMaster.SCHEDULED_DATE_TIME = accountRepository.GetServerTime().Data;
            patVisit = ExtendApplicationContext.Current.MED_PAT_VISIT;
            anesPlan = new DocDataRepository().GetAnesthesiaPlan(_patientID, _visitID, _operID);
        }
コード例 #8
0
        /// <summary>
        /// 保存文书基础表Basic table of medical instruments
        /// </summary>
        /// <param name="dyParams"></param>
        /// <returns></returns>
        /// <summary>
        public RequestResult <bool> SaveMedicalBasicDoc(dynamic dyParams)
        {
            RequestResult <bool> Result = new RequestResult <bool>();

            try
            {
                MED_OPERATION_MASTER              operMaster     = null;
                MED_PAT_MASTER_INDEX              patMasterIndex = null;
                MED_PAT_VISIT                     patVisit       = null;
                MED_PATS_IN_HOSPITAL              patsInHospital = null;
                MED_ANESTHESIA_PLAN               anesPlan       = null;
                MED_ANESTHESIA_PLAN_EXAM          anesPlanExam   = null;
                MED_ANESTHESIA_PLAN_PMH           anesPlanPmh    = null;
                List <MED_OPERATION_EXTENDED>     operExtended   = null;
                List <MED_POSTOPERATIVE_EXTENDED> postExtended   = null;
                List <MED_PREOPERATIVE_EXPANSION> preExpansion   = null;
                if (dyParams.operMaster != null)
                {
                    string value = dyParams.operMaster.ToString();
                    operMaster = JsonConvert.DeserializeObject <MED_OPERATION_MASTER>(value);
                }
                if (dyParams.patMasterIndex != null)
                {
                    string value = dyParams.patMasterIndex.ToString();
                    patMasterIndex = JsonConvert.DeserializeObject <MED_PAT_MASTER_INDEX>(value);
                }
                if (dyParams.patVisit != null)
                {
                    string value = dyParams.patVisit.ToString();
                    patVisit = JsonConvert.DeserializeObject <MED_PAT_VISIT>(value);
                }
                if (dyParams.patsInHospital != null)
                {
                    string value = dyParams.patsInHospital.ToString();
                    patsInHospital = JsonConvert.DeserializeObject <MED_PATS_IN_HOSPITAL>(value);
                }
                if (dyParams.anesPlan != null)
                {
                    string value = dyParams.anesPlan.ToString();
                    anesPlan = JsonConvert.DeserializeObject <MED_ANESTHESIA_PLAN>(value);
                }
                if (dyParams.anesPlanExam != null)
                {
                    string value = dyParams.anesPlanExam.ToString();
                    anesPlanExam = JsonConvert.DeserializeObject <MED_ANESTHESIA_PLAN_EXAM>(value);
                }
                if (dyParams.anesPlanPmh != null)
                {
                    string value = dyParams.anesPlanPmh.ToString();
                    anesPlanPmh = JsonConvert.DeserializeObject <MED_ANESTHESIA_PLAN_PMH>(value);
                }
                if (dyParams.operExtended != null)
                {
                    string value = dyParams.operExtended.ToString();
                    operExtended = JsonConvert.DeserializeObject <List <MED_OPERATION_EXTENDED> >(value);
                }
                if (dyParams.postExtended != null)
                {
                    string value = dyParams.postExtended.ToString();
                    postExtended = JsonConvert.DeserializeObject <List <MED_POSTOPERATIVE_EXTENDED> >(value);
                }
                if (dyParams.preExpansion != null)
                {
                    string value = dyParams.preExpansion.ToString();
                    preExpansion = JsonConvert.DeserializeObject <List <MED_PREOPERATIVE_EXPANSION> >(value);
                }

                Result = Success(_pacuOperationInfoService.SaveMedicalBasicDoc(operMaster, patMasterIndex, patVisit, patsInHospital, anesPlan, anesPlanExam, anesPlanPmh, operExtended, postExtended, preExpansion));
            }
            catch (Exception ex)
            {
                Logger.Error("SaveMedicalBasicDoc:" + ex.Message);
            }
            return(Result);
        }
コード例 #9
0
 public RequestResult <int> SavePatVisit(MED_PAT_VISIT item)
 {
     return(Success(_pacuOperationInfoService.SavePatVisit(item)));
 }
コード例 #10
0
        private MED_OPERATION_SCHEDULE setOperationSubmit(string sql_GetMaxOperationNo, MED_OPERATION_SCHEDULE item)
        {
            MED_OPERATION_SCHEDULE dbSCHEDULE = dapper.Set <MED_OPERATION_SCHEDULE>().Single(item); //判断收到已经提交

            if (dbSCHEDULE.OPER_STATUS_CODE == 1)                                                   //实时判断,没提交才能判断
            {
                #region 获取MED_OPERATION_SCHEDULE_NAME表数据
                List <MED_OPERATION_SCHEDULE_NAME> scheduleNameItemList = dapper.Set <MED_OPERATION_SCHEDULE_NAME>().Select(d => d.PATIENT_ID == item.PATIENT_ID && d.VISIT_ID == item.VISIT_ID && d.SCHEDULE_ID == item.SCHEDULE_ID).OrderBy(d => d.OPER_NO).ToList <MED_OPERATION_SCHEDULE_NAME>();
                #endregion
                int    OperationNo       = GetMaxOperationNo(sql_GetMaxOperationNo, item);
                string tempOperationName = string.Empty;
                #region 向MED_OPERATION_NAME表插入数据
                List <MED_OPERATION_NAME> operNameItemList = new List <MED_OPERATION_NAME>();
                foreach (MED_OPERATION_SCHEDULE_NAME scheduleNameItem in scheduleNameItemList)
                {
                    MED_OPERATION_NAME operNameItem = new MED_OPERATION_NAME();
                    operNameItem.PATIENT_ID = scheduleNameItem.PATIENT_ID;
                    operNameItem.VISIT_ID   = scheduleNameItem.VISIT_ID;
                    operNameItem.OPER_ID    = item.OPER_ID;
                    operNameItem.OPER_NO    = ++OperationNo;
                    operNameItem.OPER_NAME  = scheduleNameItem.OPER_NAME;
                    operNameItem.OPER_CODE  = scheduleNameItem.OPER_CODE;
                    operNameItem.OPER_SCALE = scheduleNameItem.OPER_SCALE;
                    operNameItem.WOUND_TYPE = scheduleNameItem.WOUND_TYPE;
                    operNameItem.RESERVED1  = scheduleNameItem.RESERVED1;
                    operNameItem.RESERVED2  = scheduleNameItem.RESERVED2;
                    operNameItem.RESERVED3  = scheduleNameItem.RESERVED3;
                    operNameItem.RESERVED4  = scheduleNameItem.RESERVED4;
                    operNameItemList.Add(operNameItem);
                    tempOperationName += "," + scheduleNameItem.RESERVED2 + scheduleNameItem.OPER_NAME;
                }
                dapper.Set <MED_OPERATION_NAME>().Insert(operNameItemList);
                #endregion
                tempOperationName = tempOperationName.TrimStart(',');
                #region 向MED_OPERATION_MASTER表插入数据
                MED_OPERATION_MASTER masterITEM = new MED_OPERATION_MASTER
                {
                    PATIENT_ID            = item.PATIENT_ID,
                    VISIT_ID              = item.VISIT_ID,
                    OPER_ID               = Convert.ToInt32(item.OPER_ID),
                    HOSP_BRANCH           = item.HOSP_BRANCH,
                    WARD_CODE             = item.WARD_CODE,
                    DEPT_CODE             = item.DEPT_CODE,
                    OPER_DEPT_CODE        = item.OPER_DEPT_CODE,
                    OPER_ROOM             = item.OPER_ROOM,
                    OPER_ROOM_NO          = item.OPER_ROOM_NO,
                    SEQUENCE              = item.SEQUENCE,
                    OPER_CLASS            = item.OPER_CLASS,
                    DIAG_BEFORE_OPERATION = item.DIAG_BEFORE_OPERATION,
                    DIAG_AFTER_OPERATION  = item.DIAG_BEFORE_OPERATION,
                    PATIENT_CONDITION     = item.PATIENT_CONDITION,
                    OPER_SCALE            = item.OPER_SCALE,
                    WOUND_TYPE            = item.WOUND_TYPE,
                    ASA_GRADE             = item.ASA_GRADE,
                    EMERGENCY_IND         = item.EMERGENCY_IND,
                    OPER_SOURCE           = item.OPER_SOURCE,
                    ISOLATION_IND         = item.ISOLATION_IND,
                    INFECTED_IND          = item.INFECTED_IND,
                    RADIATE_IND           = item.RADIATE_IND,
                    SURGEON               = item.SURGEON,
                    FIRST_OPER_ASSISTANT  = item.FIRST_OPER_ASSISTANT,
                    SECOND_OPER_ASSISTANT = item.SECOND_OPER_ASSISTANT,
                    THIRD_OPER_ASSISTANT  = item.THIRD_OPER_ASSISTANT,
                    FOURTH_OPER_ASSISTANT = item.FOURTH_OPER_ASSISTANT,
                    ANES_METHOD           = item.ANES_METHOD,
                    ANES_DOCTOR           = item.ANES_DOCTOR,
                    FIRST_ANES_ASSISTANT  = item.FIRST_ANES_ASSISTANT,
                    SECOND_ANES_ASSISTANT = item.SECOND_ANES_ASSISTANT,
                    THIRD_ANES_ASSISTANT  = item.THIRD_ANES_ASSISTANT,
                    FOURTH_ANES_ASSISTANT = item.FOURTH_ANES_ASSISTANT,
                    FIRST_ANES_NURSE      = item.FIRST_ANES_NURSE,
                    SECOND_ANES_NURSE     = item.SECOND_ANES_NURSE,
                    THIRD_ANES_NURSE      = item.THIRD_ANES_NURSE,
                    CPB_DOCTOR            = item.CPB_DOCTOR,
                    FIRST_CPB_ASSISTANT   = item.FIRST_CPB_ASSISTANT,
                    SECOND_CPB_ASSISTANT  = item.SECOND_CPB_ASSISTANT,
                    THIRD_CPB_ASSISTANT   = item.THIRD_CPB_ASSISTANT,
                    FOURTH_CPB_ASSISTANT  = item.FOURTH_CPB_ASSISTANT,
                    FIRST_OPER_NURSE      = item.FIRST_OPER_NURSE,
                    SECOND_OPER_NURSE     = item.SECOND_OPER_NURSE,
                    THIRD_OPER_NURSE      = item.THIRD_OPER_NURSE,
                    FOURTH_OPER_NURSE     = item.FOURTH_OPER_NURSE,
                    FIRST_SUPPLY_NURSE    = item.FIRST_SUPPLY_NURSE,
                    SECOND_SUPPLY_NURSE   = item.SECOND_SUPPLY_NURSE,
                    THIRD_SUPPLY_NURSE    = item.THIRD_SUPPLY_NURSE,
                    FOURTH_SUPPLY_NURSE   = item.FOURTH_SUPPLY_NURSE,
                    PACU_DOCTOR           = item.PACU_DOCTOR,
                    FIRST_PACU_ASSISTANT  = item.FIRST_PACU_ASSISTANT,
                    SECOND_PACU_ASSISTANT = item.SECOND_PACU_ASSISTANT,
                    FIRST_PACU_NURSE      = item.FIRST_PACU_NURSE,
                    SECOND_PACU_NURSE     = item.SECOND_PACU_NURSE,
                    REQ_DATE_TIME         = item.REQ_DATE_TIME,
                    SCHEDULED_DATE_TIME   = item.SCHEDULED_DATE_TIME,
                    OPER_POSITION         = item.OPER_POSITION,
                    BED_NO            = item.BED_NO,
                    OPERATION_NAME    = tempOperationName,
                    SPECIAL_EQUIPMENT = item.SPECIAL_EQUIPMENT,
                    SPECIAL_INFECT    = item.SPECIAL_INFECT,
                    OPER_STATUS_CODE  = item.OPER_STATUS_CODE,
                    HIS_PATIENT_ID    = item.HIS_PATIENT_ID,
                    HIS_VISIT_ID      = item.HIS_VISIT_ID,
                    HIS_SCHEDULE_ID   = item.HIS_SCHEDULE_ID,
                    HIS_OPER_STATUS   = item.HIS_OPER_STATUS,
                    MEMO = item.NOTES_ON_OPERATION
                };

                bool flag = dapper.Set <MED_OPERATION_MASTER>().Insert(masterITEM);
                #endregion
                item.OPERATION_NAME = tempOperationName;
                dapper.Set <MED_OPERATION_SCHEDULE>().Update(item, d => new { d.ANES_CONFIRM, d.NURSE_CONFIRM, d.OPER_STATUS_CODE, d.OPER_ID, d.OPERATION_NAME, d.ANES_DOCTOR });
                if (flag)
                {
                    //确认成功后,从visit表中往plan表中写入手术名称,身高体重数据
                    MED_ANESTHESIA_PLAN anesPlan = dapper.Set <MED_ANESTHESIA_PLAN>().Single(d => d.PATIENT_ID == masterITEM.PATIENT_ID && d.VISIT_ID == masterITEM.VISIT_ID && d.OPER_ID == masterITEM.OPER_ID);
                    if (anesPlan == null)
                    {
                        anesPlan            = new MED_ANESTHESIA_PLAN();
                        anesPlan.PATIENT_ID = masterITEM.PATIENT_ID;
                        anesPlan.VISIT_ID   = masterITEM.VISIT_ID;
                        anesPlan.OPER_ID    = masterITEM.OPER_ID;
                    }
                    if (!string.IsNullOrEmpty(masterITEM.OPERATION_NAME))
                    {
                        anesPlan.OPERATION_NAME = masterITEM.OPERATION_NAME;
                    }
                    dapper.Set <MED_ANESTHESIA_PLAN>().Save(anesPlan, d => d.PATIENT_ID == masterITEM.PATIENT_ID && d.VISIT_ID == masterITEM.VISIT_ID && d.OPER_ID == masterITEM.OPER_ID);

                    MED_ANESTHESIA_PLAN_PMH anesPlanPmh = dapper.Set <MED_ANESTHESIA_PLAN_PMH>().Single(d => d.PATIENT_ID == masterITEM.PATIENT_ID && d.VISIT_ID == masterITEM.VISIT_ID && d.OPER_ID == masterITEM.OPER_ID);
                    MED_PAT_VISIT           patVisit    = dapper.Set <MED_PAT_VISIT>().Single(d => d.PATIENT_ID == masterITEM.PATIENT_ID && d.VISIT_ID == masterITEM.VISIT_ID);
                    if (anesPlanPmh == null)
                    {
                        anesPlanPmh            = new MED_ANESTHESIA_PLAN_PMH();
                        anesPlanPmh.PATIENT_ID = masterITEM.PATIENT_ID;
                        anesPlanPmh.VISIT_ID   = masterITEM.VISIT_ID;
                        anesPlanPmh.OPER_ID    = masterITEM.OPER_ID;
                        if (patVisit != null)
                        {
                            anesPlanPmh.HEIGHT     = patVisit.BODY_HEIGHT.HasValue ? patVisit.BODY_HEIGHT.Value.ToString() : "";
                            anesPlanPmh.WEIGHT     = patVisit.BODY_WEIGHT.HasValue ? patVisit.BODY_WEIGHT.Value.ToString() : "";
                            anesPlanPmh.BLOOD_TYPE = patVisit.BLOOD_TYPE + " " + patVisit.BLOOD_TYPE_RH;
                        }
                    }
                    else
                    {
                        if (patVisit != null)
                        {
                            anesPlanPmh.HEIGHT     = patVisit.BODY_HEIGHT.HasValue ? patVisit.BODY_HEIGHT.Value.ToString() : "";;
                            anesPlanPmh.WEIGHT     = patVisit.BODY_WEIGHT.HasValue ? patVisit.BODY_WEIGHT.Value.ToString() : "";;
                            anesPlanPmh.BLOOD_TYPE = patVisit.BLOOD_TYPE + " " + patVisit.BLOOD_TYPE_RH;
                        }
                    }
                    dapper.Set <MED_ANESTHESIA_PLAN_PMH>().Save(anesPlanPmh, d => d.PATIENT_ID == anesPlanPmh.PATIENT_ID && d.VISIT_ID == anesPlanPmh.VISIT_ID && d.OPER_ID == anesPlanPmh.OPER_ID);
                    dapper.SaveChanges();
                    return(item);
                }
            }
            return(null);
        }
コード例 #11
0
        protected override void OnSaveData(Dictionary <string, DataTable> dataSource)
        {
            List <MED_OPERATION_MASTER> operMasterList = ModelHelper <MED_OPERATION_MASTER> .ConvertDataTableToList(dataSource["MED_OPERATION_MASTER"]);

            MED_OPERATION_MASTER operMaster = null;

            if (operMasterList != null && operMasterList.Count > 0)
            {
                operMaster = operMasterList[0];
            }

            List <MED_PAT_MASTER_INDEX> patIndexList = ModelHelper <MED_PAT_MASTER_INDEX> .ConvertDataTableToList(dataSource["MED_PAT_MASTER_INDEX"]);

            MED_PAT_MASTER_INDEX patMasterIndex = null;

            if (patIndexList != null && patIndexList.Count > 0)
            {
                patMasterIndex = patIndexList[0];
            }

            List <MED_PAT_VISIT> patVisitList = ModelHelper <MED_PAT_VISIT> .ConvertDataTableToList(dataSource["MED_PAT_VISIT"]);

            MED_PAT_VISIT patVisit = null;

            if (patVisitList != null && patVisitList.Count > 0)
            {
                patVisit = patVisitList[0];
            }

            List <MED_ANESTHESIA_PLAN> anesPlanList = ModelHelper <MED_ANESTHESIA_PLAN> .ConvertDataTableToList(dataSource["MED_ANESTHESIA_PLAN"]);

            MED_ANESTHESIA_PLAN anesPlan = null;

            if (anesPlanList != null && anesPlanList.Count > 0)
            {
                anesPlan = anesPlanList[0];
            }


            List <MED_ANESTHESIA_PLAN_PMH> anesPlanPMHList = ModelHelper <MED_ANESTHESIA_PLAN_PMH> .ConvertDataTableToList(dataSource["MED_ANESTHESIA_PLAN_PMH"]);

            MED_ANESTHESIA_PLAN_PMH anesPlanPMH = null;

            if (anesPlanPMHList != null && anesPlanPMHList.Count > 0)
            {
                anesPlanPMH = anesPlanPMHList[0];
            }

            List <MED_PREOPERATIVE_EXPANSION> preExpansion = ModelHelper <MED_PREOPERATIVE_EXPANSION> .ConvertDataTableToList(dataSource["MED_PREOPERATIVE_EXPANSION"]);

            List <MED_SAFETY_CHECKS> safetyCheck = ModelHelper <MED_SAFETY_CHECKS> .ConvertDataTableToList(dataSource["MED_SAFETY_CHECKS"]);

            if (safetyCheck != null && safetyCheck.Count > 0)
            {
                operationInfoRepository.SaveSafetyCheck(safetyCheck[0]);
            }

            List <MED_OPER_RISK_ESTIMATE> riskEstimate = ModelHelper <MED_OPER_RISK_ESTIMATE> .ConvertDataTableToList(dataSource["MED_OPER_RISK_ESTIMATE"]);

            if (riskEstimate != null && riskEstimate.Count > 0)
            {
                operationInfoRepository.SaveRickEstimate(riskEstimate[0]);
            }

            //OperationInfoService.SaveMedicalBasicDoc(operMaster, patIndex, patVisit, null, anesPlan, null, anesPlanPMH, null, null, preExpansion);

            MED_PATS_IN_HOSPITAL patsInHospital = null;


            MED_ANESTHESIA_PLAN_EXAM anesPlanExam = null;

            MED_ANESTHESIA_PLAN_PMH anesPlanPmh = null;

            List <MED_OPERATION_EXTENDED> operExtended = null;

            List <MED_POSTOPERATIVE_EXTENDED> postExtended = null;


            operationInfoRepository.SaveMedicalBasicDoc(new { operMaster, patMasterIndex, patVisit, patsInHospital, anesPlan, anesPlanExam, anesPlanPmh, operExtended, postExtended, preExpansion });
        }
コード例 #12
0
        protected override void OnSaveData(Dictionary <string, DataTable> dataSource)
        {
            #region 手术清点单添加多表格功能
            List <MED_QIXIE_QINGDIAN> dataTable = ModelHelper <MED_QIXIE_QINGDIAN> .ConvertDataTableToList(dataSource["MED_QIXIE_QINGDIAN"]);

            MED_QIXIE_QINGDIAN row       = null;
            string             patientID = ExtendApplicationContext.Current.PatientContextExtend.PatientID;
            int visitID = ExtendApplicationContext.Current.PatientContextExtend.VisitID;
            int operID  = ExtendApplicationContext.Current.PatientContextExtend.OperID;
            if (dataTable == null)
            {
                dataTable = operationInfoRepository.GetOperCheckList(patientID, visitID, operID).Data;
            }
            List <MedGridView> grids = base.GetControls <MedGridView>();
            foreach (MedGridView grid in grids)
            {
                for (int i = 0; i < grid.RowCount; i++)
                {
                    for (int j = 0; j < grid.ColumnCount; j++)
                    {
                        DataGridViewCell          cell = grid[j, i];
                        List <MED_QIXIE_QINGDIAN> rows = null;
                        rows = dataTable.Where(x => x.PATIENT_ID == patientID && x.VISIT_ID == visitID && x.OPER_ID == operID && x.X_POSITION == j &&
                                               x.Y_POSITION == i && x.TABLETAG == grid.Name).ToList();
                        if (rows != null && rows.Count > 0)
                        {
                            row = rows[0];
                        }
                        else
                        {
                            row = null;
                        }
                        string celltext = string.Empty;
                        if (cell.Value != null && !string.IsNullOrEmpty(cell.Value.ToString().Trim()))
                        {
                            celltext = cell.Value.ToString().Trim();
                        }
                        if (string.IsNullOrEmpty(celltext))
                        {
                            if (row != null)
                            {
                                row.POSITION_VALUE = "";
                            }
                        }
                        else
                        {
                            if (row == null)
                            {
                                row            = new MED_QIXIE_QINGDIAN();
                                row.PATIENT_ID = patientID;
                                row.VISIT_ID   = visitID;
                                row.OPER_ID    = operID;
                                row.X_POSITION = j;
                                row.Y_POSITION = i;
                                row.TABLETAG   = grid.Name;
                                dataTable.Add(row);
                            }
                            row.POSITION_VALUE = celltext;
                        }
                    }
                }
            }
            #endregion
            List <MED_OPERATION_MASTER> operMasterList = ModelHelper <MED_OPERATION_MASTER> .ConvertDataTableToList(dataSource["MED_OPERATION_MASTER"]);

            MED_OPERATION_MASTER operMaster = null;
            if (operMasterList != null && operMasterList.Count > 0)
            {
                operMaster = operMasterList[0];
            }

            List <MED_PAT_MASTER_INDEX> patIndexList = ModelHelper <MED_PAT_MASTER_INDEX> .ConvertDataTableToList(dataSource["MED_PAT_MASTER_INDEX"]);

            MED_PAT_MASTER_INDEX patMasterIndex = null;
            if (patIndexList != null && patIndexList.Count > 0)
            {
                patMasterIndex = patIndexList[0];
            }

            List <MED_PAT_VISIT> patVisitList = ModelHelper <MED_PAT_VISIT> .ConvertDataTableToList(dataSource["MED_PAT_VISIT"]);

            MED_PAT_VISIT patVisit = null;
            if (patVisitList != null && patVisitList.Count > 0)
            {
                patVisit = patVisitList[0];
            }

            List <MED_OPERATION_EXTENDED> operExtended = ModelHelper <MED_OPERATION_EXTENDED> .ConvertDataTableToList(dataSource["MED_OPERATION_EXTENDED"]);

            List <MED_POSTOPERATIVE_EXTENDED> postExtended = ModelHelper <MED_POSTOPERATIVE_EXTENDED> .ConvertDataTableToList(dataSource["MED_POSTOPERATIVE_EXTENDED"]);

            List <MED_PREOPERATIVE_EXPANSION> preExpansion = ModelHelper <MED_PREOPERATIVE_EXPANSION> .ConvertDataTableToList(dataSource["MED_POSTOPERATIVE_EXTENDED"]);

            List <MED_QIXIE_QINGDIAN> operCheck = dataTable;
            if (operCheck != null)
            {
                operationInfoRepository.SaveOperCheckList(operCheck);
            }
            //OperationInfoService.SaveMedicalBasicDoc(operMaster, patIndex, patVisit, null, null, null, null, operExtended, postExtended, preExpansion);

            MED_PATS_IN_HOSPITAL patsInHospital = null;

            MED_ANESTHESIA_PLAN anesPlan = null;

            MED_ANESTHESIA_PLAN_EXAM anesPlanExam = null;

            MED_ANESTHESIA_PLAN_PMH anesPlanPmh = null;



            operationInfoRepository.SaveMedicalBasicDoc(new { operMaster, patMasterIndex, patVisit, patsInHospital, anesPlan, anesPlanExam, anesPlanPmh, operExtended, postExtended, preExpansion });
        }
コード例 #13
0
        private void SyncPatientByPatientId(string patientID)
        {
            if (!string.IsNullOrEmpty(patientID))
            {
                if (ExtendApplicationContext.Current.IsSync)
                {
                    string ret = "";

                    ret = syncInfoRepository.SyncPatientInfoAndInHospital(patientID).Data;

                    ret += syncInfoRepository.SyncScheduleInfo(patientID, accountRepository.GetServerTime().Data).Data;

                    if (!string.IsNullOrEmpty(ret))
                    {
                        MessageBoxFormPC.Show(ret);
                    }
                }
            }
            bool flag = true;

            if (patientID != "")
            {
                patMasterIndex = operationInfoRepository.GetPatMasterIndex(patientID).Data;

                MED_PATS_IN_HOSPITAL patsInHospital = null;
                if (patMasterIndex == null)
                {
                    patsInHospital = operationInfoRepository.GetPatsInHospital(patientID).Data;
                    if (patsInHospital != null)
                    {
                        patientID      = patsInHospital.PATIENT_ID;
                        patMasterIndex = operationInfoRepository.GetPatMasterIndex(patientID).Data;
                    }
                }
                List <MED_PAT_VISIT> patVisitList = operationInfoRepository.GetPatVisitList(patientID).Data;

                if (patVisitList != null && patVisitList.Count > 0)
                {
                    flag     = flag & false;
                    patVisit = patVisitList[0];
                    _visitID = Convert.ToInt32(patVisitList[0].GetValue("VISIT_ID"));
                }
                else
                {
                    flag     = flag & true;
                    patVisit = new MED_PAT_VISIT();
                    _visitID = 1;
                    patVisit.SetValue("PATIENT_ID", patientID);
                }
                if (patMasterIndex == null)
                {
                    flag           = flag & true;
                    patMasterIndex = new MED_PAT_MASTER_INDEX();
                    patMasterIndex.SetValue("PATIENT_ID", patientID);
                    MessageBoxFormPC.Show("当前输入患者ID,需要手动输入患者信息进行急诊登记", "系统提示");
                    // return;
                }
                List <MED_OPERATION_MASTER> operMasterList = operationInfoRepository.GetOperMasterList(patientID, _visitID).Data;
                if (operMasterList != null && operMasterList.Count > 0)
                {
                    _operID = Convert.ToInt32(operMasterList[0].GetValue("OPER_ID")) + 1;
                }
                operationMaster                     = new MED_OPERATION_MASTER();
                operationMaster.PATIENT_ID          = patientID;
                operationMaster.VISIT_ID            = _visitID;
                operationMaster.OPER_ID             = _operID;
                operationMaster.OPER_ROOM           = ExtendApplicationContext.Current.OperRoom;
                operationMaster.OPER_ROOM_NO        = ExtendApplicationContext.Current.OperRoomNo;
                operationMaster.HOSP_BRANCH         = ExtendApplicationContext.Current.HospBranchCode;
                operationMaster.SCHEDULED_DATE_TIME = accountRepository.GetServerTime().Data;
                if (patsInHospital != null)
                {
                    patVisit.INP_NO           = patsInHospital.INP_NO;
                    operationMaster.WARD_CODE = patsInHospital.WARD_CODE;
                    operationMaster.DEPT_CODE = patsInHospital.WARD_CODE;
                    operationMaster.BED_NO    = patsInHospital.BED_NO;
                }
                else
                {
                    patsInHospital = operationInfoRepository.GetPatsInHospitalByID(patientID, _visitID).Data;

                    patVisit.INP_NO           = patsInHospital.INP_NO;
                    operationMaster.WARD_CODE = patsInHospital.WARD_CODE;
                    operationMaster.DEPT_CODE = patsInHospital.WARD_CODE;
                    operationMaster.BED_NO    = patsInHospital.BED_NO;
                }
                ExtendApplicationContext.Current.MED_PAT_MASTER_INDEX = patMasterIndex;
                ExtendApplicationContext.Current.MED_OPERATION_MASTER
                    = operationMaster;
                ExtendApplicationContext.Current.MED_PAT_VISIT
                         = patVisit;
                anesPlan = new DocDataRepository().GetAnesthesiaPlan(_patientID, _visitID, _operID);

                _patientCard = new MED_PATIENT_CARD();
                foreach (string column in _patientCard.GetPropsName())
                {
                    foreach (string col in patMasterIndex.GetPropsName())
                    {
                        if (column == col)
                        {
                            _patientCard.SetValue(column, patMasterIndex.GetValue(col));
                        }
                    }
                    foreach (string col in operationMaster.GetPropsName())
                    {
                        if (column == col)
                        {
                            _patientCard.SetValue(column, operationMaster.GetValue(col));
                        }
                    }
                    foreach (string col in patVisit.GetPropsName())
                    {
                        if (column == col)
                        {
                            _patientCard.SetValue(column, patVisit.GetValue(col));
                        }
                    }
                }
            }
        }
コード例 #14
0
        private List <KeyValue> GetFieldNames(string tableName)
        {
            List <KeyValue> list      = new List <KeyValue>();
            DataTable       dataTable = new DataTable();

            if (tableName.ToUpper().Trim().Equals("MED_OPERATION_MASTER"))
            {
                MED_OPERATION_MASTER master = new MED_OPERATION_MASTER();
                foreach (string column in master.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_OPERATION_MASTER_EXT"))
            {
                MED_OPERATION_MASTER_EXT ext = new MED_OPERATION_MASTER_EXT();
                foreach (string column in ext.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_PAT_MASTER_INDEX"))
            {
                MED_PAT_MASTER_INDEX tmp = new MED_PAT_MASTER_INDEX();
                foreach (string column in tmp.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_PATS_IN_HOSPITAL"))
            {
                MED_PATS_IN_HOSPITAL pats = new MED_PATS_IN_HOSPITAL();
                foreach (string column in pats.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_ANESTHESIA_RECOVER"))
            {
                MED_ANESTHESIA_RECOVER tmp = new MED_ANESTHESIA_RECOVER();
                foreach (string column in tmp.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_ANESTHESIA_INQUIRY"))
            {
                MED_ANESTHESIA_INQUIRY tmp = new MED_ANESTHESIA_INQUIRY();
                foreach (string column in tmp.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_SAFETY_CHECKS"))
            {
                MED_SAFETY_CHECKS safety = new MED_SAFETY_CHECKS();
                foreach (string column in safety.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_PAT_VISIT"))
            {
                MED_PAT_VISIT visit = new MED_PAT_VISIT();
                foreach (string column in visit.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_ANESTHESIA_PLAN"))
            {
                MED_ANESTHESIA_PLAN plan = new MED_ANESTHESIA_PLAN();
                foreach (string column in plan.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_ANESTHESIA_PLAN_EXAM"))
            {
                MED_ANESTHESIA_PLAN_EXAM plan = new MED_ANESTHESIA_PLAN_EXAM();
                foreach (string column in plan.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_ANESTHESIA_PLAN_PMH"))
            {
                MED_ANESTHESIA_PLAN_PMH plan = new MED_ANESTHESIA_PLAN_PMH();
                foreach (string column in plan.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_HIS_USERS"))
            {
                MED_HIS_USERS users = new MED_HIS_USERS();
                foreach (string column in users.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_DEPT_DICT"))
            {
                MED_DEPT_DICT dept = new MED_DEPT_DICT();
                foreach (string column in dept.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_DIAGNOSIS_DICT"))
            {
                MED_DIAGNOSIS_DICT dept = new MED_DIAGNOSIS_DICT();
                foreach (string column in dept.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_OPERATION_DICT"))
            {
                MED_OPERATION_DICT dept = new MED_OPERATION_DICT();
                foreach (string column in dept.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_ANESTHESIA_DICT"))
            {
                MED_ANESTHESIA_DICT dept = new MED_ANESTHESIA_DICT();
                foreach (string column in dept.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_OPERATING_ROOM"))
            {
                MED_OPERATING_ROOM dept = new MED_OPERATING_ROOM();
                foreach (string column in dept.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_PREOPERATIVE_EXPANSION"))
            {
                MED_PREOPERATIVE_EXPANSION row = new MED_PREOPERATIVE_EXPANSION();
                foreach (string column in row.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_OPERATION_EXTENDED"))
            {
                MED_OPERATION_EXTENDED row = new MED_OPERATION_EXTENDED();
                foreach (string column in row.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_POSTOPERATIVE_EXTENDED"))
            {
                MED_POSTOPERATIVE_EXTENDED row = new MED_POSTOPERATIVE_EXTENDED();
                foreach (string column in row.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_PACU_SORCE"))
            {
                MED_PACU_SORCE row = new MED_PACU_SORCE();
                foreach (string column in row.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_OPERATION_ANALGESIC_MASTER"))
            {
                MED_OPERATION_ANALGESIC_MASTER row = new MED_OPERATION_ANALGESIC_MASTER();
                foreach (string column in row.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_OPER_ANALGESIC_MEDICINE"))
            {
                MED_OPER_ANALGESIC_MEDICINE row = new MED_OPER_ANALGESIC_MEDICINE();
                foreach (string column in row.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_OPER_ANALGESIC_TOTAL"))
            {
                MED_OPER_ANALGESIC_TOTAL row = new MED_OPER_ANALGESIC_TOTAL();
                foreach (string column in row.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_OPER_RISK_ESTIMATE"))
            {
                MED_OPER_RISK_ESTIMATE row = new MED_OPER_RISK_ESTIMATE();
                foreach (string column in row.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_ANESTHESIA_INPUT_DICT"))
            {
                MED_ANESTHESIA_INPUT_DICT row = new MED_ANESTHESIA_INPUT_DICT();
                foreach (string column in row.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            else if (tableName.ToUpper().Trim().Equals("MED_ANESTHESIA_INPUT_DATA"))
            {
                MED_ANESTHESIA_INPUT_DATA row = new MED_ANESTHESIA_INPUT_DATA();
                foreach (string column in row.GetPropsName())
                {
                    list.Add(new KeyValue(GetFieldAlias(column), column));
                }
            }
            if (!string.IsNullOrEmpty(_tableName))
            {
                foreach (DataRow row in dataTable.Rows)
                {
                    list.Add(new KeyValue(row[_codeField].ToString(), row[_nameField].ToString()));
                }
            }
            else
            {
                foreach (DataColumn column in dataTable.Columns)
                {
                    list.Add(new KeyValue(GetFieldAlias(column.ColumnName), column.ColumnName));
                }
            }
            return(list);
        }
コード例 #15
0
        public bool SaveMedicalBasicDoc(MED_OPERATION_MASTER operMaster, MED_PAT_MASTER_INDEX patMasterIndex, MED_PAT_VISIT patVisit, MED_PATS_IN_HOSPITAL patsInHospital,
                                        MED_ANESTHESIA_PLAN anesPlan, MED_ANESTHESIA_PLAN_EXAM anesPlanExam, MED_ANESTHESIA_PLAN_PMH anesPlanPmh, List <MED_OPERATION_EXTENDED> operExtended,
                                        List <MED_POSTOPERATIVE_EXTENDED> postExtended, List <MED_PREOPERATIVE_EXPANSION> preExpansion)
        {
            bool flag = true;

            if (operMaster != null)
            {
                flag = flag & dapper.Set <MED_OPERATION_MASTER>().Save(operMaster);
            }
            if (patVisit != null)
            {
                flag = flag & dapper.Set <MED_PAT_VISIT>().Save(patVisit);
            }
            if (patMasterIndex != null)
            {
                flag = flag & dapper.Set <MED_PAT_MASTER_INDEX>().Save(patMasterIndex);
            }
            if (patsInHospital != null)
            {
                flag = flag & dapper.Set <MED_PATS_IN_HOSPITAL>().Save(patsInHospital);
            }
            if (anesPlan != null)
            {
                flag = flag & dapper.Set <MED_ANESTHESIA_PLAN>().Save(anesPlan);
            }
            if (anesPlanPmh != null)
            {
                flag = flag & dapper.Set <MED_ANESTHESIA_PLAN_PMH>().Save(anesPlanPmh);
            }
            if (anesPlanExam != null)
            {
                flag = flag & dapper.Set <MED_ANESTHESIA_PLAN_EXAM>().Save(anesPlanExam);
            }
            if (operExtended != null && operExtended.Count > 0)
            {
                flag = flag & dapper.Set <MED_OPERATION_EXTENDED>().Save(operExtended) > 0 ? true : false;

                //foreach (var item in operExtended)
                //{
                //    flag = flag & dapper.Set<MED_OPERATION_EXTENDED>().Save(item);
                //}
            }
            if (postExtended != null && postExtended.Count > 0)
            {
                flag = flag & dapper.Set <MED_POSTOPERATIVE_EXTENDED>().Save(postExtended) > 0 ? true : false;

                //foreach (var item in postExtended)
                //{
                //    flag = flag & dapper.Set<MED_POSTOPERATIVE_EXTENDED>().Save(item);
                //}
            }
            if (preExpansion != null && preExpansion.Count > 0)
            {
                flag = flag & dapper.Set <MED_PREOPERATIVE_EXPANSION>().Save(preExpansion) > 0 ? true : false;

                //foreach (var item in preExpansion)
                //{
                //    flag = flag & dapper.Set<MED_PREOPERATIVE_EXPANSION>().Save(item);
                //}
            }
            if (flag)
            {
                dapper.SaveChanges();
            }
            return(flag);
        }
コード例 #16
0
        /// <summary>
        /// 数据保存
        /// </summary>
        /// <param name="dataSource"></param>
        protected override void OnSaveData(Dictionary <string, DataTable> dataSource)
        {
            base.OnSaveData(dataSource);
            List <MED_OPERATION_MASTER> operMasterList = ModelHelper <MED_OPERATION_MASTER> .ConvertDataTableToList(dataSource["MED_OPERATION_MASTER"]);

            MED_OPERATION_MASTER operMaster = null;

            if (operMasterList != null && operMasterList.Count > 0)
            {
                operMaster = operMasterList[0];
                if (!operMaster.OUT_PACU_DATE_TIME.HasValue && operMaster.OPER_STATUS_CODE == (int)OperationStatus.InPACU)
                {
                    MED_OPERATION_MASTER master = operationInfoRepository.GetOperMaster(ExtendApplicationContext.Current.PatientContextExtend.PatientID, ExtendApplicationContext.Current.PatientContextExtend.VisitID, ExtendApplicationContext.Current.PatientContextExtend.OperID).Data;
                    if (master.OUT_PACU_DATE_TIME.HasValue)
                    {
                        operMaster.OUT_PACU_DATE_TIME = master.OUT_PACU_DATE_TIME;
                        operMaster.OPER_STATUS_CODE   = master.OPER_STATUS_CODE;
                    }
                }
                if (operMaster.IN_PACU_DATE_TIME.HasValue && !operMaster.OUT_PACU_DATE_TIME.HasValue)
                {
                    operMaster.OPER_STATUS_CODE = 45;
                }
            }

            List <MED_PAT_MASTER_INDEX> patIndexList = ModelHelper <MED_PAT_MASTER_INDEX> .ConvertDataTableToList(dataSource["MED_PAT_MASTER_INDEX"]);

            MED_PAT_MASTER_INDEX patMasterIndex = null;

            if (patIndexList != null && patIndexList.Count > 0)
            {
                patMasterIndex = patIndexList[0];
            }

            List <MED_PAT_VISIT> patVisitList = ModelHelper <MED_PAT_VISIT> .ConvertDataTableToList(dataSource["MED_PAT_VISIT"]);

            MED_PAT_VISIT patVisit = null;

            if (patVisitList != null && patVisitList.Count > 0)
            {
                patVisit = patVisitList[0];
            }

            List <MED_ANESTHESIA_PLAN> anesPlanList = ModelHelper <MED_ANESTHESIA_PLAN> .ConvertDataTableToList(dataSource["MED_ANESTHESIA_PLAN"]);

            MED_ANESTHESIA_PLAN anesPlan = null;

            if (anesPlanList != null && anesPlanList.Count > 0)
            {
                anesPlan = anesPlanList[0];
            }

            List <MED_ANESTHESIA_PLAN_PMH> anesPlanPMHList = ModelHelper <MED_ANESTHESIA_PLAN_PMH> .ConvertDataTableToList(dataSource["MED_ANESTHESIA_PLAN_PMH"]);

            MED_ANESTHESIA_PLAN_PMH anesPlanPmh = null;

            if (anesPlanPMHList != null && anesPlanPMHList.Count > 0)
            {
                anesPlanPmh = anesPlanPMHList[0];
            }

            List <MED_OPERATION_EXTENDED> operExtended = ModelHelper <MED_OPERATION_EXTENDED> .ConvertDataTableToList(dataSource["MED_OPERATION_EXTENDED"]);

            List <MED_POSTOPERATIVE_EXTENDED> postExtended = ModelHelper <MED_POSTOPERATIVE_EXTENDED> .ConvertDataTableToList(dataSource["MED_POSTOPERATIVE_EXTENDED"]);

            //OperationInfoService.SaveMedicalBasicDoc(operMaster, patIndex, patVisit, null, anesPlan, null, anesPlanPMH, operExtended, posExtended, null);

            MED_PATS_IN_HOSPITAL patsInHospital = null;


            MED_ANESTHESIA_PLAN_EXAM anesPlanExam = null;


            List <MED_PREOPERATIVE_EXPANSION> preExpansion = null;

            operationInfoRepository.SaveMedicalBasicDoc(new { operMaster, patMasterIndex, patVisit, patsInHospital, anesPlan, anesPlanExam, anesPlanPmh, operExtended, postExtended, preExpansion });


            foreach (IUIElementHandler handler in _UIElementHandlers)
            {
                if (handler.GetControlType == typeof(MedVitalSignGraph) && handler.GetCurrentControl != null)
                {
                    MedVitalSignGraph vitalSign = handler.GetCurrentControl as MedVitalSignGraph;
                    if (vitalSign.NewMonitorData != null)
                    {
                        vitalSign.NewMonitorData.Save();
                    }
                }
            }
        }
コード例 #17
0
        protected override void OnSaveData(Dictionary <string, DataTable> dataSource)
        {
            base.OnSaveData(dataSource);
            List <MED_OPERATION_MASTER> operationMasterDataTable = ModelHelper <MED_OPERATION_MASTER> .ConvertDataTableToList(dataSource["MED_OPERATION_MASTER"]);

            MED_OPERATION_MASTER masterRow = operationMasterDataTable.Count > 0 ? operationMasterDataTable[0] : null;

            if (txtOutRoomTime.Text != "" && masterRow != null)
            {
                if (!string.IsNullOrEmpty(masterRow.OPER_STATUS_CODE.ToString()) || masterRow.OPER_STATUS_CODE < (int)OperationStatus.OutOperationRoom)
                {
                    masterRow.ANES_START_TIME  = masterRow.START_DATE_TIME;
                    masterRow.ANES_END_TIME    = masterRow.END_DATE_TIME;
                    masterRow.OPER_STATUS_CODE = (int)OperationStatus.OutOperationRoom;
                    ExtendApplicationContext.Current.PatientInformationExtend.IN_DATE_TIME     = masterRow.IN_DATE_TIME;
                    ExtendApplicationContext.Current.PatientInformationExtend.OUT_DATE_TIME    = masterRow.OUT_DATE_TIME;
                    ExtendApplicationContext.Current.PatientInformationExtend.START_DATE_TIME  = masterRow.START_DATE_TIME;
                    ExtendApplicationContext.Current.PatientInformationExtend.END_DATE_TIME    = masterRow.END_DATE_TIME;
                    ExtendApplicationContext.Current.PatientInformationExtend.OPER_STATUS_CODE = masterRow.OPER_STATUS_CODE;
                    ExtendApplicationContext.Current.OperationStatus = OperationStatus.OutOperationRoom;
                }
            }
            ExtendApplicationContext.Current.PatientInformationExtend.OPER_ROOM_NO = masterRow.OPER_ROOM_NO;
            MED_OPERATION_MASTER operMaster = null;

            if (operationMasterDataTable != null && operationMasterDataTable.Count > 0)
            {
                operMaster = operationMasterDataTable[0];
            }

            List <MED_PAT_MASTER_INDEX> patIndexList = ModelHelper <MED_PAT_MASTER_INDEX> .ConvertDataTableToList(dataSource["MED_PAT_MASTER_INDEX"]);

            MED_PAT_MASTER_INDEX patMasterIndex = null;

            if (patIndexList != null && patIndexList.Count > 0)
            {
                patMasterIndex = patIndexList[0];
            }

            List <MED_PAT_VISIT> patVisitList = ModelHelper <MED_PAT_VISIT> .ConvertDataTableToList(dataSource["MED_PAT_VISIT"]);

            MED_PAT_VISIT patVisit = null;

            if (patVisitList != null && patVisitList.Count > 0)
            {
                patVisit = patVisitList[0];
            }

            List <MED_OPERATION_EXTENDED> operExtended = ModelHelper <MED_OPERATION_EXTENDED> .ConvertDataTableToList(dataSource["MED_OPERATION_EXTENDED"]);

            //OperationInfoService.SaveMedicalBasicDoc(operMaster, patIndex, patVisit, null, null, null, null, operExtended, null, null);

            MED_PATS_IN_HOSPITAL patsInHospital = null;

            MED_ANESTHESIA_PLAN anesPlan = null;

            MED_ANESTHESIA_PLAN_EXAM anesPlanExam = null;

            MED_ANESTHESIA_PLAN_PMH anesPlanPmh = null;

            List <MED_POSTOPERATIVE_EXTENDED> postExtended = null;

            List <MED_PREOPERATIVE_EXPANSION> preExpansion = null;


            operationInfoRepository.SaveMedicalBasicDoc(new { operMaster, patMasterIndex, patVisit, patsInHospital, anesPlan, anesPlanExam, anesPlanPmh, operExtended, postExtended, preExpansion });
        }
コード例 #18
0
        protected override void OnSaveData(Dictionary <string, DataTable> dataSource)
        {
            if (isRoomnoORSequenceChanged)
            {
                Dialog.MessageBox("温馨提示:修改手术间号和台次将会影响当前已安排手术,请结合实际情况修改。");
            }
            base.OnSaveData(dataSource);
            List <MED_OPERATION_MASTER> operMasterList = ModelHelper <MED_OPERATION_MASTER> .ConvertDataTableToList(dataSource["MED_OPERATION_MASTER"]);

            MED_OPERATION_MASTER operationMaster = null;

            if (operMasterList != null && operMasterList.Count > 0)
            {
                operationMaster = operMasterList[0];
            }

            List <MED_PAT_MASTER_INDEX> patIndexList = ModelHelper <MED_PAT_MASTER_INDEX> .ConvertDataTableToList(dataSource["MED_PAT_MASTER_INDEX"]);

            MED_PAT_MASTER_INDEX patMasterIndex = null;

            if (patIndexList != null && patIndexList.Count > 0)
            {
                patMasterIndex = patIndexList[0];
            }

            //OperationInfoService.SaveMedicalBasicDoc(operationMaster, patIndex, null, null, null, null, null, null, null, null);


            MED_PATS_IN_HOSPITAL patsInHospital = null;

            MED_ANESTHESIA_PLAN anesPlan = null;

            MED_ANESTHESIA_PLAN_EXAM anesPlanExam = null;

            MED_ANESTHESIA_PLAN_PMH anesPlanPmh = null;

            List <MED_OPERATION_EXTENDED> operExtended = null;

            List <MED_POSTOPERATIVE_EXTENDED> postExtended = null;

            List <MED_PREOPERATIVE_EXPANSION> preExpansion = null;

            MED_PAT_VISIT patVisit = null;

            operationInfoRepository.SaveMedicalBasicDoc(new { operationMaster, patMasterIndex, patVisit, patsInHospital, anesPlan, anesPlanExam, anesPlanPmh, operExtended, postExtended, preExpansion });



            if (ExtendApplicationContext.Current.PatientInformationExtend.OPER_ROOM_NO != operationMaster.OPER_ROOM_NO)
            {
                ExtendApplicationContext.Current.PatientInformationExtend.OPER_ROOM_NO = operationMaster.OPER_ROOM_NO;
            }
            if (operationMaster.SEQUENCE.HasValue && ExtendApplicationContext.Current.PatientInformationExtend.SEQUENCE != operationMaster.SEQUENCE)
            {
                ExtendApplicationContext.Current.PatientInformationExtend.SEQUENCE = operationMaster.SEQUENCE;
            }
            //台次
            if (operationMaster.EMERGENCY_IND.HasValue && ExtendApplicationContext.Current.PatientInformationExtend.EMERGENCY_IND != operationMaster.EMERGENCY_IND)
            {
                ExtendApplicationContext.Current.PatientInformationExtend.EMERGENCY_IND = operationMaster.EMERGENCY_IND;
            }
            if (operationMaster.ISOLATION_IND.HasValue && ExtendApplicationContext.Current.PatientInformationExtend.ISOLATION_IND != operationMaster.EMERGENCY_IND)
            {
                ExtendApplicationContext.Current.PatientInformationExtend.ISOLATION_IND = operationMaster.ISOLATION_IND;
            }
        }
コード例 #19
0
        private void SyncPatientByPatientId(string patientID)
        {
            if (!string.IsNullOrEmpty(patientID))
            {
                if (ExtendApplicationContext.Current.IsSync)
                {
                    string ret = "";

                    ret = syncInfoRepository.SyncPatientInfoAndInHospital(patientID).Data;

                    ret += syncInfoRepository.SyncScheduleInfo(patientID, serverTime).Data;

                    if (!string.IsNullOrEmpty(ret))
                    {
                        MessageBoxFormPC.Show(ret);
                    }
                }
            }
            emptyInpNoOrPatID = false;
            bool flag = true;

            if (patientID != "")
            {
                patMasterIndex = operationInfoRepository.GetPatMasterIndex(patientID).Data;
                List <MED_PAT_VISIT> patVisitList = operationInfoRepository.GetPatVisitList(patientID).Data;
                if (patVisitList != null && patVisitList.Count > 0)
                {
                    flag     = flag & false;
                    patVisit = patVisitList[0];
                    visitID  = Convert.ToInt32(patVisitList[0].GetValue("VISIT_ID"));
                }
                else
                {
                    flag     = flag & true;
                    patVisit = new MED_PAT_VISIT();
                    visitID  = 1;
                    patVisit.SetValue("PATIENT_ID", patientID);
                }
                if (patMasterIndex == null)
                {
                    flag           = flag & true;
                    patMasterIndex = new MED_PAT_MASTER_INDEX();
                    patMasterIndex.SetValue("PATIENT_ID", patientID);
                    emptyInpNoOrPatID = flag;
                    BindData();
                    MessageBoxFormPC.Show("当前输入患者ID,需要手动输入患者信息进行急诊登记", "系统提示");
                    // return;
                }
                operScheduleList = operationInfoRepository.GetOperScheduleList(patientID, visitID).Data.Where(x => x.SCHEDULED_DATE_TIME.Value >= serverTime & x.OPER_STATUS_CODE == 0).ToList();
                patInHospital    = operationInfoRepository.GetPatsInHospitalByID(patientID, visitID).Data;
                GetScheduleOperInfo();
                if (scheduleOperInfoDT != null && scheduleOperInfoDT.Rows.Count > 0)
                {
                    BindGridViewData(dgvScheduleOperInfo, scheduleOperInfoDT);
                }
                List <MED_OPERATION_MASTER> operMasterList = operationInfoRepository.GetOperMasterList(patientID, visitID).Data;
                if (operMasterList != null && operMasterList.Count > 0)
                {
                    operID = Convert.ToInt32(operMasterList[0].GetValue("OPER_ID")) + 1;
                }
                operationMaster            = new MED_OPERATION_MASTER();
                operationMaster.PATIENT_ID = patientID;
                operationMaster.VISIT_ID   = visitID;
                operationMaster.OPER_ID    = operID;
                BindData();
            }
        }
コード例 #20
0
        protected override void OnSaveData(Dictionary <string, DataTable> dataSource)//, ref bool bNeedMsg
        {
            foreach (MTextBox mtb in textBoxs)
            {
                if (string.IsNullOrEmpty(mtb.Text) && !string.IsNullOrEmpty(mtb.InputNeededMessage))
                {
                    MessageBoxFormPC.Show("*号为必填项目,请重新填写");
                    // bNeedMsg = false;
                    return;
                }
            }
            string patientID = BindControls("MED_PAT_MASTER_INDEX", "PATIENT_ID");

            if (operationMaster == null)
            {
                operationMaster = new MED_OPERATION_MASTER();
            }
            operationMaster.SetValue("PATIENT_ID", patientID);
            operationMaster.SetValue("VISIT_ID", visitID);
            operationMaster.SetValue("OPER_ID", operID);
            operationMaster.SetValue("OPER_ROOM", ExtendAppContext.CurntSelect.OperRoom);
            operationMaster.SetValue("HOSP_BRANCH", ExtendAppContext.CurntSelect.HospBranchCode);
            operationMaster.SetValue("EMERGENCY_IND", BindControls("MED_OPERATION_MASTER", "EMERGENCY_IND"));
            operationMaster.SetValue("DEPT_CODE", BindControls("MED_OPERATION_MASTER", "DEPT_CODE"));
            operationMaster.SetValue("BED_NO", BindControls("MED_OPERATION_MASTER", "BED_NO"));
            operationMaster.SetValue("SCHEDULED_DATE_TIME", BindControls("MED_OPERATION_MASTER", "SCHEDULED_DATE_TIME"));
            operationMaster.SetValue("OPER_ROOM_NO", BindControls("MED_OPERATION_MASTER", "OPER_ROOM_NO"));
            operationMaster.SetValue("SEQUENCE", BindControls("MED_OPERATION_MASTER", "SEQUENCE"));
            operationMaster.SetValue("ANES_DOCTOR", BindControls("MED_OPERATION_MASTER", "ANES_DOCTOR"));
            operationMaster.SetValue("DIAG_BEFORE_OPERATION", BindControls("MED_OPERATION_MASTER", "DIAG_BEFORE_OPERATION"));
            operationMaster.SetValue("OPERATION_NAME", BindControls("MED_OPERATION_MASTER", "OPERATION_NAME"));
            operationMaster.SetValue("OPER_STATUS_CODE", 2);

            if (currentOperSchedule != null)
            {
                currentOperSchedule.SetValue("OPER_STATUS_CODE", 2);
            }

            if (patVisit == null)
            {
                patVisit = new MED_PAT_VISIT();
            }
            patVisit.SetValue("PATIENT_ID", patientID);
            patVisit.SetValue("VISIT_ID", visitID);
            patVisit.SetValue("INP_NO", BindControls("MED_PATS_IN_HOSPITAL", "INP_NO"));

            if (patMasterIndex == null)
            {
                patMasterIndex = new MED_PAT_MASTER_INDEX();
            }
            patMasterIndex.SetValue("PATIENT_ID", patientID);
            patMasterIndex.SetValue("NAME", BindControls("MED_PAT_MASTER_INDEX", "NAME"));
            patMasterIndex.SetValue("SEX", BindControls("MED_PAT_MASTER_INDEX", "SEX"));
            patMasterIndex.SetValue("DATE_OF_BIRTH", BindControls("MED_PAT_MASTER_INDEX", "DATE_OF_BIRTH"));

            string strOperName = BindControls("MED_OPERATION_MASTER", "OPER_NAME");

            if (!string.IsNullOrEmpty(strOperName))
            {
                string[] operNameArr = strOperName.Split('+');
                for (int i = 0; i < operNameArr.Length; i++)
                {
                    MED_OPERATION_NAME operName = new MED_OPERATION_NAME();
                    operName.SetValue("PATIENT_ID", operationMaster.PATIENT_ID);
                    operName.SetValue("VISIT_ID", operationMaster.VISIT_ID);
                    operName.SetValue("OPER_ID", operationMaster.OPER_ID);
                    operName.SetValue("OPER_NO", i + 1);
                    operName.SetValue("OPER_NAME", operNameArr[i].ToString());
                    operNameNewList.Add(operName);
                }
            }

            MED_ANESTHESIA_PLAN      anesPlan     = OperationInfoService.GetAnesPlan(patientID, visitID, operID);
            MED_ANESTHESIA_PLAN_PMH  anesPlanPmh  = OperationInfoService.GetAnesPlanPmh(patientID, visitID, operID);
            MED_ANESTHESIA_PLAN_EXAM anesPlanExam = OperationInfoService.GetAnesPlanExam(patientID, visitID, operID);

            if (anesPlan == null)
            {
                anesPlan = new MED_ANESTHESIA_PLAN();
                anesPlan.SetValue("PATIENT_ID", patientID);
                anesPlan.SetValue("VISIT_ID", visitID);
                anesPlan.SetValue("OPER_ID", operID);
            }
            if (anesPlanPmh == null)
            {
                anesPlanPmh = new MED_ANESTHESIA_PLAN_PMH();
                anesPlanPmh.SetValue("PATIENT_ID", patientID);
                anesPlanPmh.SetValue("VISIT_ID", visitID);
                anesPlanPmh.SetValue("OPER_ID", operID);
            }
            if (anesPlanExam == null)
            {
                anesPlanExam = new MED_ANESTHESIA_PLAN_EXAM();
                anesPlanExam.SetValue("PATIENT_ID", patientID);
                anesPlanExam.SetValue("VISIT_ID", visitID);
                anesPlanExam.SetValue("OPER_ID", operID);
            }
            OperationInfoService.SavePatientOperation(currentOperSchedule, patVisit, patMasterIndex, null, operNameNewList, operationMaster, anesPlan, anesPlanPmh, anesPlanExam, null);
        }
コード例 #21
0
        private void SyncPatientByInpNo(string inpNo)
        {
            //调用接口
            if (!string.IsNullOrEmpty(inpNo))
            {
                if (ExtendAppContext.CurntSelect.IsSync)
                {
                    string ret = "";
                    ret = new SyncInfoService().SyncPatientInfoAndInHospitalByInpNo(inpNo);
                    if (!string.IsNullOrEmpty(ret))
                    {
                        MessageBoxFormPC.Show(ret);
                    }
                }
                emptyInpNoOrPatID = false;
                bool   flag      = true;
                string patientID = string.Empty;
                List <MED_PAT_VISIT> patVisitList = OperationInfoService.GetPatVisitListByInpNo(inpNo);

                if (patVisitList != null && patVisitList.Count > 0)
                {
                    flag      = flag & false;
                    patVisit  = patVisitList[0];
                    visitID   = Convert.ToInt32(patVisitList[0].GetValue("VISIT_ID"));
                    patientID = patVisitList[0].PATIENT_ID;
                    BindControls("MED_PAT_MASTER_INDEX", "PATIENT_ID", patientID);
                }
                else
                {
                    flag     = flag & true;
                    patVisit = new MED_PAT_VISIT();
                    visitID  = 1;
                    patVisit.SetValue("INP_NO", inpNo);
                }

                if (ExtendAppContext.CurntSelect.IsSync)
                {
                    string ret = new SyncInfoService().SyncPatientInfoAndInHospitalByInpNo(inpNo);
                    if (!string.IsNullOrEmpty(ret))
                    {
                        MessageBoxFormPC.Show(ret);
                    }
                }
                patMasterIndex = OperationInfoService.GetPatMasterIndex(patientID);
                if (patMasterIndex == null)
                {
                    flag           = flag & true;
                    patMasterIndex = new MED_PAT_MASTER_INDEX();
                    BindData();
                    emptyInpNoOrPatID = flag;
                    MessageBoxFormPC.Show("当前输入患者ID,需要手动输入患者信息进行急诊登记", "系统提示");
                    // return;
                }
                operScheduleList = OperationInfoService.GetOperScheduleList(patientID, visitID).Where(x => x.SCHEDULED_DATE_TIME.Value >= serverTime & x.OPER_STATUS_CODE == 0).ToList();
                patInHospital    = OperationInfoService.GetPatsInHospitalByID(patientID, visitID);
                GetScheduleOperInfo();
                if (scheduleOperInfoDT != null && scheduleOperInfoDT.Rows.Count > 0)
                {
                    BindGridViewData(dgvScheduleOperInfo, scheduleOperInfoDT);
                }
                List <MED_OPERATION_MASTER> operMasterList = OperationInfoService.GetOperMasterList(patientID, visitID);
                if (operMasterList != null && operMasterList.Count > 0)
                {
                    operID = Convert.ToInt32(operMasterList[0].GetValue("OPER_ID")) + 1;
                }
                operationMaster            = new MED_OPERATION_MASTER();
                operationMaster.PATIENT_ID = patientID;
                operationMaster.VISIT_ID   = visitID;
                operationMaster.OPER_ID    = operID;
                BindData();
            }
        }
コード例 #22
0
        public RequestResult <bool> SavePatientOperation(dynamic dyParams)
        {
            RequestResult <bool> Result = new RequestResult <bool>();

            try
            {
                List <MED_OPERATION_NAME> operNameOldList = null;
                List <MED_OPERATION_NAME> operNameNewList = null;
                MED_OPERATION_MASTER      operMaster      = null;
                MED_ANESTHESIA_PLAN       anesPlan        = null;
                MED_ANESTHESIA_PLAN_PMH   anesPlanPmh     = null;
                MED_ANESTHESIA_PLAN_EXAM  anesPlanExam    = null;
                MED_PAT_MASTER_INDEX      patMasterIndex  = null;
                MED_PAT_VISIT             patVisit        = null;
                MED_OPERATION_SCHEDULE    operSchedlue    = null;
                MED_OPERATION_MASTER_EXT  operMasterExt   = null;

                if (dyParams.operSchedlue != null)
                {
                    string value = dyParams.operSchedlue.ToString();
                    operSchedlue = JsonConvert.DeserializeObject <MED_OPERATION_SCHEDULE>(value);
                }
                if (dyParams.patVisit != null)
                {
                    string value = dyParams.patVisit.ToString();
                    patVisit = JsonConvert.DeserializeObject <MED_PAT_VISIT>(value);
                }
                if (dyParams.patMasterIndex != null)
                {
                    string value = dyParams.patMasterIndex.ToString();
                    patMasterIndex = JsonConvert.DeserializeObject <MED_PAT_MASTER_INDEX>(value);
                }
                if (dyParams.operNameOldList != null)
                {
                    string value = dyParams.operNameOldList.ToString();
                    operNameOldList = JsonConvert.DeserializeObject <List <MED_OPERATION_NAME> >(value);
                }
                if (dyParams.operNameNewList != null)
                {
                    string value = dyParams.operNameNewList.ToString();
                    operNameNewList = JsonConvert.DeserializeObject <List <MED_OPERATION_NAME> >(value);
                }
                if (dyParams.operMaster != null)
                {
                    string value = dyParams.operMaster.ToString();
                    operMaster = JsonConvert.DeserializeObject <MED_OPERATION_MASTER>(value);
                }
                if (dyParams.anesPlan != null)
                {
                    string value = dyParams.anesPlan.ToString();
                    anesPlan = JsonConvert.DeserializeObject <MED_ANESTHESIA_PLAN>(value);
                }
                if (dyParams.anesPlanPmh != null)
                {
                    string value = dyParams.anesPlanPmh.ToString();
                    anesPlanPmh = JsonConvert.DeserializeObject <MED_ANESTHESIA_PLAN_PMH>(value);
                }
                if (dyParams.anesPlanExam != null)
                {
                    string value = dyParams.anesPlanExam.ToString();
                    anesPlanExam = JsonConvert.DeserializeObject <MED_ANESTHESIA_PLAN_EXAM>(value);
                }
                if (dyParams.operMasterExt != null)
                {
                    string value = dyParams.operMasterExt.ToString();
                    operMasterExt = JsonConvert.DeserializeObject <MED_OPERATION_MASTER_EXT>(value);
                }

                Result = Success(_pacuOperationInfoService.SavePatientOperation(operSchedlue, patVisit, patMasterIndex, operNameOldList, operNameNewList, operMaster, anesPlan, anesPlanPmh, anesPlanExam, operMasterExt));
            }
            catch (Exception ex)
            {
                Logger.Error("SavePatientOperation:" + ex.Message);
            }
            return(Result);
        }
コード例 #23
0
        /// <summary>
        /// 根据表名从数据库中获取数据
        /// </summary>
        /// <param name="tableName"></param>
        /// <returns></returns>
        private DataTable BuildData(string tableName)
        {
            string    patientId = ExtendApplicationContext.Current.PatientContextExtend.PatientID;
            int       visitId   = ExtendApplicationContext.Current.PatientContextExtend.VisitID;
            int       operId    = ExtendApplicationContext.Current.PatientContextExtend.OperID;
            DataTable data      = null;

            switch (tableName)
            {
            case "MED_PAT_MONITOR_DATA_EXT":

                data = ModelHelper <MED_PAT_MONITOR_DATA_EXT> .ConvertListToDataTable(operationInfoRepository.GetPatMonitorExtList(patientId, visitId, operId).Data);

                break;

            case "MED_OPERATION_MASTER":

                data = ModelHelper <MED_OPERATION_MASTER> .ConvertSingleToDataTable(ExtendApplicationContext.Current.MED_OPERATION_MASTER == null
                                                                                    ?new MED_OPERATION_MASTER()
                {
                    PATIENT_ID = patientId, VISIT_ID = visitId, OPER_ID = operId
                } : operationInfoRepository.GetOperMaster(patientId, visitId, operId).Data);

                break;

            case "MED_PAT_MASTER_INDEX":

                data = ModelHelper <MED_PAT_MASTER_INDEX> .ConvertSingleToDataTable(ExtendApplicationContext.Current.MED_PAT_MASTER_INDEX == null
                                                                                    ?new MED_PAT_MASTER_INDEX()
                {
                    PATIENT_ID = patientId
                } : operationInfoRepository.GetPatMasterIndex(patientId).Data);

                break;

            case "MED_OPERATION_MASTER_EXT":

                data = ModelHelper <MED_OPERATION_MASTER_EXT> .ConvertSingleToDataTable(operationInfoRepository.GetOperMasterExt(patientId, visitId, operId).Data);

                if (data.Rows.Count == 0)
                {
                    MED_OPERATION_MASTER_EXT model = new MED_OPERATION_MASTER_EXT()
                    {
                        PATIENT_ID = patientId, VISIT_ID = visitId, OPER_ID = operId
                    };

                    data = ModelHelper <MED_OPERATION_MASTER_EXT> .ConvertSingleToDataTable(model);
                }
                break;

            case "MED_PAT_VISIT":

                data = ModelHelper <MED_PAT_VISIT> .ConvertSingleToDataTable(operationInfoRepository.GetPatVisit(patientId, visitId).Data);

                if (data.Rows.Count == 0)
                {
                    MED_PAT_VISIT model = new MED_PAT_VISIT()
                    {
                        PATIENT_ID = patientId, VISIT_ID = visitId
                    };

                    data = ModelHelper <MED_PAT_VISIT> .ConvertSingleToDataTable(model);
                }

                break;

            case "MED_PATS_IN_HOSPITAL":

                data = ModelHelper <MED_PATS_IN_HOSPITAL> .ConvertSingleToDataTable(docDataRepository.GetPatsInHospital(patientId, visitId));

                if (data.Rows.Count == 0)
                {
                    MED_PATS_IN_HOSPITAL model = new MED_PATS_IN_HOSPITAL()
                    {
                        PATIENT_ID = patientId, VISIT_ID = visitId
                    };

                    data = ModelHelper <MED_PATS_IN_HOSPITAL> .ConvertSingleToDataTable(model);
                }

                break;

            case "MED_SAFETY_CHECKS":
                data = ModelHelper <MED_SAFETY_CHECKS> .ConvertSingleToDataTable(docDataRepository.GetSafetyCheckData(patientId, visitId, operId));

                if (data.Rows.Count == 0)
                {
                    MED_SAFETY_CHECKS model = new MED_SAFETY_CHECKS()
                    {
                        PATIENT_ID = patientId, VISIT_ID = visitId, OPER_ID = operId
                    };

                    data = ModelHelper <MED_SAFETY_CHECKS> .ConvertSingleToDataTable(model);
                }

                break;

            case "MED_ANESTHESIA_PLAN":
                data = ModelHelper <MED_ANESTHESIA_PLAN> .ConvertSingleToDataTable(docDataRepository.GetAnesthesiaPlan(patientId, visitId, operId));

                if (data.Rows.Count == 0)
                {
                    MED_ANESTHESIA_PLAN model = new MED_ANESTHESIA_PLAN()
                    {
                        PATIENT_ID = patientId, VISIT_ID = visitId, OPER_ID = operId
                    };

                    data = ModelHelper <MED_ANESTHESIA_PLAN> .ConvertSingleToDataTable(model);
                }

                break;

            case "MED_ANESTHESIA_PLAN_PMH":

                data = ModelHelper <MED_ANESTHESIA_PLAN_PMH> .ConvertSingleToDataTable(docDataRepository.GetAnesthesiaPlanPMH(patientId, visitId, operId));

                if (data.Rows.Count == 0)
                {
                    MED_ANESTHESIA_PLAN_PMH model = new MED_ANESTHESIA_PLAN_PMH()
                    {
                        PATIENT_ID = patientId, VISIT_ID = visitId, OPER_ID = operId
                    };

                    data = ModelHelper <MED_ANESTHESIA_PLAN_PMH> .ConvertSingleToDataTable(model);
                }
                break;

            case "MED_ANESTHESIA_PLAN_EXAM":
                data = ModelHelper <MED_ANESTHESIA_PLAN_EXAM> .ConvertSingleToDataTable(docDataRepository.GetAnesthesiaPlanEXAM(patientId, visitId, operId));

                if (data.Rows.Count == 0)
                {
                    MED_ANESTHESIA_PLAN_EXAM model = new MED_ANESTHESIA_PLAN_EXAM()
                    {
                        PATIENT_ID = patientId, VISIT_ID = visitId, OPER_ID = operId
                    };

                    data = ModelHelper <MED_ANESTHESIA_PLAN_EXAM> .ConvertSingleToDataTable(model);
                }

                break;

            case "MED_ANESTHESIA_RECOVER":
                data = ModelHelper <MED_ANESTHESIA_RECOVER> .ConvertSingleToDataTable(docDataRepository.GetAnesRecoverData(patientId, visitId, operId));

                if (data.Rows.Count == 0)
                {
                    MED_ANESTHESIA_RECOVER model = new MED_ANESTHESIA_RECOVER()
                    {
                        PATIENT_ID = patientId, VISIT_ID = visitId, OPER_ID = operId
                    };

                    data = ModelHelper <MED_ANESTHESIA_RECOVER> .ConvertSingleToDataTable(model);
                }

                break;

            case "MED_ANESTHESIA_INQUIRY":
                data = ModelHelper <MED_ANESTHESIA_INQUIRY> .ConvertSingleToDataTable(docDataRepository.GetAnesInquiry(patientId, visitId, operId, false));

                if (data.Rows.Count == 0)
                {
                    MED_ANESTHESIA_INQUIRY model = new MED_ANESTHESIA_INQUIRY()
                    {
                        PATIENT_ID = patientId, VISIT_ID = visitId, OPER_ID = operId
                    };

                    data = ModelHelper <MED_ANESTHESIA_INQUIRY> .ConvertSingleToDataTable(model);
                }

                break;

            case "MED_OPERATION_EXTENDED":
                data = ModelHelper <MED_OPERATION_EXTENDED> .ConvertListToDataTable(commonRepository.GetOperExtended(patientId, visitId, operId).Data);

                if (data.Rows.Count == 0)
                {
                    data.Columns.Add(new DataColumn("PATIENT_ID", typeof(string)));
                    data.Columns.Add(new DataColumn("VISIT_ID", typeof(int)));
                    data.Columns.Add(new DataColumn("OPER_ID", typeof(int)));
                    data.Columns.Add(new DataColumn("ITEM_NAME", typeof(string)));
                    data.Columns.Add(new DataColumn("ITEM_VALUE", typeof(string)));
                }

                break;

            case "MED_POSTOPERATIVE_EXTENDED":

                data = ModelHelper <MED_POSTOPERATIVE_EXTENDED> .ConvertListToDataTable(commonRepository.GetPostoperativeExtended(patientId, visitId, operId).Data);

                if (data.Rows.Count == 0)
                {
                    data.Columns.Add(new DataColumn("PATIENT_ID", typeof(string)));
                    data.Columns.Add(new DataColumn("VISIT_ID", typeof(int)));
                    data.Columns.Add(new DataColumn("OPER_ID", typeof(int)));
                    data.Columns.Add(new DataColumn("ITEM_NAME", typeof(string)));
                    data.Columns.Add(new DataColumn("ITEM_VALUE", typeof(string)));
                }

                break;

            case "MED_PREOPERATIVE_EXPANSION":

                data = ModelHelper <MED_PREOPERATIVE_EXPANSION> .ConvertListToDataTable(commonRepository.GetPreoperativeExpansion(patientId, visitId, operId).Data);

                if (data.Rows.Count == 0)
                {
                    data.Columns.Add(new DataColumn("PATIENT_ID", typeof(string)));
                    data.Columns.Add(new DataColumn("VISIT_ID", typeof(int)));
                    data.Columns.Add(new DataColumn("OPER_ID", typeof(int)));
                    data.Columns.Add(new DataColumn("ITEM_NAME", typeof(string)));
                    data.Columns.Add(new DataColumn("ITEM_VALUE", typeof(string)));
                }

                break;

            case "MED_OPERATION_ANALGESIC_MASTER":
                data = ModelHelper <MED_OPERATION_ANALGESIC_MASTER> .ConvertSingleToDataTable(docDataRepository.GetAnalgesicMaster(patientId, visitId, operId));

                if (data.Rows.Count == 0)
                {
                    MED_OPERATION_ANALGESIC_MASTER model = new MED_OPERATION_ANALGESIC_MASTER()
                    {
                        PATIENT_ID = patientId, VISIT_ID = visitId, OPER_ID = operId
                    };

                    data = ModelHelper <MED_OPERATION_ANALGESIC_MASTER> .ConvertSingleToDataTable(model);
                }

                break;

            case "MED_OPER_RISK_ESTIMATE":

                data = ModelHelper <MED_OPER_RISK_ESTIMATE> .ConvertSingleToDataTable(docDataRepository.GetRickEstimate(patientId, visitId, operId));

                if (data.Rows.Count == 0)
                {
                    MED_OPER_RISK_ESTIMATE model = new MED_OPER_RISK_ESTIMATE()
                    {
                        PATIENT_ID = patientId, VISIT_ID = visitId, OPER_ID = operId
                    };

                    data = ModelHelper <MED_OPER_RISK_ESTIMATE> .ConvertSingleToDataTable(model);
                }

                break;

            case "MED_OPER_ANALGESIC_MEDICINE":

                data = ModelHelper <MED_OPER_ANALGESIC_MEDICINE> .ConvertListToDataTable(operationInfoRepository.GetAnalgesicMedicineList(patientId, visitId, operId).Data);

                break;

            case "MED_OPER_ANALGESIC_TOTAL":
                data = ModelHelper <MED_OPER_ANALGESIC_TOTAL> .ConvertListToDataTable(operationInfoRepository.GetAnalgesicTotalList(patientId, visitId, operId).Data);

                break;

            case "MED_QIXIE_QINGDIAN":
                data = ModelHelper <MED_QIXIE_QINGDIAN> .ConvertListToDataTable(operationInfoRepository.GetOperCheckList(patientId, visitId, operId).Data);

                break;

            case "MED_ANESTHESIA_INPUT_DATA":
                data = ModelHelper <MED_ANESTHESIA_INPUT_DATA> .ConvertSingleToDataTable(docDataRepository.GetAnesthestaInputData(patientId, visitId, operId));

                if (data.Rows.Count == 0)
                {
                    MED_ANESTHESIA_INPUT_DATA model = new MED_ANESTHESIA_INPUT_DATA()
                    {
                        PATIENT_ID = patientId, VISIT_ID = visitId, OPER_ID = operId
                    };

                    data = ModelHelper <MED_ANESTHESIA_INPUT_DATA> .ConvertSingleToDataTable(model);
                }

                break;

            case "MED_BJCA_SIGN":

                data = ModelHelper <MED_BJCA_SIGN> .ConvertListToDataTable(commonRepository.GetBjcaSignList(patientId, visitId, operId).Data);

                break;

            default:
                throw new NotImplementedException(string.Format("当前未定义从表{0}中获取数据的方法!", tableName));
            }
            return(data);
        }
コード例 #24
0
        private void PatientTree_Load(object sender, EventArgs e)
        {
            MED_PATIENT_CARD cardRow = patientInfoRepository.GetPatCard(patientID, (int)visitID, (int)operID).Data;

            labelName.Text     = GetValue(cardRow.NAME);
            labelBaseInfo.Text = string.Format("{0}    {1}    {2}", GetValue(cardRow.SEX), DateDiff.CalAge(cardRow.DATE_OF_BIRTH.Value, cardRow.SCHEDULED_DATE_TIME.Value), GetValue(cardRow.INP_NO));

            MED_PAT_VISIT patVisit = operationInfoRepository.GetPatVisit(patientID, (int)visitID).Data;

            if (patVisit == null)
            {
                patVisit = new MED_PAT_VISIT();
            }

            string admission_date_time = string.Empty;

            if (patVisit.ADMISSION_DATE_TIME != null)
            {
                admission_date_time = patVisit.ADMISSION_DATE_TIME.Value.ToString("yyyy-MM-dd");
            }

            labelZD.Text = string.Format("{0}{1}{2}", admission_date_time, GetValue(patVisit.PAT_ADM_CONDITION), GetValue(patVisit.INSURANCE_TYPE));

            #region 术后随访
            List <MED_ANESTHESIA_INQUIRY> anesthesia_inquiry = operationInfoRepository.GetAnesInquiryList(patientID, (int)visitID, (int)operID).Data;
            if (anesthesia_inquiry != null && anesthesia_inquiry.Count > 0)
            {
                labelINQUIRY_DATE.Text = anesthesia_inquiry[0].INQUIRY_DATE.ToString("yyyy-MM-dd");
                labelDocName.Text      = RefUsersDT(anesthesia_inquiry[0].INQUIRY_DOCTOR);
            }
            else
            {
                labelINQUIRY_DATE.Text = string.Empty;
                labelDocName.Text      = string.Empty;
            }
            #endregion

            #region 患者复苏

            string[] tempArr = new string[10] {
                "", "", "", "", "", "", "", "", "", ""
            };
            StringBuilder sb = new StringBuilder();
            sb.Append("入室:{0}     出室:{1}\r\n");
            sb.Append("复苏市时长:{2}分钟\r\n");
            sb.Append("入室情况:体温{3}℃ 意识:{4} 呼吸:{5}次/分\r\n");
            sb.Append("苏醒评分:{6}分\r\n");
            sb.Append("出室情况:体温{7}℃ 意识:{8} 呼吸:{9}次/分\r\n");

            if (cardRow.IN_PACU_DATE_TIME != null)
            {
                labelFuSuDate.Text = cardRow.IN_PACU_DATE_TIME.Value.ToString("yyyy-MM-dd");
                tempArr[0]         = cardRow.IN_PACU_DATE_TIME.Value.ToString("HH:mm");
            }
            else
            {
                labelFuSuDate.Text = string.Empty;
            }

            if (cardRow.OUT_PACU_DATE_TIME != null)
            {
                tempArr[1] = cardRow.OUT_PACU_DATE_TIME.Value.ToString("HH:mm");
            }

            if (cardRow.IN_PACU_DATE_TIME != null && cardRow.OUT_PACU_DATE_TIME != null)
            {
                tempArr[2] = (cardRow.OUT_PACU_DATE_TIME.Value - cardRow.IN_PACU_DATE_TIME.Value).Minutes.ToString();
            }
            //入室
            MED_CONFIRMATION_PACU in_confirmation_pacu = operationInfoRepository.GetConfirmationPACU(patientID, (int)visitID, (int)operID, 45).Data;
            if (in_confirmation_pacu != null)
            {
                tempArr[3] = in_confirmation_pacu.BODY_TEMP.Value.ToString();
                tempArr[4] = in_confirmation_pacu.CONSCIOUSNESS;
                tempArr[5] = in_confirmation_pacu.RESP.Value.ToString();
            }
            List <MED_STEWARD_MARK> steward_mark = operationInfoRepository.GetStewardMarkList(patientID, (int)visitID, (int)operID).Data;
            if (steward_mark != null && steward_mark.Count > 0)
            {
                tempArr[6] = steward_mark[steward_mark.Count - 1].TOTAL_MATK.ToString();
            }
            //出室
            MED_CONFIRMATION_PACU out_confirmation_pacu = operationInfoRepository.GetConfirmationPACU(patientID, (int)visitID, (int)operID, 55).Data;
            if (out_confirmation_pacu != null)
            {
                tempArr[7] = out_confirmation_pacu.BODY_TEMP.Value.ToString();
                tempArr[8] = out_confirmation_pacu.CONSCIOUSNESS;
                tempArr[9] = out_confirmation_pacu.RESP.Value.ToString();
            }

            labelPACU.Text = string.Format(sb.ToString(), tempArr);



            #endregion


            #region  术中麻醉
            MED_ANESTHESIA_INPUT_DATA input_data = operationInfoRepository.GetAnesInputData(patientID, (int)visitID, (int)operID).Data;
            if (cardRow.START_DATE_TIME != null)
            {
                labelShouShuZhongDate.Text = cardRow.START_DATE_TIME.Value.ToString("yyyy-MM-dd");
            }
            else
            {
                labelShouShuZhongDate.Text = string.Empty;
            }

            string ANALGESIA_EFFECT = string.Empty;
            if (input_data != null)
            {
                ANALGESIA_EFFECT = input_data.ANALGESIA_EFFECT;
            }

            if (cardRow.OUT_DATE_TIME != null && cardRow.IN_DATE_TIME != null)
            {
                TimeSpan span = (TimeSpan)(cardRow.OUT_DATE_TIME - cardRow.IN_DATE_TIME);
                int      hour = span.Days * 24;
                lbloperTime.Text     = string.Format("手术时长:{0}小时 {1}分钟   麻醉效果:{2}", hour + span.Hours, span.Minutes, ANALGESIA_EFFECT);
                lbInRoomTime.Text    = cardRow.IN_DATE_TIME.Value.ToString("HH:mm");
                lbAnesStartTime.Text = cardRow.ANES_START_TIME.Value.ToString("HH:mm");
                lbOperStartTime.Text = cardRow.START_DATE_TIME.Value.ToString("HH:mm");
                lbOperEndTime.Text   = cardRow.END_DATE_TIME.Value.ToString("HH:mm");
                lbAnesEndTime.Text   = cardRow.ANES_END_TIME.Value.ToString("HH:mm");
                lbOutRomTime.Text    = cardRow.OUT_DATE_TIME.Value.ToString("HH:mm");
            }
            else
            {
                lbloperTime.Text     = string.Format("手术时长:            麻醉效果:");
                lbInRoomTime.Text    = "--:--";
                lbAnesStartTime.Text = "--:--";
                lbAnesStartTime.Text = "--:--";
                lbOperStartTime.Text = "--:--";
                lbOperEndTime.Text   = "--:--";
                lbAnesEndTime.Text   = "--:--";
                lbOutRomTime.Text    = "--:--";
            }

            MED_OPERATION_MASTER_EXT master_ext = operationInfoRepository.GetOperMasterExt(patientID, (int)visitID, (int)operID).Data;

            string[] arrayInOrOut = new string[8] {
                "", "", "", "", "", "", "", ""
            };
            if (master_ext == null)
            {
                master_ext = new MED_OPERATION_MASTER_EXT();
            }
            if (master_ext.INFUSION_TRAN_VOL != null)
            {
                arrayInOrOut[0] = GetValue(master_ext.INFUSION_TRAN_VOL.ToString());
            }

            if (master_ext.OUT_FLUIDS_AMOUNT != null)
            {
                arrayInOrOut[1] = GetValue(master_ext.OUT_FLUIDS_AMOUNT.ToString());
            }

            if (master_ext.BLOOD_TRANSFUSED != null)
            {
                arrayInOrOut[2] = GetValue(master_ext.BLOOD_TRANSFUSED.ToString());
            }

            if (master_ext.CRY_WATHER != null)
            {
                arrayInOrOut[3] = GetValue(master_ext.CRY_WATHER.ToString());
            }


            List <MED_VITAL_SIGN> vitalSignList = new OperationVitalSignRepository().GetVitalSignData(patientID, (int)visitID, (int)operID, "0", false);
            if (vitalSignList != null && vitalSignList.Count > 0)
            {
                DateTime lastTime = vitalSignList[vitalSignList.Count - 1].TIME_POINT;
                vitalSignList = vitalSignList.Where(p => p.TIME_POINT == lastTime).ToList();
                foreach (MED_VITAL_SIGN row in vitalSignList)
                {
                    if (row.ITEM_CODE == "100") //体温
                    {
                        arrayInOrOut[4] = GetValue(row.ITEM_VALUE);
                    }
                    else if (row.ITEM_CODE == "89")//血压高
                    {
                        arrayInOrOut[5] = GetValue(row.ITEM_VALUE);
                    }
                    else if (row.ITEM_CODE == "90")//血压低
                    {
                        arrayInOrOut[6] = GetValue(row.ITEM_VALUE);
                    }
                    else if (row.ITEM_CODE == "44")//脉搏
                    {
                        arrayInOrOut[7] = GetValue(row.ITEM_VALUE);
                    }
                }
            }

            labelInOrOut.Text = string.Format("术中输液:入量:{0}ml 出量:{1}ml\r\n输血:{2}ml 自体血:{3}\r\n出室时:体温:{4}℃ 血压:{5}/{6} 脉搏:{7}", arrayInOrOut);

            MED_OPERATION_MASTER master = operationInfoRepository.GetOperMaster(patientID, (int)visitID, (int)operID).Data;

            labelAnesOper.Text = string.Format("麻:{0}  护:{1}\r\n手:{2}",
                                               RefUsersDT(master.ANES_DOCTOR) + " " + RefUsersDT(master.FIRST_ANES_ASSISTANT),
                                               RefUsersDT(master.FIRST_OPER_NURSE) + " " + RefUsersDT(master.FIRST_SUPPLY_NURSE),
                                               RefUsersDT(master.SURGEON) + " " + RefUsersDT(master.FIRST_OPER_ASSISTANT));

            #endregion

            #region 术前访视
            MED_ANESTHESIA_PLAN_EXAM anesPlanExam = operationInfoRepository.GetAnesPlanExam(patientID, (int)visitID, (int)operID).Data;
            MED_ANESTHESIA_PLAN_PMH  anesPlanPmh  = operationInfoRepository.GetAnesPlanPmh(patientID, (int)visitID, (int)operID).Data;
            MED_ANESTHESIA_PLAN      anesPlan     = operationInfoRepository.GetAnesPlan(patientID, (int)visitID, (int)operID).Data;


            if (anesPlanExam == null)
            {
                anesPlanExam = new MED_ANESTHESIA_PLAN_EXAM();
            }

            if (anesPlanPmh == null)
            {
                anesPlanPmh = new MED_ANESTHESIA_PLAN_PMH();
            }

            if (anesPlan == null)
            {
                anesPlan = new MED_ANESTHESIA_PLAN();
            }


            if (anesPlan.INQUIRY_BEFORE_DATE != null)
            {
                labelFangShiDate.Text = anesPlan.INQUIRY_BEFORE_DATE.Value.ToString("yyyy-MM-dd");
            }
            else
            {
                labelFangShiDate.Text = string.Empty;
            }

            labelFangShiName.Text = GetValue(anesPlan.INQUIRY_DOCTOR);
            labelPatient.Text     = string.Format("{0}cm,{1}kg{2}/{3}mmHg{4}次/分,{5}次/分",
                                                  GetValue(anesPlanPmh.HEIGHT.ToString()), GetValue(anesPlanPmh.WEIGHT.ToString()), GetValue(anesPlanExam.BLOOD_PRESS_HIGH.ToString()),
                                                  GetValue(anesPlanExam.BLOOD_PRESS_LOW.ToString()), GetValue(anesPlanExam.CARDIOTACH.ToString()), GetValue(anesPlanExam.BREATH.ToString()));

            labelSQ1.Text = string.Format("血常规:{0}         心电图:{1}", "", GetValue(anesPlanExam.ECG_EXAM));
            labelSQ2.Text = string.Format("生化:{0}             意识:{1}", "", "");
            labelSQ3.Text = string.Format("{0}         {1}", "", "");
            labelSQ4.Text = string.Format("执行麻醉:{0}         ASA分级:{1}", GetValue(anesPlan.ANESTHESIA_METHOD), GetValue(cardRow.ASA_GRADE));

            #endregion

            List <MED_OPERATION_SCHEDULE> operScheduleList = operationInfoRepository.GetOperScheduleList(patientID, (int)visitID).Data.ToList();
            if (operScheduleList != null && operScheduleList.Count > 0)
            {
                operScheduleList = operScheduleList.Where(x => x.OPER_ID == (int)operID).ToList();
            }

            #region 手术安排

            StringBuilder sbschedule1 = new StringBuilder();
            sbschedule1.Append("手术安排日期:{0}\r\n");
            sbschedule1.Append("麻:{1}\r\n");
            sbschedule1.Append("护:{2}\r\n");
            sbschedule1.Append("手术间:{3}         台次:{4}");
            string[] tempSchedule1Arr = new string[5] {
                "", "", "", "", ""
            };

            if (operScheduleList != null && operScheduleList.Count > 0)
            {
                MED_OPERATION_SCHEDULE tempoperation_schedule1 = operScheduleList[0];
                tempSchedule1Arr[0] = tempoperation_schedule1.SCHEDULED_DATE_TIME.Value.ToString("yyyy-MM-dd");
                StringBuilder sbOperAnes = new StringBuilder();
                sbOperAnes.Append(RefUsersDT(tempoperation_schedule1.ANES_DOCTOR));
                sbOperAnes.Append(RefUsersDT(tempoperation_schedule1.FIRST_ANES_ASSISTANT));
                sbOperAnes.Append(RefUsersDT(tempoperation_schedule1.SECOND_ANES_ASSISTANT));
                sbOperAnes.Append(RefUsersDT(tempoperation_schedule1.THIRD_ANES_ASSISTANT));
                sbOperAnes.Append(RefUsersDT(tempoperation_schedule1.FOURTH_ANES_ASSISTANT));
                tempSchedule1Arr[1] = sbOperAnes.ToString();

                StringBuilder sbOperNurse = new StringBuilder();
                sbOperNurse.Append(RefUsersDT(tempoperation_schedule1.FIRST_OPER_NURSE));
                sbOperNurse.Append(RefUsersDT(tempoperation_schedule1.SECOND_OPER_NURSE));
                sbOperNurse.Append(RefUsersDT(tempoperation_schedule1.THIRD_OPER_NURSE));
                sbOperNurse.Append(RefUsersDT(tempoperation_schedule1.FOURTH_OPER_NURSE));
                sbOperNurse.Append(RefUsersDT(tempoperation_schedule1.FIRST_OPER_NURSE));
                sbOperNurse.Append(RefUsersDT(tempoperation_schedule1.SECOND_SUPPLY_NURSE));
                sbOperNurse.Append(RefUsersDT(tempoperation_schedule1.THIRD_SUPPLY_NURSE));
                sbOperNurse.Append(RefUsersDT(tempoperation_schedule1.FOURTH_SUPPLY_NURSE));
                tempSchedule1Arr[2] = sbOperNurse.ToString();

                tempSchedule1Arr[3] = GetValue(tempoperation_schedule1.OPER_ROOM_NO);
                if (tempoperation_schedule1.SEQUENCE != null)
                {
                    tempSchedule1Arr[4] = tempoperation_schedule1.SEQUENCE.ToString();
                }
                labelSchedule.Text         = string.Format(sbschedule1.ToString(), tempSchedule1Arr);
                labelOperScheduleTime.Text = tempoperation_schedule1.SCHEDULED_DATE_TIME.Value.ToString("yyyy-MM-dd");
            }
            else
            {
                labelSchedule.Text            = string.Format(sbschedule1.ToString(), tempSchedule1Arr);
                labelOperScheduleTime.Visible = false;
            }
            #endregion

            #region 手术申请
            if (operScheduleList != null && operScheduleList.Count > 0)
            {
                MED_OPERATION_SCHEDULE tempoperation_schedule = operScheduleList[0];

                string[] tempScheduleArr = new string[7] {
                    "", "", "", "", "", "", ""
                };
                tempScheduleArr[0] = RefDeptDT(tempoperation_schedule.DEPT_CODE);
                tempScheduleArr[1] = GetValue(tempoperation_schedule.BED_NO);
                tempScheduleArr[2] = GetValue(tempoperation_schedule.DIAG_BEFORE_OPERATION);
                tempScheduleArr[3] = GetValue(tempoperation_schedule.OPERATION_NAME);
                tempScheduleArr[4] = GetValue(tempoperation_schedule.OPER_SCALE);
                tempScheduleArr[5] = GetValue(tempoperation_schedule.OPER_POSITION);

                labelOperReg.Text = string.Format("{0}{1}\r\n{2}\r\n{3}{4}\r\n{5}", tempScheduleArr);
                StringBuilder sbOper = new StringBuilder();
                sbOper.Append(RefUsersDT(tempoperation_schedule.SURGEON));
                sbOper.Append(RefUsersDT(tempoperation_schedule.FIRST_OPER_ASSISTANT));
                sbOper.Append(RefUsersDT(tempoperation_schedule.SECOND_OPER_ASSISTANT));
                sbOper.Append(RefUsersDT(tempoperation_schedule.THIRD_OPER_ASSISTANT));
                sbOper.Append(RefUsersDT(tempoperation_schedule.FOURTH_ANES_ASSISTANT));
                labelOper.Text = string.Format("手:{0}", sbOper.ToString());

                labelCreateDate.Text = tempoperation_schedule.REQ_DATE_TIME.Value.ToString("yyyy-Mm-dd");

                if (cardRow.EMERGENCY_IND == 1)
                {
                    pictureBoxJZ.Visible = true;
                }
                if (cardRow.RADIATE_IND == 2)
                {
                    pictureBoxFS.Visible = true;
                }
                if (cardRow.ISOLATION_IND == 2)
                {
                    pictureBoxGL.Visible = true;
                }
            }
            else
            {
                labelOperReg.Text    = string.Empty;
                labelOper.Text       = "手:";
                labelCreateDate.Text = string.Empty;
            }
            #endregion
        }
コード例 #25
0
        /// <summary>
        /// 保存患者住院记录表
        /// </summary>
        /// <returns><![CDATA[RequestResult<string>]]></returns>
        public RequestResult <int> SavePatVisit(MED_PAT_VISIT item)
        {
            string address = "PacuOperationInfo/SavePatVisit";

            return(BaseRepository.PostCallApi <MED_PAT_VISIT>(address, item));
        }
コード例 #26
0
        protected override void OnSaveData(Dictionary <string, DataTable> dataSource)
        {
            List <MED_OPERATION_MASTER> operMasterList = ModelHelper <MED_OPERATION_MASTER> .ConvertDataTableToList(dataSource["MED_OPERATION_MASTER"]);

            MED_OPERATION_MASTER operMaster = null;

            if (operMasterList != null && operMasterList.Count > 0)
            {
                operMaster = operMasterList[0];
            }

            List <MED_PAT_MASTER_INDEX> patIndexList = ModelHelper <MED_PAT_MASTER_INDEX> .ConvertDataTableToList(dataSource["MED_PAT_MASTER_INDEX"]);

            MED_PAT_MASTER_INDEX patMasterIndex = null;

            if (patIndexList != null && patIndexList.Count > 0)
            {
                patMasterIndex = patIndexList[0];
            }

            List <MED_PAT_VISIT> patVisitList = ModelHelper <MED_PAT_VISIT> .ConvertDataTableToList(dataSource["MED_PAT_VISIT"]);

            MED_PAT_VISIT patVisit = null;

            if (patVisitList != null && patVisitList.Count > 0)
            {
                patVisit = patVisitList[0];
            }

            List <MED_OPERATION_EXTENDED> operExtended = ModelHelper <MED_OPERATION_EXTENDED> .ConvertDataTableToList(dataSource["MED_OPERATION_EXTENDED"]);

            List <MED_POSTOPERATIVE_EXTENDED> postExtended = ModelHelper <MED_POSTOPERATIVE_EXTENDED> .ConvertDataTableToList(dataSource["MED_POSTOPERATIVE_EXTENDED"]);


            List <MED_OPERATION_ANALGESIC_MASTER> analgesicMaster = ModelHelper <MED_OPERATION_ANALGESIC_MASTER> .ConvertDataTableToList(dataSource["MED_OPERATION_ANALGESIC_MASTER"]);

            if (analgesicMaster != null && analgesicMaster.Count > 0)
            {
                operationInfoRepository.SaveAnalgesicMaster(analgesicMaster[0]);
            }

            List <MED_OPER_ANALGESIC_MEDICINE> analgesicMedicine = ModelHelper <MED_OPER_ANALGESIC_MEDICINE> .ConvertDataTableToList(dataSource["MED_OPER_ANALGESIC_MEDICINE"]);

            if (analgesicMedicine != null)
            {
                operationInfoRepository.SaveAnalgesicMedicineList(analgesicMedicine);
            }

            List <MED_OPER_ANALGESIC_TOTAL> analgesicTotal = ModelHelper <MED_OPER_ANALGESIC_TOTAL> .ConvertDataTableToList(dataSource["MED_OPER_ANALGESIC_TOTAL"]);

            if (analgesicTotal != null)
            {
                operationInfoRepository.SaveAnalgesicTotalList(analgesicTotal);
            }

            //OperationInfoService.SaveMedicalBasicDoc(operMaster, patIndex, patVisit, null, null, null, null, operExtended, postExtended, null);

            MED_PATS_IN_HOSPITAL patsInHospital = null;

            MED_ANESTHESIA_PLAN anesPlan = null;

            MED_ANESTHESIA_PLAN_EXAM anesPlanExam = null;

            MED_ANESTHESIA_PLAN_PMH anesPlanPmh = null;

            List <MED_PREOPERATIVE_EXPANSION> preExpansion = null;


            operationInfoRepository.SaveMedicalBasicDoc(new { operMaster, patMasterIndex, patVisit, patsInHospital, anesPlan, anesPlanExam, anesPlanPmh, operExtended, postExtended, preExpansion });
        }
コード例 #27
0
        /// <summary>
        /// 保存数据源
        /// </summary>
        protected override bool OnSaveData(Dictionary <string, DataTable> dataSource)
        {
            List <MED_ANESTHESIA_INPUT_DATA> anesInputData = new ModelHandler <MED_ANESTHESIA_INPUT_DATA>().FillModel(dataSource["MED_ANESTHESIA_INPUT_DATA"]);

            if (anesInputData != null && anesInputData.Count > 0)
            {
                CareDocService.ClientInstance.SaveAnesInputData(anesInputData[0]);
            }

            List <MED_OPERATION_MASTER> operMasterList = new ModelHandler <MED_OPERATION_MASTER>().FillModel(dataSource["MED_OPERATION_MASTER"]);
            MED_OPERATION_MASTER        operMaster     = null;

            if (operMasterList != null && operMasterList.Count > 0)
            {
                operMaster = operMasterList[0];
            }

            List <MED_PAT_MASTER_INDEX> patIndexList = new ModelHandler <MED_PAT_MASTER_INDEX>().FillModel(dataSource["MED_PAT_MASTER_INDEX"]);
            MED_PAT_MASTER_INDEX        patIndex     = null;

            if (patIndexList != null && patIndexList.Count > 0)
            {
                patIndex = patIndexList[0];
            }

            List <MED_PAT_VISIT> patVisitList = new ModelHandler <MED_PAT_VISIT>().FillModel(dataSource["MED_PAT_VISIT"]);
            MED_PAT_VISIT        patVisit     = null;

            if (patVisitList != null && patVisitList.Count > 0)
            {
                patVisit = patVisitList[0];
            }

            List <MED_ANESTHESIA_PLAN> anesPlanList = new ModelHandler <MED_ANESTHESIA_PLAN>().FillModel(dataSource["MED_ANESTHESIA_PLAN"]);
            MED_ANESTHESIA_PLAN        anesPlan     = null;

            if (anesPlanList != null && anesPlanList.Count > 0)
            {
                anesPlan = anesPlanList[0];
            }

            List <MED_ANESTHESIA_PLAN_PMH> anesPlanPMHList = new ModelHandler <MED_ANESTHESIA_PLAN_PMH>().FillModel(dataSource["MED_ANESTHESIA_PLAN_PMH"]);
            MED_ANESTHESIA_PLAN_PMH        anesPlanPmh     = null;

            if (anesPlanPMHList != null && anesPlanPMHList.Count > 0)
            {
                anesPlanPmh = anesPlanPMHList[0];
            }

            List <MED_ANESTHESIA_PLAN_EXAM> anesPlanExamList = new ModelHandler <MED_ANESTHESIA_PLAN_EXAM>().FillModel(dataSource["MED_ANESTHESIA_PLAN_EXAM"]);
            MED_ANESTHESIA_PLAN_EXAM        anesPlanExam     = null;

            if (anesPlanExamList != null && anesPlanExamList.Count > 0)
            {
                anesPlanExam = anesPlanExamList[0];
            }

            List <MED_PREOPERATIVE_EXPANSION> preExpansion = new ModelHandler <MED_PREOPERATIVE_EXPANSION>().FillModel(dataSource["MED_PREOPERATIVE_EXPANSION"]);

            List <MED_PATS_IN_HOSPITAL> patsInHospitalList = new ModelHandler <MED_PATS_IN_HOSPITAL>().FillModel(dataSource["MED_PATS_IN_HOSPITAL"]);
            MED_PATS_IN_HOSPITAL        patsInHospital     = null;

            if (patsInHospitalList != null && patsInHospitalList.Count > 0)
            {
                patsInHospital = patsInHospitalList[0];
            }

            List <MED_OPERATION_EXTENDED>     operExtended = new ModelHandler <MED_OPERATION_EXTENDED>().FillModel(dataSource["MED_OPERATION_EXTENDED"]);
            List <MED_POSTOPERATIVE_EXTENDED> postExtended = new ModelHandler <MED_POSTOPERATIVE_EXTENDED>().FillModel(dataSource["MED_POSTOPERATIVE_EXTENDED"]);
            bool result = CareDocService.ClientInstance.SaveMedicalBasicDoc(new
            {
                operMaster,
                patIndex,
                patVisit,
                patsInHospital,
                anesPlan,
                anesPlanExam,
                anesPlanPmh = anesPlanPmh,
                operExtended,
                postExtended,
                preExpansion
            });

            return(result);
        }
コード例 #28
0
        public bool SavePatientOperation(MED_OPERATION_SCHEDULE operSchedule, MED_PAT_VISIT patVisit,
                                         MED_PAT_MASTER_INDEX patMasterIndex, List <MED_OPERATION_NAME> operNameOldList,
                                         List <MED_OPERATION_NAME> operNameNewList, MED_OPERATION_MASTER operMaster,
                                         MED_ANESTHESIA_PLAN anesPlan, MED_ANESTHESIA_PLAN_PMH anesPlanPmh,
                                         MED_ANESTHESIA_PLAN_EXAM anesPlanExam, MED_OPERATION_MASTER_EXT operMasterExt)
        {
            bool flag = true;

            if (operSchedule != null)
            {
                flag = flag & dapper.Set <MED_OPERATION_SCHEDULE>().Save(operSchedule);
            }
            if (patVisit != null)
            {
                flag = flag & dapper.Set <MED_PAT_VISIT>().Save(patVisit);
            }
            if (patMasterIndex != null)
            {
                flag = flag & dapper.Set <MED_PAT_MASTER_INDEX>().Save(patMasterIndex);
            }
            if (operNameOldList != null && operNameOldList.Count > 0)
            {
                foreach (var item in operNameNewList)
                {
                    flag = flag & dapper.Set <MED_OPERATION_NAME>().Delete(item);
                }
            }
            if (operNameNewList != null && operNameNewList.Count > 0)
            {
                foreach (var item in operNameNewList)
                {
                    flag = flag & dapper.Set <MED_OPERATION_NAME>().Save(item);
                }
            }
            if (operMaster != null)
            {
                flag = flag & dapper.Set <MED_OPERATION_MASTER>().Save(operMaster);
            }
            if (anesPlan != null)
            {
                flag = flag & dapper.Set <MED_ANESTHESIA_PLAN>().Save(anesPlan);
            }
            if (anesPlanPmh != null)
            {
                flag = flag & dapper.Set <MED_ANESTHESIA_PLAN_PMH>().Save(anesPlanPmh);
            }
            if (anesPlanExam != null)
            {
                flag = flag & dapper.Set <MED_ANESTHESIA_PLAN_EXAM>().Save(anesPlanExam);
            }
            if (operMasterExt != null)
            {
                flag = flag & dapper.Set <MED_OPERATION_MASTER_EXT>().Save(operMasterExt);
            }
            if (flag)
            {
                dapper.SaveChanges();
            }

            return(flag);
        }