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

APCLCP91.m

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