Example #1
0
        /// <summary>
        /// 入院登记
        /// </summary>
        /// <returns></returns>
        public WorkerHospitalizationRegisterDto WorkerHospitalizationRegister(WorKerHospitalizationRegisterParam param)
        {
            var resultData = new WorkerHospitalizationRegisterDto();
            //社保住院号
            var medicalInsuranceHospitalizationNo = new byte[1024];
            //审批编号
            var approvalNumber = new byte[1024];
            //年住院次数
            var yearHospitalizationNumber = new byte[1024];
            //统筹已付金额
            var overallPlanningAlreadyAmount = new byte[1024];
            //统筹可付金额
            var overallPlanningCanAmount = new byte[1024];
            //返回状态
            var resultState = new byte[1024];
            //消息
            var msg = new byte[1024];

            //  param.AdministrativeArea,
            WorkerMedicalInsurance.HospitalizationRegister
                (param.IdentityMark,
                param.AfferentSign,
                param.AdministrativeArea,
                param.OrganizationCode,
                param.MedicalCategory,
                param.AdmissionDate,
                param.AdmissionMainDiagnosisIcd10,
                param.DiagnosisIcd10Two,
                param.DiagnosisIcd10Three,
                param.AdmissionMainDiagnosis,
                param.InpatientArea,
                param.BedNumber,
                param.HospitalizationNo,
                param.Operators,
                medicalInsuranceHospitalizationNo,
                approvalNumber,
                yearHospitalizationNumber,
                overallPlanningAlreadyAmount,
                overallPlanningCanAmount,
                resultState,
                msg
                );
            if (CommonHelp.StrToTransCoding(resultState) != "1")
            {
                throw new Exception(CommonHelp.StrToTransCoding(msg));
            }
            resultData = new WorkerHospitalizationRegisterDto()
            {
                MedicalInsuranceHospitalizationNo = CommonHelp.StrToTransCoding(medicalInsuranceHospitalizationNo),
                ApprovalNumber               = CommonHelp.StrToTransCoding(approvalNumber),
                YearHospitalizationNumber    = CommonHelp.StrToTransCoding(yearHospitalizationNumber),
                OverallPlanningAlreadyAmount = CommonHelp.StrToTransCoding(overallPlanningAlreadyAmount),
                OverallPlanningCanAmount     = CommonHelp.StrToTransCoding(overallPlanningCanAmount),
            };

            return(resultData);
        }
        /// <summary>
        /// 获取职工入院登记入参
        /// </summary>
        /// <param name="param"></param>
        /// <param name="paramDto"></param>
        /// <param name="user"></param>
        /// <returns></returns>
        private WorKerHospitalizationRegisterParam GetWorkerHospitalizationRegisterParam(
            WorKerHospitalizationRegisterUiParam param, InpatientInfoDto paramDto, UserInfoDto user)
        {
            var iniParam      = new WorKerHospitalizationRegisterParam();
            var diagnosisData = CommonHelp.GetDiagnosis(param.DiagnosisList);

            iniParam.AdmissionMainDiagnosisIcd10 = diagnosisData.AdmissionMainDiagnosisIcd10;
            iniParam.DiagnosisIcd10Two           = diagnosisData.DiagnosisIcd10Two;
            iniParam.DiagnosisIcd10Three         = diagnosisData.DiagnosisIcd10Three;
            iniParam.AdmissionMainDiagnosis      = diagnosisData.DiagnosisDescribe;
            //获取医院等级
            var gradeData = _systemManageRepository.QueryHospitalOrganizationGrade(user.OrganizationCode);

            if (gradeData == null)
            {
                throw new Exception("获取医院等级失败!!!");
            }
            if (string.IsNullOrWhiteSpace(gradeData.AdministrativeArea))
            {
                throw new Exception("当前医院未设置行政区域!!!");
            }
            iniParam.IdentityMark            = param.IdentityMark;
            iniParam.AfferentSign            = param.AfferentSign;
            iniParam.MedicalCategory         = param.MedicalCategory;
            iniParam.AdmissionDate           = Convert.ToDateTime(paramDto.AdmissionDate).ToString("yyyyMMdd");
            iniParam.InpatientDepartmentCode = paramDto.InDepartmentId;
            iniParam.BedNumber          = paramDto.AdmissionBed;
            iniParam.HospitalizationNo  = paramDto.HospitalizationNo;
            iniParam.Operators          = paramDto.AdmissionOperator;
            iniParam.BusinessId         = param.BusinessId;
            iniParam.AdministrativeArea = gradeData.AdministrativeArea;
            iniParam.InpatientArea      = paramDto.AdmissionWard;
            //iniParam.DiagnosisList = param.DiagnosisList;
            var userData = _systemManageRepository.QueryHospitalOperator(
                new QueryHospitalOperatorParam()
            {
                UserId = param.UserId
            });

            iniParam.OrganizationCode = gradeData.MedicalInsuranceAccount;
            return(iniParam);
        }