Example #1
0
        /// <summary>
        /// 获取门诊职工异地刷卡参数
        /// </summary>
        /// <param name="param"></param>
        public YdBaseParam GetYdOutpatientPayCardParam(
            GetYdOutpatientPayCardParam param)
        {
            var userBase = _serviceBasicService.GetUserBaseInfo(param.UserId);

            userBase.TransKey = param.TransKey;
            var           result = new YdBaseParam();
            StringBuilder ctrXml = new StringBuilder();

            ctrXml.Append("<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\" ?>");
            ctrXml.Append("<row>");
            ctrXml.Append($"<pi_xzqh>{param.AreaCode}</pi_xzqh>");        //行政区划
            ctrXml.Append($"<pi_fyze>{param.DownAmount}</pi_fyze>");      //费用总额
            ctrXml.Append($"<pi_cardid>{param.InsuranceNo}</pi_cardid>"); //费用总额
            ctrXml.Append($"<pi_hklb>1</pi_hklb>");                       //划卡类别
            ctrXml.Append($"<pi_jbr>{userBase.UserName}</pi_jbr>");       //经办人
            ctrXml.Append("</row>");
            result.TransactionCode = "YYJK014";
            result.InputXml        = ctrXml.ToString();
            var deleteData = _hisSqlRepository.DeleteDatabase(new DeleteDatabaseParam()
            {
                User      = userBase,
                Field     = "BusinessId",
                Value     = param.BusinessId,
                TableName = "MedicalInsurance"
            });
            var medicalInsurance = new MedicalInsurance()
            {
                Id                    = Guid.NewGuid(),
                InsuranceNo           = param.InsuranceNo,
                AdmissionInfoJson     = result.InputXml,
                MedicalInsuranceState = (int)MedicalInsuranceState.MedicalInsurancePreSettlement,
                InsuranceType         = 310,
                AreaCode              = param.AreaCode,
                IsBirthHospital       = false,
                BusinessId            = param.BusinessId,
            };

            _medicalInsuranceMap.InsertData(medicalInsurance, userBase);
            return(result);
        }
        /// <summary>
        /// 获取住院病人信息
        /// </summary>
        /// <param name="infoParam"></param>
        /// <returns></returns>
        public InpatientInfoDto GetInpatientInfo(GetInpatientInfoParam param)
        {
            var resultData = new InpatientInfoDto();
            var xmlData    = new MedicalInsuranceXmlDto();

            xmlData.BusinessId        = param.BusinessId;
            xmlData.HealthInsuranceNo = "21";
            xmlData.TransactionId     = param.User.TransKey;
            xmlData.AuthCode          = param.User.AuthCode;
            xmlData.UserId            = param.User.UserId;
            xmlData.OrganizationCode  = param.User.OrganizationCode;
            var data = _webServiceBasic.HIS_Interface("39", JsonConvert.SerializeObject(xmlData));
            InpatientInfoJsonDto dataValue = JsonConvert.DeserializeObject <InpatientInfoJsonDto>(data.Msg);

            if (dataValue != null && dataValue.InpatientInfoJsonData != null)
            {
                var diagnosisList = dataValue.DiagnosisJson.Select(c => new InpatientDiagnosisDto()
                {
                    DiseaseCoding   = c.DiseaseCoding,
                    DiseaseName     = c.DiseaseName,
                    IsMainDiagnosis = c.IsMainDiagnosis == "是" ? true : false,
                    ProjectCode     = c.ProjectCode,
                }).ToList();
                resultData = new InpatientInfoDto()
                {
                    DiagnosisList               = diagnosisList,
                    HospitalizationId           = dataValue.InpatientInfoJsonData.HospitalizationId,
                    BusinessId                  = param.BusinessId,
                    DiagnosisJson               = JsonConvert.SerializeObject(dataValue.DiagnosisJson),
                    AdmissionBed                = dataValue.InpatientInfoJsonData.AdmissionBed,
                    AdmissionDate               = dataValue.InpatientInfoJsonData.AdmissionDate,
                    AdmissionDiagnosticDoctor   = dataValue.InpatientInfoJsonData.AdmissionDiagnosticDoctor,
                    AdmissionDiagnosticDoctorId = dataValue.InpatientInfoJsonData.AdmissionDiagnosticDoctorId,
                    AdmissionMainDiagnosis      = dataValue.InpatientInfoJsonData.AdmissionMainDiagnosis,
                    AdmissionMainDiagnosisIcd10 = dataValue.InpatientInfoJsonData.AdmissionMainDiagnosisIcd10,
                    AdmissionOperateTime        = dataValue.InpatientInfoJsonData.AdmissionOperateTime,
                    AdmissionOperator           = dataValue.InpatientInfoJsonData.AdmissionOperator,
                    AdmissionWard               = dataValue.InpatientInfoJsonData.AdmissionWard,
                    FamilyAddress               = dataValue.InpatientInfoJsonData.FamilyAddress,
                    IdCardNo          = dataValue.InpatientInfoJsonData.IdCardNo,
                    PatientName       = dataValue.InpatientInfoJsonData.PatientName,
                    PatientSex        = dataValue.InpatientInfoJsonData.PatientSex,
                    ContactName       = dataValue.InpatientInfoJsonData.ContactName,
                    ContactPhone      = dataValue.InpatientInfoJsonData.ContactPhone,
                    Remark            = dataValue.InpatientInfoJsonData.Remark,
                    HospitalName      = param.User.OrganizationName,
                    HospitalizationNo = dataValue.InpatientInfoJsonData.HospitalizationNo,
                    TransactionId     = param.User.TransKey,
                    InDepartmentName  = dataValue.InpatientInfoJsonData.InDepartmentName,
                    InDepartmentId    = dataValue.InpatientInfoJsonData.InDepartmentId,
                    DocumentNo        = dataValue.InpatientInfoJsonData.DocumentNo,
                };
                if (param.IsSave == true)
                {
                    //删除以前记录
                    var deleteData = _hisSqlRepository.DeleteDatabase(new DeleteDatabaseParam()
                    {
                        User      = param.User,
                        Field     = "BusinessId",
                        Value     = param.BusinessId,
                        TableName = "Inpatient"
                    });
                    //添加病人信息
                    var inpatientEntity = new InpatientEntity();
                    var insertEntity    = AutoMapper.Mapper.Map <InpatientEntity>(resultData);
                    insertEntity.Id = Guid.NewGuid();

                    inpatientBaseService.Insert(insertEntity, param.User);
                }
            }

            return(resultData);
        }