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

BCHRLP.m

Go to the documentation of this file.
  1. BCHRLP ; IHS/CMI/LAB - PRINT CHR RECORD REPORT ;
  1. ;;2.0;IHS RPMS CHR SYSTEM;;OCT 23, 2012;Build 27
  1. ;
  1. ;IHS/CMI/LAB - tmp to xtmp
  1. ;CMI/TUCSON/LAB - modified 2 lines to replace a reference to the 8th piece to a reference to 4th piece 6/22/98 patch 5
  1. START ;EP - Set up header line, dash line
  1. S X=0,BCHHEAD="" F S X=$O(^BCHTRPT(BCHRPT,12,X)) Q:X'=+X S BCHHDR=$P(^BCHSORT($P(^BCHTRPT(BCHRPT,12,X,0),U),0),U,6),BCHLENG=$P(^BCHTRPT(BCHRPT,12,X,0),U,2),BCHHDR=$E(BCHHDR,1,BCHLENG) D
  1. .S J=$L(BCHHDR),BCHHEAD=BCHHEAD_BCHHDR,K=$P(^BCHTRPT(BCHRPT,12,X,0),U,2)+1 F I=J:1:K S BCHHEAD=BCHHEAD_" "
  1. .Q
  1. S BCHDASH="",$P(BCHDASH,"-",BCHTCW)="-"
  1. D COVPAGE^BCHRLP1 ;print cover page - note: if user ^'s out of cover page, processing continues
  1. PROC ;process printing of report
  1. I BCHCTYP="T" G DONE ;--- if displaying only total, that was done in the cover page - go to done
  1. S BCHPG=0 I '$D(^XTMP("BCHRL",BCHJOB,BCHBTH)) G DONE
  1. S (BCHSRTV,BCHFRST)="" K BCHQUIT
  1. F S BCHSRTV=$O(^XTMP("BCHRL",BCHJOB,BCHBTH,"DATA HITS",BCHSRTV)) Q:BCHSRTV=""!($D(BCHQUIT)) D V
  1. G:$D(BCHQUIT) DONE
  1. I $Y>(IOSL-4) D HEAD G:$D(BCHQUIT) DONE
  1. I $D(BCHRCNT),BCHPTVS="V" W !!!,"Total ",$S(BCHPTVS="P":"Patients",1:"Records"),": ",BCHRCNT
  1. ;W !!,"Total Patients: ",BCHPTCT
  1. DONE ;
  1. D DONE^BCHUTIL1
  1. Q
  1. V ;GETS DATA HITS
  1. S BCHSCNT=0
  1. ;get readable sort value
  1. S BCHSRTR="",BCHR=$O(^XTMP("BCHRL",BCHJOB,BCHBTH,"DATA HITS",BCHSRTV,"")) I BCHR]"" S BCHCRIT=BCHSORT D
  1. .I BCHPTVS="V" S BCHR0=^BCHR(BCHR,0),DFN=$P(BCHR0,U,4) X:$D(^BCHSORT(BCHSORT,3)) ^(3) S BCHSRTR=BCHPRNT ;CMI/TUCSON/LAB - changed ,U,8 to ,U,4 PATCH 5 6/22/98
  1. .I BCHPTVS="P" S DFN=BCHR X:$D(^BCHSORT(BCHSORT,3)) ^(3) S BCHSRTR=BCHPRNT
  1. I $G(BCHSPAG)!($D(BCHFRST)) D HEAD Q:$D(BCHQUIT)
  1. K BCHFRST
  1. S BCHR=0 F S BCHR=$O(^XTMP("BCHRL",BCHJOB,BCHBTH,"DATA HITS",BCHSRTV,BCHR)) Q:BCHR'=+BCHR!($D(BCHQUIT)) D
  1. .I BCHPTVS="V" S BCHR0=^BCHR(BCHR,0),DFN=$P(BCHR0,U,4) D PRINT Q ;CMI/TUCSON/LAB - changed 8 to 4 patch 5 6/22/98
  1. .S DFN=BCHR D PRINT
  1. .Q
  1. Q:$D(BCHQUIT)
  1. I $Y>(IOSL-3) D HEAD Q:$D(BCHQUIT)
  1. W:$G(BCHSPAG) !!,"SUB-TOTAL for ",BCHSORV," ",BCHSRTR,": ",BCHSCNT
  1. W:BCHCTYP="S" !?10,$E(BCHSRTR,1,30),?45,$J(BCHSCNT,8)
  1. Q
  1. PRINT ;
  1. S BCHSCNT=BCHSCNT+1 Q:BCHCTYP="S"
  1. K ^XTMP("BCHLINE",$J) S ^XTMP("BCHLINE",$J,1)=""
  1. I $Y>(IOSL-5) D HEAD Q:$D(BCHQUIT)
  1. S BCHI=0 F S BCHI=$O(^BCHTRPT(BCHRPT,12,BCHI)) Q:BCHI'=+BCHI!($D(BCHQUIT)) S BCHCRIT=$P(^BCHTRPT(BCHRPT,12,BCHI,0),U) D
  1. .I '$P(^BCHSORT(BCHCRIT,0),U,8) D SINGLE Q
  1. .D MULT
  1. .Q
  1. S BCHX=0 F S BCHX=$O(^XTMP("BCHLINE",$J,BCHX)) Q:BCHX'=+BCHX!($D(BCHQUIT)) D
  1. .I $Y>(IOSL-4) D HEAD Q:$D(BCHQUIT)
  1. .W !,^XTMP("BCHLINE",$J,BCHX)
  1. Q
  1. SINGLE ;process single valued item
  1. K BCHPRNT
  1. S BCHX=0
  1. X:$D(^BCHSORT(BCHCRIT,3)) ^(3) I $G(BCHPRNT)="" S BCHPRNT="--"
  1. S BCHLENG=$P(^BCHTRPT(BCHRPT,12,BCHI,0),U,2),BCHPRNT=$E($G(BCHPRNT),1,BCHLENG) D
  1. .S J=$L(BCHPRNT),^XTMP("BCHLINE",$J,1)=^XTMP("BCHLINE",$J,1)_BCHPRNT,K=$P(^BCHTRPT(BCHRPT,12,BCHI,0),U,2)+1 F I=J:1:K S ^XTMP("BCHLINE",$J,1)=^XTMP("BCHLINE",$J,1)_" "
  1. .S X=1 F S X=$O(^XTMP("BCHLINE",$J,X)) Q:X'=+X I $L(^XTMP("BCHLINE",$J,X))<$L(^XTMP("BCHLINE",$J,1)) S K=$L(^XTMP("BCHLINE",$J,X))+1,J=$L(^XTMP("BCHLINE",$J,1)) F I=K:1:J S ^XTMP("BCHLINE",$J,X)=^XTMP("BCHLINE",$J,X)_" "
  1. Q
  1. MULT ;
  1. K BCHPRNT,BCHPRNM S (BCHX,BCHPCNT)=0
  1. X:$D(^BCHSORT(BCHCRIT,3)) ^(3)
  1. I '$D(BCHPRNM) S BCHPRNT="--" D
  1. .S BCHLENG=$P(^BCHTRPT(BCHRPT,12,BCHI,0),U,2),BCHPRNT=$E(BCHPRNT,1,BCHLENG) D
  1. ..S J=$L(BCHPRNT),^XTMP("BCHLINE",$J,1)=^XTMP("BCHLINE",$J,1)_BCHPRNT,K=$P(^BCHTRPT(BCHRPT,12,BCHI,0),U,2)+1 F I=J:1:K S ^XTMP("BCHLINE",$J,1)=^XTMP("BCHLINE",$J,1)_" "
  1. S X=0 F S X=$O(BCHPRNM(X)) Q:X'=+X D
  1. .I X=1 D Q
  1. ..S BCHLENG=$P(^BCHTRPT(BCHRPT,12,BCHI,0),U,2),BCHPRNT=$E(BCHPRNM(1),1,BCHLENG) D
  1. ...S J=$L(BCHPRNT),^XTMP("BCHLINE",$J,1)=^XTMP("BCHLINE",$J,1)_BCHPRNT,K=$P(^BCHTRPT(BCHRPT,12,BCHI,0),U,2)+1 F I=J:1:K S ^XTMP("BCHLINE",$J,1)=^XTMP("BCHLINE",$J,1)_" "
  1. .S BCHLENG=$P(^BCHTRPT(BCHRPT,12,BCHI,0),U,2),BCHPRNT=$E(BCHPRNM(X),1,BCHLENG) D
  1. ..I '$D(^XTMP("BCHLINE",$J,X)) S ^XTMP("BCHLINE",$J,X)="",K=$P(^BCHTRPT(BCHRPT,12,BCHI,0),U,2)+1,$P(^XTMP("BCHLINE",$J,X)," ",($L(^XTMP("BCHLINE",$J,1))-K))=""
  1. ..S J=$L(BCHPRNT),^XTMP("BCHLINE",$J,X)=^XTMP("BCHLINE",$J,X)_BCHPRNT,K=$P(^BCHTRPT(BCHRPT,12,BCHI,0),U,2)+1 F I=J:1:K S ^XTMP("BCHLINE",$J,X)=^XTMP("BCHLINE",$J,X)_" "
  1. S X=1 F S X=$O(^XTMP("BCHLINE",$J,X)) Q:X'=+X I $L(^XTMP("BCHLINE",$J,X))<$L(^XTMP("BCHLINE",$J,1)) S K=$L(^XTMP("BCHLINE",$J,X))+1,J=$L(^XTMP("BCHLINE",$J,1)) F I=K:1:J S ^XTMP("BCHLINE",$J,X)=^XTMP("BCHLINE",$J,X)_" "
  1. Q
  1. DIQ ;
  1. K BCHPRNT,BCHFILE,BCHFIEL
  1. S BCHFILE=$P($P(^BCHSORT(BCHCRIT,0),U,4),","),BCHFIEL=$P($P(^(0),U,4),",",2)
  1. S DIQ(0)="EN",DIQ="BCHPRNT(",DIC=BCHFILE,DR=BCHFIEL D EN^DIQ1 K DIC,DR,DIQ
  1. I '$D(BCHPRNT(BCHFILE,DA,BCHFIEL,"E")) S BCHPRNT(BCHFILE,DA,BCHFIEL,"E")="--"
  1. S BCHPRNT=BCHPRNT(BCHFILE,DA,BCHFIEL,"E")
  1. Q
  1. D HEAD^BCHRLP2
  1. Q