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

APCLVL1.m

Go to the documentation of this file.
  1. APCLVL1 ; IHS/CMI/LAB - PROCESS VISIT LIST ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;
  1. ;
  1. ;
  1. START ;
  1. S (APCLBT,APCLBTH)=$H,APCLJOB=$J,APCLRCNT=0
  1. D XTMP^APCLOSUT("APCLVL","PCC GENERAL RETRIEVAL")
  1. D @APCLTYPE,END
  1. Q
  1. ;
  1. VP ;run with search template of patients, visit gen
  1. S X1=APCLBD,X2=-1 D C^%DTC S APCLSD=X
  1. S APCLODAT=APCLSD_".9999" F S APCLODAT=$O(^AUPNVSIT("B",APCLODAT)) Q:APCLODAT=""!((APCLODAT\1)>APCLED) D VP1
  1. Q
  1. VP1 ;
  1. S APCLVIEN="" F S APCLVIEN=$O(^AUPNVSIT("B",APCLODAT,APCLVIEN)) Q:APCLVIEN'=+APCLVIEN I $D(^AUPNVSIT(APCLVIEN,0)),$P(^(0),U,9),'$P(^(0),U,11) S DFN=$P(^AUPNVSIT(APCLVIEN,0),U,5) D
  1. .Q:'$D(^DIBT(APCLSEAT,1,DFN)) ;quit if patient not in search template
  1. .D PROC
  1. .Q
  1. Q
  1. VR ;run withREGISTER of patients, visit gen
  1. S X1=APCLBD,X2=-1 D C^%DTC S APCLSD=X
  1. S APCLODAT=APCLSD_".9999" F S APCLODAT=$O(^AUPNVSIT("B",APCLODAT)) Q:APCLODAT=""!((APCLODAT\1)>APCLED) D VR1
  1. Q
  1. VR1 ;
  1. S APCLVIEN="" F S APCLVIEN=$O(^AUPNVSIT("B",APCLODAT,APCLVIEN)) Q:APCLVIEN'=+APCLVIEN I $D(^AUPNVSIT(APCLVIEN,0)),$P(^(0),U,9),'$P(^(0),U,11) S DFN=$P(^AUPNVSIT(APCLVIEN,0),U,5) D
  1. .Q:'$D(^ACM(41,"AC",DFN,APCLCMSR)) ;quit if patient not in REGISTER
  1. .S I=^ACM(41,"AC",DFN,APCLCMSR)
  1. .I $D(APCLCMSS) S S=$P($G(^ACM(41,I,"DT")),U) Q:S="" Q:'$D(APCLCMSS(S))
  1. .D PROC
  1. .Q
  1. Q
  1. VV ;run by search template
  1. S APCLVIEN=0 F S APCLVIEN=$O(^DIBT(APCLSEAT,1,APCLVIEN)) Q:APCLVIEN'=+APCLVIEN I $D(^AUPNVSIT(APCLVIEN,0)),$P(^(0),U,9),'$P(^(0),U,11) D
  1. .S X=$P($P(^AUPNVSIT(APCLVIEN,0),U),".")
  1. .Q:X>APCLED
  1. .Q:X<APCLBD
  1. .D PROC
  1. .Q
  1. Q
  1. VS ; Run by visit date
  1. S X1=APCLBD,X2=-1 D C^%DTC S APCLSD=X
  1. S APCLODAT=APCLSD_".9999" F S APCLODAT=$O(^AUPNVSIT("B",APCLODAT)) Q:APCLODAT=""!((APCLODAT\1)>APCLED) D V1
  1. Q
  1. ;
  1. PP ;
  1. S APCLVIEN=0 F S APCLVIEN=$O(^DPT(APCLVIEN)) Q:APCLVIEN'=+APCLVIEN I '$P(^DPT(APCLVIEN,0),U,19),'$$DEMO^APCLUTL(APCLVIEN,$G(APCLDEMO)) D PROC
  1. ;S APCLVIEN=1040 F S APCLVIEN=$O(^DPT(APCLVIEN)) Q:APCLVIEN>1041 I '$P(^DPT(APCLVIEN,0),U,19),$$DEMO^APCLUTL(APCLVIEN) D PROC
  1. Q
  1. ;
  1. PS ;
  1. S APCLVIEN=0 F S APCLVIEN=$O(^DIBT(APCLSEAT,1,APCLVIEN)) Q:APCLVIEN'=+APCLVIEN I $D(^DPT(APCLVIEN,0)),'$P(^(0),U,19) D PROC
  1. Q
  1. ;
  1. PR ; register
  1. S APCLCMSV=0 F S APCLCMSV=$O(^ACM(41,"B",APCLCMSR,APCLCMSV)) Q:APCLCMSV'=+APCLCMSV D
  1. .I $D(APCLCMSS) S S=$P($G(^ACM(41,APCLCMSV,"DT")),U) Q:S="" Q:'$D(APCLCMSS(S))
  1. .S APCLVIEN=$P(^ACM(41,APCLCMSV,0),U,2)
  1. .D PROC
  1. .Q
  1. Q
  1. END ;
  1. S APCLET=$H
  1. Q
  1. V1 ;
  1. S APCLVIEN="" F S APCLVIEN=$O(^AUPNVSIT("B",APCLODAT,APCLVIEN)) Q:APCLVIEN'=+APCLVIEN I $D(^AUPNVSIT(APCLVIEN,0)),$P(^(0),U,9),'$P(^(0),U,11),'$$DEMO^APCLUTL($P(^AUPNVSIT(APCLVIEN,0),U,5),$G(APCLDEMO)) D PROC
  1. Q
  1. PROC ;
  1. K APCLSPEC
  1. I APCLPTVS="V" S APCLVREC=^AUPNVSIT(APCLVIEN,0),DFN=$P(APCLVREC,U,5)
  1. I APCLPTVS="P" S DFN=APCLVIEN
  1. Q:'$D(^DPT(DFN,0))
  1. Q:'$D(^AUPNPAT(DFN,0))
  1. Q:$$DEMO^APCLUTL(DFN,$G(APCLDEMO))
  1. D SCREENS
  1. Q:$D(APCLSKIP)
  1. K APCLSRT,APCLPRNT S APCLCRIT=APCLSORT,APCLX=0
  1. X:$D(^APCLVSTS(APCLSORT,4)) ^APCLVSTS(APCLSORT,4) I '$D(APCLPRNT) D
  1. . I APCLPTVS="V" S Y=$P($P(APCLVREC,U),".") S APCLPRNT=Y Q
  1. . S APCLPRNT=$P(^DPT(DFN,0),U)
  1. .Q
  1. S APCLSRT=APCLPRNT
  1. D SUBPAT
  1. S ^XTMP("APCLVL",APCLJOB,APCLBTH,"DATA HITS",APCLSRT,APCLVIEN)="",APCLRCNT=APCLRCNT+1
  1. Q:$D(^XTMP("APCLVL",APCLJOB,APCLBTH,"PATIENTS",DFN))
  1. S ^XTMP("APCLVL",APCLJOB,APCLBTH,"PATIENTS",DFN)="",APCLPTCT=APCLPTCT+1
  1. Q
  1. SUBPAT ;tally # of patients by sort value on detailed/subtotal
  1. Q:APCLCTYP="C"
  1. Q:APCLCTYP="P"
  1. Q:APCLCTYP="F"
  1. Q:APCLCTYP="T"
  1. Q:APCLCTYP="L"
  1. S:$G(APCLSRT)="" APCLSRT="????"
  1. Q:$D(^XTMP("APCLVL",APCLJOB,APCLBTH,"SUB PATIENT HIT",APCLSRT,DFN))
  1. S:'$D(^XTMP("APCLVL",APCLJOB,APCLBTH,"SUB PAT COUNT",APCLSRT)) ^XTMP("APCLVL",APCLJOB,APCLBTH,"SUB PAT COUNT",APCLSRT)=0
  1. S ^XTMP("APCLVL",APCLJOB,APCLBTH,"SUB PAT COUNT",APCLSRT)=^XTMP("APCLVL",APCLJOB,APCLBTH,"SUB PAT COUNT",APCLSRT)+1
  1. Q:$D(^XTMP("APCLVL",APCLJOB,APCLBTH,"SUB PATIENT HIT",APCLSRT,DFN))
  1. S ^XTMP("APCLVL",APCLJOB,APCLBTH,"SUB PATIENT HIT",APCLSRT,DFN)=""
  1. Q
  1. SCREENS ;
  1. K APCLSKIP
  1. S APCLI=0 F S APCLI=$O(^APCLVRPT(APCLRPT,11,APCLI)) Q:APCLI'=+APCLI!($D(APCLSKIP)) D
  1. .I '$P(^APCLVSTS(APCLI,0),U,8) D SINGLE Q
  1. .D MULT
  1. .Q
  1. Q
  1. SINGLE ;
  1. K X,APCLSPEC S X="",APCLX=0
  1. X:$D(^APCLVSTS(APCLI,1)) ^(1)
  1. I X="" S APCLSKIP="" Q
  1. I '$D(APCLSPEC),'$D(^APCLVRPT(APCLRPT,11,APCLI,11,"B",X)) S APCLSKIP="" Q
  1. Q
  1. MULT ;
  1. K APCLFOUN,APCLSKIP,APCLSPEC,X S APCLX=0,X=""
  1. X:$D(^APCLVSTS(APCLI,1)) ^(1)
  1. I $O(X(""))="" S APCLSKIP="" Q
  1. I '$D(APCLSPEC) S Y="" F S Y=$O(X(Y)) Q:Y="" I $D(^APCLVRPT(APCLRPT,11,APCLI,11,"B",Y)) S APCLFOUN="" Q
  1. I $D(APCLSPEC),$G(X) S APCLFOUN=1 Q
  1. S:'$D(APCLFOUN) APCLSKIP=""
  1. Q
  1. XIT ;EP - CALLED FROM APCLVL
  1. K APCLBD,APCLBDD,APCLED,APCLEDD,APCLSD,APCLSORT,APCLSORV,APCLTCW,APCLRPT,APCLLHDR,APCLDISP,%H,APCLET,APCLLINE,APCLPRNM,APCLPRNT,APCLSKIP,APCLTYPE,APCLSPAG,APCLEN1,APCLSEAT,APCLPTVS,APCL,APCLCAND,APCLHDR,APCLHEAD,APCLSPEC,APCLOPT
  1. K APCLCTYP,APCLFLG,APCLG,APCLNAME,APCLNIFN,APCLSAVE,APCLTITL,APCLQUIT,APCLPCNT,APCLQFLG,APCLPTCT,APCLTL,APCLSRTR,APCLSRTV,APCLFILE,APCLJD,APCLFCNT,APCLX1,APCLX2,APCLSDAT
  1. K C,D,D0,DA,DIC,DD,DFN,DIADD,DLAYGO,DICR,DIE,DIK,DINUM,DIQ,DIR,DIRUT,DUOUT,DTOUT,DR,J,I,J,K,M,S,TS,X,Y,DIG,DIH,DIV,DQ,DDH,AMQQEN3,AMQQLX
  1. XIT1 ;EP
  1. K APCLANS,APCLBTH,APCLC,APCLCNT,APCLCRIT,APCLCUT,APCLD,APCLDISP,APCLDONE,APCLHIGH,APCLI,APCLJOB,APCLQMAN,APCLSEL,APCLTEXT,APCLVAR,APCLSKIP,APCLPRNT,APCLPRNM,APCLLINE,APCLRCNT,APCLSCNT,APCLDFET,APCLY,DFN
  1. K X,X1,X2,IO("Q"),%,Y,POP,DIRUT,H,S,TS,M,DUOUT,DIR,DTOUT,V,Z,I,DIC,DIK,DIADD,DLAYGO,DA,DR,DIE,DIU,AMQQTAX,DINUM,APCLPACK,APCLEP1,APCLEP2,D,APCLLENG,APCLLHDR,APCLSAVE,AMQQND
  1. Q