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

BMCRLP.m

Go to the documentation of this file.
  1. BMCRLP ; IHS/PHXAO/TMJ - PRINT REFERRAL REPORT ;
  1. ;;4.0;REFERRED CARE INFO SYSTEM;;JAN 09, 2006
  1. ;IHS/ITSC/FCJ ADDED NUMERIC DATE FORMAT PRINT
  1. ;4.0 IHS/ITSC/FCJ MODIFIED "R" OPTION, ALL REF WERE NOT PRINTED
  1. ;4.0 IHS/ITSC/FCJ ADDED SUFFIX TO PRINT WITH REFERRAL #
  1. ;
  1. START ;EP - Set up header line, dash line
  1. S X=0,BMCHEAD="" F S X=$O(^BMCRTMP(BMCRPT,12,X)) Q:X'=+X S BMCHDR=$P(^BMCTSORT($P(^BMCRTMP(BMCRPT,12,X,0),U),0),U,6),BMCLENG=$P(^BMCRTMP(BMCRPT,12,X,0),U,2),BMCHDR=$E(BMCHDR,1,BMCLENG) D
  1. .S J=$L(BMCHDR),BMCHEAD=BMCHEAD_BMCHDR,K=$P(^BMCRTMP(BMCRPT,12,X,0),U,2)+1 F I=J:1:K S BMCHEAD=BMCHEAD_" "
  1. S BMCDASH="",$P(BMCDASH,"-",BMCTCW)="-"
  1. D COVPAGE^BMCRLP1 ;print cover page - note: if user ^'s out of cover page, processing continues
  1. PROC ;process printing of report
  1. S BMCPG=0
  1. I BMCCTYP="T" G DONE ;--- if displaying only total, that was done in the cover page - go to done
  1. I BMCCTYP="N" D N^BMCRLP2 G TOT
  1. I '$D(^XTMP("BMCRL",BMCJOB,BMCBTH)) G DONE
  1. S (BMCSRTV,BMCFRST)="" K BMCQUIT
  1. F S BMCSRTV=$O(^XTMP("BMCRL",BMCJOB,BMCBTH,"DATA HITS",BMCSRTV)) Q:BMCSRTV=""!($D(BMCQUIT)) D V
  1. G:$D(BMCQUIT) DONE
  1. TOT ;
  1. G:$G(BMCCTYP)="R" DONE
  1. I $Y>(IOSL-4) D HEAD G:$D(BMCQUIT) DONE
  1. I $D(BMCRCNT) W !!!,"Total ",$S(BMCPTVS="P":"Patients",1:"Referrals"),": ",BMCRCNT
  1. I $G(BMCPTVS)="R" W !,"Total Patients: ",BMCPTCT
  1. DONE ;
  1. D DONE^BMCRLP2
  1. Q
  1. V ;GETS DATA HITS
  1. S BMCSCNT=0
  1. ;get readable sort value
  1. ;2.17.05 IHS/ITSC/FCJ MODIFIED NEXT LINE, IT WAS NOT PICKING UP ALL REF
  1. ;S BMCSRTR="",BMCREF=$O(^XTMP("BMCRL",BMCJOB,BMCBTH,"DATA HITS",BMCSRTV,0)) I BMCREF]"" S BMCCRIT=BMCSORT D
  1. S BMCSRTR="",BMCREF="" F S BMCREF=$O(^XTMP("BMCRL",BMCJOB,BMCBTH,"DATA HITS",BMCSRTV,BMCREF)) Q:BMCREF'?1N.N I BMCREF]"" S BMCCRIT=BMCSORT D
  1. .I $G(BMCCTYP)="R" D R^BMCRLP2 Q ;2.17.05 IHS/ITSC/FCJ ADDED $G
  1. .I BMCPTVS="R" S BMCRREC=^BMCREF(BMCREF,0),DFN=$P(BMCRREC,U,3) X:$D(^BMCTSORT(BMCSORT,3)) ^(3) S BMCSRTR=BMCPRNT
  1. .I BMCPTVS="P" S DFN=BMCREF X:$D(^BMCTSORT(BMCSORT,3)) ^(3) S BMCSRTR=BMCPRNT
  1. I $G(BMCSPAG)!($D(BMCFRST)) D HEAD Q:$D(BMCQUIT)
  1. K BMCFRST
  1. S BMCREF=0 F S BMCREF=$O(^XTMP("BMCRL",BMCJOB,BMCBTH,"DATA HITS",BMCSRTV,BMCREF)) Q:BMCREF'=+BMCREF!($D(BMCQUIT)) D
  1. .I BMCPTVS="R" S BMCRREC=^BMCREF(BMCREF,0),DFN=$P(BMCRREC,U,3) D PRINT Q
  1. .S DFN=BMCREF D PRINT
  1. Q:$D(BMCQUIT)
  1. I $Y>(IOSL-3) D HEAD Q:$D(BMCQUIT)
  1. W:$G(BMCSPAG) !!,"SUB-TOTAL for ",BMCSORV," ",BMCSRTR,": ",BMCSCNT
  1. W:$G(BMCCTYP)="S" !,?10,$E(BMCSRTR,1,30),?45,$J(BMCSCNT,8) ;2.17.05 IHS/ITSC/FCJ ADDED $G
  1. Q
  1. PRINT ;
  1. S BMCSCNT=BMCSCNT+1 Q:$G(BMCCTYP)="S" ;2.17.05 IHS/ITSC/FCJ ADDED $G
  1. K ^XTMP("BMCLINE",$J) S ^XTMP("BMCLINE",$J,1)=""
  1. I $Y>(IOSL-5) D HEAD Q:$D(BMCQUIT)
  1. S BMCI=0 F S BMCI=$O(^BMCRTMP(BMCRPT,12,BMCI)) Q:BMCI'=+BMCI!($D(BMCQUIT)) S BMCCRIT=$P(^BMCRTMP(BMCRPT,12,BMCI,0),U) D
  1. .I '$P(^BMCTSORT(BMCCRIT,0),U,8) D SINGLE Q
  1. .D MULT
  1. .Q
  1. S BMCX=0 F S BMCX=$O(^XTMP("BMCLINE",$J,BMCX)) Q:BMCX'=+BMCX!($D(BMCQUIT)) D
  1. .I $Y>(IOSL-4) D HEAD Q:$D(BMCQUIT)
  1. .W !,^XTMP("BMCLINE",$J,BMCX)
  1. Q
  1. SINGLE ;process single valued item
  1. K BMCPRNT
  1. S BMCX=0
  1. X:$D(^BMCTSORT(BMCCRIT,3)) ^(3)
  1. S BMCLENG=$P(^BMCRTMP(BMCRPT,12,BMCI,0),U,2),BMCPRNT=$E(BMCPRNT,1,BMCLENG) D
  1. .S J=$L(BMCPRNT),^XTMP("BMCLINE",$J,1)=^XTMP("BMCLINE",$J,1)_BMCPRNT,K=$P(^BMCRTMP(BMCRPT,12,BMCI,0),U,2)+1 F I=J:1:K S ^XTMP("BMCLINE",$J,1)=^XTMP("BMCLINE",$J,1)_" "
  1. .S X=1 F S X=$O(^XTMP("BMCLINE",$J,X)) Q:X'=+X I $L(^XTMP("BMCLINE",$J,X))<$L(^XTMP("BMCLINE",$J,1)) S K=$L(^XTMP("BMCLINE",$J,X))+1,J=$L(^XTMP("BMCLINE",$J,1)) F I=K:1:J S ^XTMP("BMCLINE",$J,X)=^XTMP("BMCLINE",$J,X)_" "
  1. Q
  1. MULT ;
  1. K BMCPRNT,BMCPRNM S (BMCX,BMCPCNT)=0
  1. X:$D(^BMCTSORT(BMCCRIT,3)) ^(3)
  1. I '$D(BMCPRNM) S BMCPRNT="--" D
  1. .S BMCLENG=$P(^BMCRTMP(BMCRPT,12,BMCI,0),U,2),BMCPRNT=$E(BMCPRNT,1,BMCLENG) D
  1. ..S J=$L(BMCPRNT),^XTMP("BMCLINE",$J,1)=^XTMP("BMCLINE",$J,1)_BMCPRNT,K=$P(^BMCRTMP(BMCRPT,12,BMCI,0),U,2)+1 F I=J:1:K S ^XTMP("BMCLINE",$J,1)=^XTMP("BMCLINE",$J,1)_" "
  1. S X=0 F S X=$O(BMCPRNM(X)) Q:X'=+X D
  1. .I X=1 D Q
  1. ..S BMCLENG=$P(^BMCRTMP(BMCRPT,12,BMCI,0),U,2),BMCPRNT=$E(BMCPRNM(1),1,BMCLENG) D
  1. ...S J=$L(BMCPRNT),^XTMP("BMCLINE",$J,1)=^XTMP("BMCLINE",$J,1)_BMCPRNT,K=$P(^BMCRTMP(BMCRPT,12,BMCI,0),U,2)+1 F I=J:1:K S ^XTMP("BMCLINE",$J,1)=^XTMP("BMCLINE",$J,1)_" "
  1. .S BMCLENG=$P(^BMCRTMP(BMCRPT,12,BMCI,0),U,2),BMCPRNT=$E(BMCPRNM(X),1,BMCLENG) D
  1. ..I '$D(^XTMP("BMCLINE",$J,X)) S ^XTMP("BMCLINE",$J,X)="",K=$P(^BMCRTMP(BMCRPT,12,BMCI,0),U,2)+1,$P(^XTMP("BMCLINE",$J,X)," ",($L(^XTMP("BMCLINE",$J,1))-K))=""
  1. ..S J=$L(BMCPRNT),^XTMP("BMCLINE",$J,X)=^XTMP("BMCLINE",$J,X)_BMCPRNT,K=$P(^BMCRTMP(BMCRPT,12,BMCI,0),U,2)+1 F I=J:1:K S ^XTMP("BMCLINE",$J,X)=^XTMP("BMCLINE",$J,X)_" "
  1. S X=1 F S X=$O(^XTMP("BMCLINE",$J,X)) Q:X'=+X I $L(^XTMP("BMCLINE",$J,X))<$L(^XTMP("BMCLINE",$J,1)) S K=$L(^XTMP("BMCLINE",$J,X))+1,J=$L(^XTMP("BMCLINE",$J,1)) F I=K:1:J S ^XTMP("BMCLINE",$J,X)=^XTMP("BMCLINE",$J,X)_" "
  1. Q
  1. DIQ ;EP FROM REPORT LIST FILE
  1. K BMCPRNT,BMCFILE,BMCFIEL
  1. S BMCFILE=$P($P(^BMCTSORT(BMCCRIT,0),U,4),","),BMCFIEL=$P($P(^(0),U,4),",",2)
  1. S DIQ(0)="ENI",DIQ="BMCPRNT(",DIC=BMCFILE,DR=BMCFIEL D EN^DIQ1 K DIC,DR,DIQ
  1. I BMCFIEL=".02" S BMCPRNT=BMCPRNT(BMCFILE,DA,BMCFIEL,"E")_$P($G(^BMCREF(DA,1)),U),BMCPRNT(BMCFILE,DA,BMCFIEL,"E")=BMCPRNT Q
  1. I '$D(BMCPRNT(BMCFILE,DA,BMCFIEL,"E")) S (BMCPRNT,BMCPRNT(BMCFILE,DA,BMCFIEL,"E"))="--" Q
  1. I $P(^BMCTSORT(BMCCRIT,0),U)="Date of Birth" S Y=BMCPRNT(BMCFILE,DA,BMCFIEL,"I") D DT^BMCOSUT S BMCPRNT=Y Q
  1. I $P(^BMCTSORT(BMCCRIT,0),U,2)="D" S Y=BMCPRNT(BMCFILE,DA,BMCFIEL,"I") D DT1^BMCOSUT S BMCPRNT=Y Q
  1. S BMCPRNT=BMCPRNT(BMCFILE,DA,BMCFIEL,"E")
  1. Q
  1. D HEAD^BMCRLP2
  1. Q