/// <summary> /// 获取居民入院登记入参 /// </summary> /// <param name="param"></param> /// <param name="paramDto"></param> /// <returns></returns> private ResidentHospitalizationRegisterParam GetResidentHospitalizationRegisterParam( ResidentHospitalizationRegisterUiParam param, InpatientInfoDto paramDto) { var iniParam = new ResidentHospitalizationRegisterParam(); var diagnosisData = CommonHelp.GetDiagnosis(param.DiagnosisList); iniParam.AdmissionMainDiagnosisIcd10 = diagnosisData.AdmissionMainDiagnosisIcd10; iniParam.DiagnosisIcd10Two = diagnosisData.DiagnosisIcd10Two; iniParam.DiagnosisIcd10Three = diagnosisData.DiagnosisIcd10Three; iniParam.AdmissionMainDiagnosis = diagnosisData.DiagnosisDescribe; iniParam.IdentityMark = param.IdentityMark; iniParam.AfferentSign = param.AfferentSign; iniParam.MedicalCategory = param.MedicalCategory; iniParam.FetusNumber = param.FetusNumber; iniParam.HouseholdNature = param.HouseholdNature; iniParam.AdmissionDate = Convert.ToDateTime(paramDto.AdmissionDate).ToString("yyyyMMdd"); iniParam.InpatientDepartmentCode = paramDto.InDepartmentName; iniParam.BedNumber = paramDto.AdmissionBed; iniParam.HospitalizationNo = paramDto.HospitalizationNo; iniParam.Operators = paramDto.AdmissionOperator; iniParam.InsuranceType = param.InsuranceType; //iniParam.BusinessId = param.BusinessId; return(iniParam); }
/// <summary> /// 入院登记 /// </summary> /// <returns></returns> public void HospitalizationRegister(ResidentHospitalizationRegisterUiParam param) { //his登陆 var userBase = _webserviceBasicService.GetUserBaseInfo(param.UserId); userBase.TransKey = param.TransKey; var infoData = new GetInpatientInfoParam() { User = userBase, BusinessId = param.BusinessId, }; //获取医保病人 var inpatientData = _webserviceBasicService.GetInpatientInfo(infoData); var registerParam = GetResidentHospitalizationRegisterParam(param, inpatientData); var residentData = _residentMedicalInsuranceRepository.HospitalizationRegister(registerParam); var saveData = new MedicalInsuranceDto { AdmissionInfoJson = JsonConvert.SerializeObject(registerParam), BusinessId = param.BusinessId, Id = Guid.NewGuid(), InsuranceType = 342, MedicalInsuranceHospitalizationNo = residentData.MedicalInsuranceInpatientNo, MedicalInsuranceState = MedicalInsuranceState.MedicalInsuranceHospitalized, AfferentSign = param.AfferentSign, IdentityMark = param.IdentityMark }; //保存中间库 _medicalInsuranceSqlRepository.SaveMedicalInsurance(userBase, saveData); //回参构建 var xmlData = new HospitalizationRegisterXml() { MedicalInsuranceType = "10", MedicalInsuranceHospitalizationNo = residentData.MedicalInsuranceInpatientNo, InsuranceNo = null, }; var strXmlBackParam = XmlSerializeHelper.HisXmlSerialize(xmlData); var saveXml = new SaveXmlDataParam() { User = userBase, MedicalInsuranceBackNum = "CXJB002", MedicalInsuranceCode = "21", BusinessId = param.BusinessId, BackParam = strXmlBackParam }; //存基层 _webBasicRepository.SaveXmlData(saveXml); //更新中间库 saveData.MedicalInsuranceState = MedicalInsuranceState.HisHospitalized; _medicalInsuranceSqlRepository.SaveMedicalInsurance(userBase, saveData); //日志 var logParam = new AddHospitalLogParam { User = userBase, RelationId = saveData.Id, JoinOrOldJson = JsonConvert.SerializeObject(param), ReturnOrNewJson = JsonConvert.SerializeObject(residentData), BusinessId = param.BusinessId, Remark = "医保入院登记;TransactionId:" + userBase.TransKey }; _systemManageRepository.AddHospitalLog(logParam); //保存入院数据 infoData.IsSave = true; _webserviceBasicService.GetInpatientInfo(infoData); }