Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: APCLCP31

APCLCP31.m

Go to the documentation of this file.
APCLCP31 ; IHS/CMI/LAB - activity report ;
 ;;2.0;IHS PCC SUITE;;MAY 14, 2009
START ; EP - process report
 S APCLBT=$H,APCLJOB=$J
 K ^XTMP(APCLNSP,APCLJOB,APCLBT)
 D XTMP^APCLOSUT(APCLNSP,"PCC ACTIVITY REPORT")
 I $P(^APCLACTG(APCLACTG,0),U,2)]"",$P(^(0),U,3)]"",$P(^(0),U,4)]"" D  I 1
 .S APCLRRTN=$S($P($P(^APCLACTG(APCLACTG,0),U,2),"~",2)]"":$P($P(^APCLACTG(APCLACTG,0),U,2),"~")_"^"_$P($P(^APCLACTG(APCLACTG,0),U,2),"~",2),1:$P(^APCLACTG(APCLACTG,0),U,2)),APCLPIEC=$P(^(0),U,4),APCLGLOB="^"_$P(^(0),U,3)_"("
 .S X=APCLRRTN X ^%ZOSF("TEST") I '$T S APCLRRTN="",APCLGLOB="^ICD9(",APCLPIEC=3 Q
 E  S APCLGLOB="^ICD9(",APCLRRTN="",APCLPIEC=3
 I APCLRRTN]"" S APCLRRTN="^"_APCLRRTN
V ; Run by visit date
 S APCLODAT=$O(^AUPNVSIT("B",APCLSD)) I APCLODAT="" S APCLET=$H Q
 S APCLODAT=APCLSD_".9999" F  S APCLODAT=$O(^AUPNVSIT("B",APCLODAT)) Q:APCLODAT=""!((APCLODAT\1)>APCLED)  D V1
 S APCLET=$H
 Q
V1 ;
 S APCLVDFN=0 F  S APCLVDFN=$O(^AUPNVSIT("B",APCLODAT,APCLVDFN)) Q:APCLVDFN'=+APCLVDFN  I $D(^AUPNVSIT(APCLVDFN,0)) S APCLVREC=^(0) D PROC,EOJ
 Q
PROC ;
 K APCLSKIP
 Q:$$DEMO^APCLUTL($P(APCLVREC,U,5),$G(APCLDEMO))
 Q:'$P(APCLVREC,U,9)
 Q:$P(APCLVREC,U,11)
 Q:"DXECH"[$P(APCLVREC,U,7)
 Q:"V"[$P(APCLVREC,U,3)
 I $D(APCLLOC) Q:$P(APCLVREC,U,6)=""  I '$D(APCLLOC($P(APCLVREC,U,6))) Q
 I $D(APCLCLN) Q:$P(APCLVREC,U,8)=""  I '$D(APCLCLN($P(APCLVREC,U,8))) Q
 Q:'$D(^AUPNVPOV("AD",APCLVDFN))
 Q:'$D(^AUPNVPRV("AD",APCLVDFN))
 S APCLPRIM=""
 S (APCL1,APCL2)=0 F L=0:0 S APCL2=$O(^AUPNVPRV("AD",APCLVDFN,APCL2)) Q:APCL2=""  I $P(^AUPNVPRV(APCL2,0),U,4)="P" S APCL1=APCL1+1,APCLPRIM=APCL2
 I APCL1=0 Q
 I APCL1>1 Q
 S APCLVLOC=$P(APCLVREC,U,6)
 S APCLSU=$P(^AUTTLOC(APCLVLOC,0),U,5) I APCLSU="" S APCLSU="ZZZZ"
 S APCLFOUN=0 D PROC2
 Q:'APCLFOUN
 D SET
 Q
EOJ K APCLVLOC,APCLVREC,APCLSKIP,APCL1,APCL2,APCLX,APCLY,APCLPRIM,APCLSU,APCLDISC,@APCLSORV,APCLVTM,APCLVTT
 Q
 ;
 ;
PROC2 ;
 S APCLAP=$P(^AUPNVPRV(APCLPRIM,0),U)
 I $P(^DD(9000010.06,.01,0),U,2)[200 S APCLDISC=$$PROVCLSC^XBFUNC1(APCLAP) G:'$D(^APCLACTG(APCLACTG,11,"AC",APCLDISC)) SEC G PROC21
 S APCLY=$P(^DIC(6,APCLAP,0),U,4)
 G:APCLY="" SEC
 G:'$D(^DIC(7,APCLY,9999999)) SEC
 S APCLDISC=$P(^DIC(7,APCLY,9999999),U) I '$D(^APCLACTG(APCLACTG,11,"AC",APCLDISC)) G SEC
PROC21 S APCLFOUN=1,APCLCHN=APCLPRIM
 Q
SEC ;
 S APCLX=0 F  S APCLX=$O(^AUPNVPRV("AD",APCLVDFN,APCLX)) Q:APCLX'=+APCLX  I $P(^AUPNVPRV(APCLX,0),U,4)="S" S APCLCHN=APCLX D
 . S APCLAP=$P(^AUPNVPRV(APCLX,0),U)
 . I $P(^DD(9000010.06,.01,0),U,2)[200 S APCLDISC=$$PROVCLSC^XBFUNC1(APCLAP) Q:'$D(^APCLACTG(APCLACTG,11,"AC",APCLDISC))  G SEC1
 . S APCLY=$P(^DIC(6,APCLAP,0),U,4)
 . I APCLY="" Q
 . I '$D(^DIC(7,APCLY,9999999)) Q
 . S APCLDISC=$P(^DIC(7,APCLY,9999999),U) I '$D(^APCLACTG(APCLACTG,11,"AC",APCLDISC)) Q
SEC1 . S APCLFOUN=APCLFOUN+1
 . Q
 Q
SET ;
 I APCLSORV="APCLCODE" S APCLCODE="" D GETCODE Q:'APCLCODE
 S ^("TOTAL")=$S($D(^XTMP(APCLNSP,APCLJOB,APCLBT,@APCLSECV,@APCLSORV,"TOTAL")):^("TOTAL")+1,1:1)
 I $P(^AUPNVPRV(APCLCHN,0),U,4)="P" S ^("PRIM")=$S($D(^XTMP(APCLNSP,APCLJOB,APCLBT,@APCLSECV,@APCLSORV,"PRIM")):^("PRIM")+1,1:1)
 I $P(^AUPNVPRV(APCLCHN,0),U,4)'="P" S ^("SEC")=$S($D(^XTMP(APCLNSP,APCLJOB,APCLBT,@APCLSECV,@APCLSORV,"SEC")):^("SEC")+1,1:1)
 I '$D(^AUPNVTM("AD",APCLVDFN)) S ^("NOACT")=$S($D(^XTMP(APCLNSP,APCLJOB,APCLBT,@APCLSECV,"NOACT")):^("NOACT")+1,1:1) Q
 S APCLVTM=$O(^AUPNVTM("AD",APCLVDFN,"")),APCLVACT=$P(^AUPNVTM(APCLVTM,0),U)*APCLFOUN,APCLVTT=$P(^AUPNVTM(APCLVTM,0),U,4)
  S ^("ACT")=$S($D(^XTMP(APCLNSP,APCLJOB,APCLBT,@APCLSECV,@APCLSORV,"ACT")):^("ACT")+APCLVACT,1:APCLVACT)
  I APCLVTT S ^("TT")=$S($D(^XTMP(APCLNSP,APCLJOB,APCLBT,@APCLSECV,@APCLSORV,"TT")):^("TT")+APCLVTT,1:APCLVTT)
 Q
GETCODE ;
 D GETPPOV
 S APCLIPTR=$P(^AUPNVPOV(APCL1,0),U)
 I $G(APCLRRTN)]"" D @APCLRRTN Q
 S APCLCODE=APCLIPTR
 Q
GETPPOV ;
 I $P(APCLVREC,U,7)'="H" S APCL1=$O(^AUPNVPOV("AD",APCLVDFN,"")) Q
 S (APCL1,APCL2)=0 F  S APCL2=$O(^AUPNVPOV("AD",APCLVDFN,APCL2)) Q:APCL2'=+APCL2!(APCL1)  I $P(^AUPNVPOV(APCL2,0),U,12)="P" S APCL1=APCL2
 Q