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

AMHRLP.m

Go to the documentation of this file.
  1. AMHRLP ; IHS/CMI/LAB - TUCSON-OHPRD/LAB - PRINT BH RECORD REPORT ;
  1. ;;4.0;IHS BEHAVIORAL HEALTH;;MAY 14, 2010
  1. START ;EP - Set up header line, dash line
  1. K ^XTMP("AMHFLAT",$J) ;just in case
  1. S X=0,AMHHEAD="" F S X=$O(^AMHTRPT(AMHRPT,12,X)) Q:X'=+X S AMHHDR=$P(^AMHSORT($P(^AMHTRPT(AMHRPT,12,X,0),U),0),U,6),AMHLENG=$P(^AMHTRPT(AMHRPT,12,X,0),U,2),AMHHDR=$E(AMHHDR,1,AMHLENG) D
  1. .S J=$L(AMHHDR),AMHHEAD=AMHHEAD_AMHHDR,K=$P(^AMHTRPT(AMHRPT,12,X,0),U,2)+1 F I=J:1:K S AMHHEAD=AMHHEAD_" "
  1. .Q
  1. S AMHDASH="",$P(AMHDASH,"-",AMHTCW)="-"
  1. D COVPAGE^AMHRLP1 ;print cover page - note: if user ^'s out of cover page, processing continues
  1. PROC ;process printing of report
  1. I AMHCTYP="T" G DONE ;--- if displaying only total, that was done in the cover page - go to done
  1. S AMHPG=0 I '$D(^XTMP("AMHRL",AMHJOB,AMHBTH)) G DONE
  1. S (AMHSRTV,AMHFRST)="" K AMHQUIT
  1. F S AMHSRTV=$O(^XTMP("AMHRL",AMHJOB,AMHBTH,"DATA HITS",AMHSRTV)) Q:AMHSRTV=""!($D(AMHQUIT)) D V
  1. G:$D(AMHQUIT) DONE
  1. I AMHCTYP="F" D WRITEF G DONE
  1. I $Y>(IOSL-4) D HEAD G:$D(AMHQUIT) DONE
  1. I $D(AMHRCNT),AMHPTVS="V" W !!!,"Total ",$S(AMHPTVS="P":"Patients",1:"Visits"),": ",AMHRCNT
  1. I $D(AMHRCNT),AMHPTVS="S" W !!!,"Total Number of Suicide Forms: ",AMHRCNT
  1. W !!,"Total Patients: ",AMHPTCT
  1. DONE ;
  1. D DONE^AMHRLP2
  1. Q
  1. V ;GETS DATA HITS
  1. S AMHSCNT=0
  1. ;get readable sort value
  1. S AMHSRTR="",AMHR=$O(^XTMP("AMHRL",AMHJOB,AMHBTH,"DATA HITS",AMHSRTV,"")) I AMHR]"" S AMHCRIT=AMHSORT D
  1. .I AMHPTVS="S" S AMHR0=^AMHPSUIC(AMHR,0),DFN=$P(AMHR0,U,4) X:$D(^AMHSORT(AMHSORT,3)) ^(3) S AMHSRTR=AMHPRNT
  1. .I AMHPTVS="V" S AMHR0=^AMHREC(AMHR,0),DFN=$P(AMHR0,U,8) X:$D(^AMHSORT(AMHSORT,3)) ^(3) S AMHSRTR=AMHPRNT
  1. .I AMHPTVS="P" S DFN=AMHR X:$D(^AMHSORT(AMHSORT,3)) ^(3) S AMHSRTR=AMHPRNT
  1. I $G(AMHSPAG)!($D(AMHFRST)) D HEAD Q:$D(AMHQUIT)
  1. K AMHFRST
  1. S AMHR=0 F S AMHR=$O(^XTMP("AMHRL",AMHJOB,AMHBTH,"DATA HITS",AMHSRTV,AMHR)) Q:AMHR'=+AMHR!($D(AMHQUIT)) D
  1. .I AMHPTVS="V" S AMHR0=^AMHREC(AMHR,0),DFN=$P(AMHR0,U,8) D PRINT Q
  1. .I AMHPTVS="S" S AMHR0=^AMHPSUIC(AMHR,0),DFN=$P(AMHR0,U,4) D PRINT Q
  1. .S DFN=AMHR D PRINT
  1. .Q
  1. Q:$D(AMHQUIT)
  1. I $Y>(IOSL-3) D HEAD Q:$D(AMHQUIT)
  1. ;W:$G(AMHSPAG) !!,"SUB-TOTAL for ",AMHSORV," ",AMHSRTR,": ",AMHSCNT
  1. ;W:AMHCTYP="S" !?10,$E(AMHSRTR,1,30),?45,$J(AMHSCNT,8)
  1. I $G(AMHSPAG) W !!,"SUB-TOTAL for ",AMHSORV," ",AMHSRTR,": ",AMHSCNT I AMHPTVS="V" W " # of PATIENTS: ",$S($D(^XTMP("AMHRL",AMHJOB,AMHBTH,"SUB PAT COUNT",AMHSRTV)):^XTMP("AMHRL",AMHJOB,AMHBTH,"SUB PAT COUNT",AMHSRTV),1:0)
  1. I AMHCTYP="S",(AMHPTVS="V"!((AMHPTVS="S"))) W !,?10,$E(AMHSRTR,1,30),?45,$J(AMHSCNT,8)," (V)",?60,$S($D(^XTMP("AMHRL",AMHJOB,AMHBTH,"SUB PAT COUNT",AMHSRTV)):$J(^XTMP("AMHRL",AMHJOB,AMHBTH,"SUB PAT COUNT",AMHSRTV),8),1:" 0")," (P)"
  1. I AMHCTYP="S",AMHPTVS="P" W !?10,$E(AMHSRTR,1,30),?45,$J(AMHSCNT,8)
  1. Q
  1. PRINT ;
  1. I AMHCTYP="F" D FLAT Q
  1. S AMHSCNT=AMHSCNT+1 Q:AMHCTYP="S"
  1. K ^XTMP("AMHLINE",$J) S ^XTMP("AMHLINE",$J,1)=""
  1. I $Y>(IOSL-5) D HEAD Q:$D(AMHQUIT)
  1. S AMHI=0 F S AMHI=$O(^AMHTRPT(AMHRPT,12,AMHI)) Q:AMHI'=+AMHI!($D(AMHQUIT)) S AMHCRIT=$P(^AMHTRPT(AMHRPT,12,AMHI,0),U) D
  1. .I '$P(^AMHSORT(AMHCRIT,0),U,8) D SINGLE Q
  1. .D MULT
  1. .Q
  1. S AMHX=0 F S AMHX=$O(^XTMP("AMHLINE",$J,AMHX)) Q:AMHX'=+AMHX!($D(AMHQUIT)) D
  1. .I $Y>(IOSL-4) D HEAD Q:$D(AMHQUIT)
  1. .W !,^XTMP("AMHLINE",$J,AMHX)
  1. Q
  1. SINGLE ;process single valued item
  1. K AMHPRNT
  1. S AMHX=0
  1. X:$D(^AMHSORT(AMHCRIT,3)) ^(3)
  1. S AMHLENG=$P(^AMHTRPT(AMHRPT,12,AMHI,0),U,2),AMHPRNT=$E($G(AMHPRNT),1,AMHLENG) D
  1. .S J=$L(AMHPRNT),^XTMP("AMHLINE",$J,1)=^XTMP("AMHLINE",$J,1)_AMHPRNT,K=$P(^AMHTRPT(AMHRPT,12,AMHI,0),U,2)+1 F I=J:1:K S ^XTMP("AMHLINE",$J,1)=^XTMP("AMHLINE",$J,1)_" "
  1. .S X=1 F S X=$O(^XTMP("AMHLINE",$J,X)) Q:X'=+X I $L(^XTMP("AMHLINE",$J,X))<$L(^XTMP("AMHLINE",$J,1)) S K=$L(^XTMP("AMHLINE",$J,X))+1,J=$L(^XTMP("AMHLINE",$J,1)) F I=K:1:J S ^XTMP("AMHLINE",$J,X)=^XTMP("AMHLINE",$J,X)_" "
  1. Q
  1. MULT ;
  1. K AMHPRNT,AMHPRNM S (AMHX,AMHPCNT)=0
  1. X:$D(^AMHSORT(AMHCRIT,3)) ^(3)
  1. I '$D(AMHPRNM) S AMHPRNT="--" D
  1. .S AMHLENG=$P(^AMHTRPT(AMHRPT,12,AMHI,0),U,2),AMHPRNT=$E(AMHPRNT,1,AMHLENG) D
  1. ..S J=$L(AMHPRNT),^XTMP("AMHLINE",$J,1)=^XTMP("AMHLINE",$J,1)_AMHPRNT,K=$P(^AMHTRPT(AMHRPT,12,AMHI,0),U,2)+1 F I=J:1:K S ^XTMP("AMHLINE",$J,1)=^XTMP("AMHLINE",$J,1)_" "
  1. S X=0 F S X=$O(AMHPRNM(X)) Q:X'=+X D
  1. .I X=1 D Q
  1. ..S AMHLENG=$P(^AMHTRPT(AMHRPT,12,AMHI,0),U,2),AMHPRNT=$E(AMHPRNM(1),1,AMHLENG) D
  1. ...S J=$L(AMHPRNT),^XTMP("AMHLINE",$J,1)=^XTMP("AMHLINE",$J,1)_AMHPRNT,K=$P(^AMHTRPT(AMHRPT,12,AMHI,0),U,2)+1 F I=J:1:K S ^XTMP("AMHLINE",$J,1)=^XTMP("AMHLINE",$J,1)_" "
  1. .S AMHLENG=$P(^AMHTRPT(AMHRPT,12,AMHI,0),U,2),AMHPRNT=$E(AMHPRNM(X),1,AMHLENG) D
  1. ..I '$D(^XTMP("AMHLINE",$J,X)) S ^XTMP("AMHLINE",$J,X)="",K=$P(^AMHTRPT(AMHRPT,12,AMHI,0),U,2)+1,$P(^XTMP("AMHLINE",$J,X)," ",($L(^XTMP("AMHLINE",$J,1))-K))=""
  1. ..S J=$L(AMHPRNT),^XTMP("AMHLINE",$J,X)=^XTMP("AMHLINE",$J,X)_AMHPRNT,K=$P(^AMHTRPT(AMHRPT,12,AMHI,0),U,2)+1 F I=J:1:K S ^XTMP("AMHLINE",$J,X)=^XTMP("AMHLINE",$J,X)_" "
  1. S X=1 F S X=$O(^XTMP("AMHLINE",$J,X)) Q:X'=+X I $L(^XTMP("AMHLINE",$J,X))<$L(^XTMP("AMHLINE",$J,1)) S K=$L(^XTMP("AMHLINE",$J,X))+1,J=$L(^XTMP("AMHLINE",$J,1)) F I=K:1:J S ^XTMP("AMHLINE",$J,X)=^XTMP("AMHLINE",$J,X)_" "
  1. Q
  1. DIQ ;
  1. I DA="" S AMHPRNT="--" Q
  1. K AMHPRNT,AMHFILE,AMHFIEL
  1. S AMHFILE=$P($P(^AMHSORT(AMHCRIT,0),U,4),","),AMHFIEL=$P($P(^(0),U,4),",",2)
  1. S DIQ(0)="EN",DIQ="AMHPRNT(",DIC=AMHFILE,DR=AMHFIEL D EN^DIQ1 K DIC,DR,DIQ
  1. I '$D(AMHPRNT(AMHFILE,DA,AMHFIEL,"E")) S AMHPRNT(AMHFILE,DA,AMHFIEL,"E")="--"
  1. S AMHPRNT=AMHPRNT(AMHFILE,DA,AMHFIEL,"E")
  1. Q
  1. FLAT ;
  1. S AMHREC=AMHR0
  1. D FLAT^AMHRLP3
  1. S ^XTMP($J,"AMHFLAT",AMHR)=AMHTX
  1. K AMHTX,AMHREC,X
  1. Q
  1. Q:AMHCTYP="F"
  1. D HEAD^AMHRLP2
  1. Q
  1. WRITEF ;write flat file from global
  1. D WRITEF^AMHRLP2
  1. Q