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

ACMRLP.m

Go to the documentation of this file.
  1. ACMRLP ; IHS/TUCSON/TMJ - PRINT LISTER REPORT ; [ 06/01/1999 1:40 PM ]
  1. ;;2.0;ACM CASE MANAGEMENT SYSTEM;**1**;JAN 10, 1996
  1. ;IHS/CMI/LAB - patch 1 tmp to xtmp, flat file
  1. ;IHS/CMI/LAB - tmp to xtmp
  1. START ;EP - Set up header line, dash line
  1. K ^TMP("AMHFLAT",$J) ;IHS/CMI/LAB
  1. I ACMCTYP="F" D FLATP^ACMRLF G DONE ;IHS/CMI/LAB
  1. S X=0,ACMHEAD="" F S X=$O(^ACM(58.8,ACMRPT,12,X)) Q:X'=+X S ACMHDR=$P(^ACM(58.1,$P(^ACM(58.8,ACMRPT,12,X,0),U),0),U,6),ACMLENG=$P(^ACM(58.8,ACMRPT,12,X,0),U,2),ACMHDR=$E(ACMHDR,1,ACMLENG) D
  1. .S J=$L(ACMHDR),ACMHEAD=ACMHEAD_ACMHDR,K=$P(^ACM(58.8,ACMRPT,12,X,0),U,2)+1 F I=J:1:K S ACMHEAD=ACMHEAD_" "
  1. .Q
  1. S ACMDASH="",$P(ACMDASH,"-",ACMTCW)="-"
  1. D COVPAGE^ACMRLP1 ;print cover page - note: if user ^'s out of cover page, processing continues
  1. PROC ;process printing of report
  1. I ACMCTYP="T" G DONE ;--- if displaying only total, that was done in the cover page - go to done
  1. S ACMPG=0 I '$D(^XTMP("ACMRL",ACMJOB,ACMBTH)) G DONE
  1. S (ACMSRTV,ACMFRST)="" K ACMQUIT
  1. F S ACMSRTV=$O(^XTMP("ACMRL",ACMJOB,ACMBTH,"DATA HITS",ACMSRTV)) Q:ACMSRTV=""!($D(ACMQUIT)) D V
  1. G:$D(ACMQUIT) DONE
  1. I $Y>(IOSL-4) D HEAD G:$D(ACMQUIT) DONE
  1. I $D(ACMRCNT) W !!!,"Total Patients ",ACMRCNT
  1. DONE ;
  1. D DONE^ACMRLP2
  1. Q
  1. V ;GETS DATA HITS
  1. S ACMSCNT=0
  1. ;get readable sort value
  1. S ACMSRTR="",DFN=$O(^XTMP("ACMRL",ACMJOB,ACMBTH,"DATA HITS",ACMSRTV,0)) I DFN]"" S ACMCRIT=ACMSORT D
  1. .S ACMIFN=$G(^ACM(41,"AC",DFN,ACMRG)) X:$D(^ACM(58.1,ACMSORT,3)) ^(3) S ACMSRTR=ACMPRNT
  1. I $G(ACMSPAG)!($D(ACMFRST)) D HEAD Q:$D(ACMQUIT)
  1. K ACMFRST
  1. S DFN=0 F S DFN=$O(^XTMP("ACMRL",ACMJOB,ACMBTH,"DATA HITS",ACMSRTV,DFN)) Q:DFN'=+DFN!($D(ACMQUIT)) D
  1. .S ACMIFN=$G(^ACM(41,"AC",DFN,ACMRG)) D PRINT
  1. .Q
  1. Q:$D(ACMQUIT)
  1. I $Y>(IOSL-3) D HEAD Q:$D(ACMQUIT)
  1. W:$G(ACMSPAG) !!,"SUB-TOTAL for ",ACMSORV," ",ACMSRTR,": ",ACMSCNT
  1. W:ACMCTYP="S" !,?10,$E(ACMSRTR,1,30),?45,$J(ACMSCNT,8)
  1. Q
  1. PRINT ;
  1. S ACMSCNT=ACMSCNT+1 Q:ACMCTYP="S"
  1. K ^XTMP("ACMLINE",$J) S ^XTMP("ACMLINE",$J,1)=""
  1. I $Y>(IOSL-5) D HEAD Q:$D(ACMQUIT)
  1. S ACMI=0 F S ACMI=$O(^ACM(58.8,ACMRPT,12,ACMI)) Q:ACMI'=+ACMI!($D(ACMQUIT)) S ACMCRIT=$P(^ACM(58.8,ACMRPT,12,ACMI,0),U) D
  1. .I '$P(^ACM(58.1,ACMCRIT,0),U,8) D SINGLE Q
  1. .D MULT
  1. .Q
  1. S ACMX=0 F S ACMX=$O(^XTMP("ACMLINE",$J,ACMX)) Q:ACMX'=+ACMX!($D(ACMQUIT)) D
  1. .I $Y>(IOSL-4) D HEAD Q:$D(ACMQUIT)
  1. .W !,^XTMP("ACMLINE",$J,ACMX)
  1. Q
  1. SINGLE ;process single valued item
  1. K ACMPRNT
  1. S ACMX=0
  1. X:$D(^ACM(58.1,ACMCRIT,3)) ^(3)
  1. S ACMLENG=$P(^ACM(58.8,ACMRPT,12,ACMI,0),U,2),ACMPRNT=$E(ACMPRNT,1,ACMLENG) D
  1. .S J=$L(ACMPRNT),^XTMP("ACMLINE",$J,1)=^XTMP("ACMLINE",$J,1)_ACMPRNT,K=$P(^ACM(58.8,ACMRPT,12,ACMI,0),U,2)+1 F I=J:1:K S ^XTMP("ACMLINE",$J,1)=^XTMP("ACMLINE",$J,1)_" "
  1. .S X=1 F S X=$O(^XTMP("ACMLINE",$J,X)) Q:X'=+X I $L(^XTMP("ACMLINE",$J,X))<$L(^XTMP("ACMLINE",$J,1)) S K=$L(^XTMP("ACMLINE",$J,X))+1,J=$L(^XTMP("ACMLINE",$J,1)) F I=K:1:J S ^XTMP("ACMLINE",$J,X)=^XTMP("ACMLINE",$J,X)_" "
  1. Q
  1. MULT ;
  1. K ACMPRNT,ACMPRNM S (ACMX,ACMPCNT)=0
  1. X:$D(^ACM(58.1,ACMCRIT,3)) ^(3)
  1. I '$D(ACMPRNM) S ACMPRNT="--" D
  1. .S ACMLENG=$P(^ACM(58.8,ACMRPT,12,ACMI,0),U,2),ACMPRNT=$E(ACMPRNT,1,ACMLENG) D
  1. ..S J=$L(ACMPRNT),^XTMP("ACMLINE",$J,1)=^XTMP("ACMLINE",$J,1)_ACMPRNT,K=$P(^ACM(58.8,ACMRPT,12,ACMI,0),U,2)+1 F I=J:1:K S ^XTMP("ACMLINE",$J,1)=^XTMP("ACMLINE",$J,1)_" "
  1. S X=0 F S X=$O(ACMPRNM(X)) Q:X'=+X D
  1. .I X=1 D Q
  1. ..S ACMLENG=$P(^ACM(58.8,ACMRPT,12,ACMI,0),U,2),ACMPRNT=$E(ACMPRNM(1),1,ACMLENG) D
  1. ...S J=$L(ACMPRNT),^XTMP("ACMLINE",$J,1)=^XTMP("ACMLINE",$J,1)_ACMPRNT,K=$P(^ACM(58.8,ACMRPT,12,ACMI,0),U,2)+1 F I=J:1:K S ^XTMP("ACMLINE",$J,1)=^XTMP("ACMLINE",$J,1)_" "
  1. .S ACMLENG=$P(^ACM(58.8,ACMRPT,12,ACMI,0),U,2),ACMPRNT=$E(ACMPRNM(X),1,ACMLENG) D
  1. ..I '$D(^XTMP("ACMLINE",$J,X)) S ^XTMP("ACMLINE",$J,X)="",K=$P(^ACM(58.8,ACMRPT,12,ACMI,0),U,2)+1,$P(^XTMP("ACMLINE",$J,X)," ",($L(^XTMP("ACMLINE",$J,1))-K))=""
  1. ..S J=$L(ACMPRNT),^XTMP("ACMLINE",$J,X)=^XTMP("ACMLINE",$J,X)_ACMPRNT,K=$P(^ACM(58.8,ACMRPT,12,ACMI,0),U,2)+1 F I=J:1:K S ^XTMP("ACMLINE",$J,X)=^XTMP("ACMLINE",$J,X)_" "
  1. S X=1 F S X=$O(^XTMP("ACMLINE",$J,X)) Q:X'=+X I $L(^XTMP("ACMLINE",$J,X))<$L(^XTMP("ACMLINE",$J,1)) S K=$L(^XTMP("ACMLINE",$J,X))+1,J=$L(^XTMP("ACMLINE",$J,1)) F I=K:1:J S ^XTMP("ACMLINE",$J,X)=^XTMP("ACMLINE",$J,X)_" "
  1. Q
  1. DIQ ;
  1. K ACMPRNT,ACMFILE,ACMFIEL
  1. S ACMFILE=$P($P(^ACM(58.1,ACMCRIT,0),U,4),","),ACMFIEL=$P($P(^(0),U,4),",",2)
  1. S DIQ(0)="EN",DIQ="ACMPRNT(",DIC=ACMFILE,DR=ACMFIEL D EN^DIQ1 K DIC,DR,DIQ
  1. I '$D(ACMPRNT(ACMFILE,DA,ACMFIEL,"E")) S ACMPRNT(ACMFILE,DA,ACMFIEL,"E")="--"
  1. S ACMPRNT=ACMPRNT(ACMFILE,DA,ACMFIEL,"E")
  1. Q
  1. D HEAD^ACMRLP2
  1. Q