background image

  

Raise_Application_Error(-20001,'参保人尚未申请“特殊病种”'); 

  

ENDIF; 

  

——检查是否申请了该医院作为特殊病种定点 

  

——特殊病种人员选择定点医疗机构表 

  

——AAC001 个人编号;AKA120 病种编码 

  

SELECTCOUNT(1) 

  

INTOiCount 

  

FROM 特殊病种人员选择定点医疗机构表 A 

  

WHEREA.AAC001=pi_sAAC001 

  

ANDA.AKC196=pi_sAKA120 

  

ANDA.AKB020=pi_sAKB020; 

  

IFiCount=0THEN 

  

Raise_Application_Error(-20001,'参保人未选择该医疗机构作为特殊病种定点'); 

  

ENDIF; 

  

——检查是否特殊病种所需用药 

  

FORCur1IN(SELECTA.ROWID,A.*,D.AKA069   FROMKC22A,KA02D 

  

WHEREA.AKC190=pi_sAKC190 

  

ANDA.AKC222=D.AKA060) 

  

LOOP 

  

——KA11 特殊病种药品表 

  

SELECTCOUNT(1) 

  

INTOiCount 

  

FROMKA11 

  

WHEREAKA120=pi_sAKA120 

  

ANDAKA060=Cur1.AKA060; 

  

IFiCount=0THEN 

  

fRate:=1; 

  

ELSE 

  

fRate:=NVL(Cur1.AKA069,1); 

  

ENDIF; 

  

UPDATEKC22A 

  

SETAKC228=AKC227*fRate