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