| 
					
				 | 
			
			
				@ -1199,4 +1199,361 @@ public class HcyyPrescriptionService extends BaseJpaService<WlyyPrescriptionDO, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return str; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //======================合理用药=========================== 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String getUseDrugUrl(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<WlyyHospitalSysDictDO> list =  wlyyHospitalSysDictDao.findByDictName("useDrugUrl"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String url = list.get(0).getDictCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return url; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 3.1	基础标记 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param hospitalCode 医院/院区编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param eventNo 就诊流水号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param patientId 患者id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param source 请求数据的来源,传入固定值:门诊 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String initBaseParam(String hospitalCode,String eventNo,String patientId,String source){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String base = "<base> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        source = "门诊"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(hospitalCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            base +=" <hospital_code>"+hospitalCode+"</hospital_code> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(eventNo)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            base +=" <event_no>"+eventNo+"</event_no> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(patientId)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            base +=" <patient_id>"+patientId+"</patient_id> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(source)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            base +=" <source>"+source+"</source> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        base+="</base>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return base; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *3.2	患者就诊 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param sex 传入4种值:男/女/M/F 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param idType 患者在医院登记的证件类型,如:身份证、户口本等 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param idNo 患者在医院登记证件对应的号码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param birthWeight 患者出生时的体重, 必须包含数字和单位,计量单位:g,如3500g 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param birthday 患者的出生日期,格式:yyyy-mm-dd 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param medCardNo 患者就诊时所使用的医疗卡号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param eventTime 患者到医院的就诊时间,一般为挂号时间,格式:yyyy-mm-dd hh24:mi:ss 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param deptId 系统运行核心关联字段,患者挂号的科室id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param deptName 患者挂号的科室名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param payType 患者付费方式,如:自费、市医保、省医保等 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param pregnancy 是否怀孕 1: 是0: 否 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param timeOfPreg 孕期 孕妇的妊娠时长,只传数字,默认计量单位:周 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param breastFeeding 是否哺乳1: 是0: 否 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param height 身高 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param weight 体重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param address 联系地址 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param phoneNo 联系电话 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param dialysis 是否透析 1: 是0: 否 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param patientCondition 一些笼统的描述信息,如:普通病人、危重病人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String initOptPatientParam(String sex,String name,String idType,String idNo,String birthWeight,String birthday,String medCardNo, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                      String eventTime,String deptId,String deptName,String payType,String pregnancy,String timeOfPreg,String breastFeeding, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                      String height,String weight,String address,String phoneNo,String dialysis,String patientCondition){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String optPatient = "<opt_patient> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(sex)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <sex>"+sex+"</sex> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(name)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <name>"+name+"</name> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(idType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <id_type>"+idType+"</id_type> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(idNo)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <id_no>"+idNo+"</id_no> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(birthWeight)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <birth_weight>"+birthWeight+"</birth_weight> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(birthday)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <birthday>"+birthday+"</birthday> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(medCardNo)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <med_card_no>"+medCardNo+"</med_card_no> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(eventTime)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <event_time>"+eventTime+"</event_time> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(deptId)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <dept_id>"+deptId+"</dept_id> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(deptName)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <dept_name>"+deptName+"</dept_name> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(payType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <pay_type>"+payType+"</pay_type> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(pregnancy)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <pregnancy>"+pregnancy+"</pregnancy> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(timeOfPreg)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <time_of_preg>"+timeOfPreg+"</time_of_preg> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(breastFeeding)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <breast_feeding>"+breastFeeding+"</breast_feeding> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(height)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <height>"+height+"</height> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(weight)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <weight>"+weight+"</weight> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(address)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <address>"+address+"</address> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(phoneNo)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <phone_no>"+phoneNo+"</phone_no> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(dialysis)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <dialysis>"+dialysis+"</dialysis> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(patientCondition)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <patient_condition>"+patientCondition+"</patient_condition> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        optPatient+="</opt_patient>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return optPatient; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /**3.3.1	处方单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param recipeId  系统运行核心关联字段,一张处方实体的唯一标记,院内唯一,主键 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param recipeNo 如不存在,和处方id传值一样即可 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param recipeSource 三种值:门诊,急诊 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param recipeType 三种值:西药方,中成药方,草药方 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param recipeDocId 系统运行核心关联字段,开方医生工号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param recipeDocName 开方医生姓名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param recipeDocTitle 开方医生的职称,如:主治医师、副主任医师、主任医师等。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param deptId 系统运行核心关联字段,开方医师所属科室id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param deptName 开方医师所属科室名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param recipeTime 系统运行核心字段,格式:yyyy-mm-dd hh24:mi:ss 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param herbUnitPrice 如果是中药饮片处方,此处必填 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param herbPacketCount 如果是中药饮片处方,此处必填 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param recipeFeeTotal 处方总金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param recipeStatus 0: 新开或修改处方。数据要求:传入的所有药品明细发药数量值均必须大于0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param originalRecipeId 当Recipe_status为1时表示退药处方时,则必须传入当前退药处方所对应原始处方的处方id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param urgentFlag 用于处方的优先审核 1: 是0: 否 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String initPrescriptionInfoParam(String recipeId,String recipeNo,String recipeSource,String recipeType,String recipeDocId,String recipeDocName,String recipeDocTitle, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                      String deptId,String deptName,String recipeTime,String herbUnitPrice,String herbPacketCount,String recipeFeeTotal, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                      String recipeStatus,String originalRecipeId,String urgentFlag){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String optPatient = "<opt_prescription_info>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(recipeId)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <recipe_id>"+recipeId+"</recipe_id> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(recipeNo)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <recipe_no>"+recipeNo+"</recipe_no> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(recipeSource)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <recipe_source>"+recipeSource+"</recipe_source> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(recipeType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <recipe_type>"+recipeType+"</recipe_type> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(recipeDocId)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <recipe_doc_id>"+recipeDocId+"</recipe_doc_id> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(recipeDocName)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <recipe_doc_name>"+recipeDocName+"</recipe_doc_name> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(recipeDocTitle)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <recipe_doc_title>"+recipeDocTitle+"</recipe_doc_title> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(deptId)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <dept_id>"+deptId+"</dept_id> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(deptName)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <dept_name>"+deptName+"</dept_name> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(recipeTime)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <recipe_time>"+recipeTime+"</recipe_time> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(herbUnitPrice)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <herb_unit_price>"+herbUnitPrice+"</herb_unit_price> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(herbPacketCount)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <herb_packet_count>"+herbPacketCount+"</herb_packet_count> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(recipeFeeTotal)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <recipe_fee_total>"+recipeFeeTotal+"</recipe_fee_total> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(recipeStatus)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <recipe_status>"+recipeStatus+"</recipe_status> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(originalRecipeId)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <original_recipe_id>"+originalRecipeId+"</original_recipe_id> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(urgentFlag)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <urgent_flag>"+urgentFlag+"</urgent_flag> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        optPatient+="</opt_prescription_info>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return optPatient; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 3.3.2	处方明细 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param recipeId 系统运行核心关联字段,一张处方实体的唯一标记,院内唯一,主键 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param recipeItemId 系统运行核心关联字段,唯一标记处方中的每一项药物医嘱 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param drugId 系统运行核心关联字段,医院药品id,传入约定的药品编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param drugName 药品的通用名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param specification 药品规格的描述,如0.5gx24 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param preparation 药品剂型名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param manufacturerName 药品产地名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param countUnit 如果一盒药品12片,发药单位为片时,包装规格数量为1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param drugDose 医生开立的单次给药剂量,值必须是数字+单位,如:0.5g 、200ml等 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param despensingNum 当处方状态为-1(部分药品退费退药)时,这里填写负值,表示具体退多少。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    正常处方状态情况,请填写最终生效值,表示最终的发药数量。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param packUnit  发药单位,和发药数量对应,例如:瓶、盒、片等 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param unitPrice 药品的费用单价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param feeTotal 药品的单价*发药数量,计量单位为元  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param groupNo 药物的分组号,同组药物组号一致。 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param drugAdminRouteName 传入约定的药品使用途径,如:静脉推注等 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param drugUsingFreq 传入约定的药品给药频次,如:qd、bid等, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param drugUsingTimePoint 药品给药时机,如:饭前、饭后、空腹等 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param drugUsingAim 药品的用药目的,预防|治疗|其他 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param drugUsingArea 药品使用部位 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param infusionSpeed 静脉输液药品滴注时长或速度的描述,需同时包含数字和单位,如:1小时、20滴/分钟 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param duration 由医生指定的药品使用天数或次数,如:5天,10次等 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param specialPrompt 备注信息,如饮片的先煎、后下等 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param skinTestFlag 1: 皮试0: 非皮试 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param skinTestResult 皮试结果 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param ouvasFlag 门诊静配标志 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param medicareType 结算方式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param startTime 开始使用时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param endTime 结束使用时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String initPrescriptionItemParam(String recipeId,String recipeItemId,String drugId,String drugName,String specification,String preparation,String manufacturerName, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            String countUnit,String drugDose,String despensingNum,String packUnit,String unitPrice,String feeTotal, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            String groupNo,String drugAdminRouteName,String drugUsingFreq,String drugUsingTimePoint,String drugUsingAim,String drugUsingArea, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            String infusionSpeed,String duration,String specialPrompt,String skinTestFlag,String skinTestResult,String ouvasFlag, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                            String medicareType,String startTime,String endTime){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String optPatient = "<opt_prescription_item>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(recipeId)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <recipe_id>"+recipeId+"</recipe_id> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(recipeItemId)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <recipe_item_id>"+recipeItemId+"</recipe_item_id> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(drugId)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <drug_id>"+drugId+"</drug_id> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(drugName)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <drug_name>"+drugName+"</drug_name> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(specification)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <specification>"+specification+"</specification> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(preparation)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <preparation>"+preparation+"</preparation> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(manufacturerName)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <manufacturer_name>"+manufacturerName+"</manufacturer_name> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(countUnit)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <count_unit>"+countUnit+"</count_unit> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(drugDose)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <drug_dose>"+drugDose+"</drug_dose> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(despensingNum)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <despensing_num>"+despensingNum+"</despensing_num> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(packUnit)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <pack_unit>"+packUnit+"</pack_unit> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(unitPrice)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <unit_price>"+unitPrice+"</unit_price> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(feeTotal)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <fee_total>"+feeTotal+"</fee_total> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(groupNo)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <group_no>"+groupNo+"</group_no> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(drugAdminRouteName)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <drug_admin_route_name>"+drugAdminRouteName+"</drug_admin_route_name> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(drugUsingFreq)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <drug_using_freq>"+drugUsingFreq+"</drug_using_freq> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(drugUsingTimePoint)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <drug_using_time_point>"+drugUsingTimePoint+"</drug_using_time_point> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(drugUsingAim)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <drug_using_aim>"+drugUsingAim+"</drug_using_aim> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(drugUsingArea)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <drug_using_area>"+drugUsingArea+"</drug_using_area> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(infusionSpeed)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <infusion_speed>"+infusionSpeed+"</infusion_speed> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(duration)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <duration>"+duration+"</duration> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(specialPrompt)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <special_prompt>"+specialPrompt+"</special_prompt> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(skinTestFlag)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <skin_test_flag>"+skinTestFlag+"</skin_test_flag> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(skinTestResult)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <skin_test_result>"+skinTestResult+"</skin_test_result> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(ouvasFlag)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <ouvas_flag>"+ouvasFlag+"</ouvas_flag> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(ouvasFlag)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <ouvas_flag>"+ouvasFlag+"</ouvas_flag> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(medicareType)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <medicare_type>"+medicareType+"</medicare_type> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(startTime)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <start_time>"+startTime+"</start_time> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(endTime)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            optPatient +=" <end_time>"+endTime+"</end_time> "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        optPatient+="</opt_prescription_item>"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return optPatient; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |