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

AMHRPTP.m

Go to the documentation of this file.
  1. AMHRPTP ; IHS/CMI/LAB - PRINT VISIT REPORT ;
  1. ;;4.0;IHS BEHAVIORAL HEALTH;;MAY 14, 2010
  1. ;
  1. START ;EP
  1. ;Set up header line, dash line.
  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^AMHRPTCP ;print cover page - note: if user ^'s out of cover page, processing continues
  1. PROC ;process printing of report
  1. S AMHPG=0 I '$D(^XTMP("AMHRPT",AMHJOB,AMHBTH)) G DONE
  1. S (AMHSORT,AMHFRST)="" K AMHQUIT
  1. S AMHRCNT=0 F S AMHSORT=$O(^XTMP("AMHRPT",AMHJOB,AMHBTH,"RECORDS",AMHSORT)) Q:AMHSORT=""!($D(AMHQUIT)) D V
  1. G:$D(AMHQUIT) DONE
  1. I $Y>(IOSL-3) D HEAD G:$D(AMHQUIT) DONE
  1. W:$D(AMHRCNT) !!!,"TOTAL Visits: ",AMHRCNT
  1. DONE ;
  1. D DONE^AMHLEIN,^AMHEKL
  1. K ^XTMP("AMHRPT",AMHJOB,AMHBT)
  1. D DEL^AMHRPT
  1. K AMHBD,AMHSD,AMHED,AMHEDD,AMHBDD,AMHRPT,AMHHEAD,AMHLINE,AMHL,AMHRCNT,AMHI,AMHCRIT,AMHR,AMHR0,AMHJOB,AMHBTH,AMHQUIT,AMHHDR,AMHDASH,AMHLENG,AMHPCNT,AMHTCW,AMHODAT,AMHPG,AUPNDAYS,AUPNPAT,AUPNDOD,AUPNDOB,AUPNSEX
  1. K AMHSORT,AMHSRT,AMHSORX,AMHFILE,AMHFIEL,AMHPRNT,AMHX,AMHTYPE,AMHFOUN,D0,J,K,L,AMHPRNM,AMHTEST,AMHSEAT,AMHLHDR,AMHFRST
  1. Q
  1. V ;GETS RECORDS
  1. S AMHSCNT=0
  1. I $G(AMHSPAG)!($D(AMHFRST)) D HEAD Q:$D(AMHQUIT)
  1. K AMHFRST
  1. S AMHR=0 F S AMHR=$O(^XTMP("AMHRPT",AMHJOB,AMHBTH,"RECORDS",AMHSORT,AMHR)) Q:AMHR'=+AMHR!($D(AMHQUIT)) S AMHR0=^AMHREC(AMHR,0) D PRINT
  1. Q:$D(AMHQUIT)
  1. I $Y>(IOSL-3) D HEAD Q:$D(AMHQUIT)
  1. W:$G(AMHSPAG) !!!,"SUB-TOTAL for ",AMHSORV," ",AMHSORT,": ",AMHSCNT
  1. Q
  1. PRINT ;
  1. S:$G(AMHSPAG) AMHSCNT=AMHSCNT+1
  1. K AMHLINE S AMHLINE(1)="",AMHL=1
  1. I $Y>(IOSL-5) D HEAD Q:$D(AMHQUIT)
  1. S AMHRCNT=AMHRCNT+1
  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. I $Y>(IOSL-(AMHL+3)) D HEAD Q:$D(AMHQUIT)
  1. S X=0 F S X=$O(AMHLINE(X)) Q:X'=+X W !,AMHLINE(X)
  1. Q
  1. SINGLE ;process single valued item
  1. S AMHPRNT=""
  1. X:$D(^AMHSORT(AMHCRIT,3)) ^(3)
  1. S AMHLENG=$P(^AMHTRPT(AMHRPT,12,AMHI,0),U,2),AMHPRNT=$E(AMHPRNT,1,AMHLENG) D
  1. .S J=$L(AMHPRNT),AMHLINE(1)=AMHLINE(1)_AMHPRNT,K=$P(^AMHTRPT(AMHRPT,12,AMHI,0),U,2)+1 F I=J:1:K S AMHLINE(1)=AMHLINE(1)_" "
  1. .S X=1 F S X=$O(AMHLINE(X)) Q:X'=+X I $L(AMHLINE(X))<$L(AMHLINE(1)) S K=$L(AMHLINE(X))+1,J=$L(AMHLINE(1)) F I=K:1:J S AMHLINE(X)=AMHLINE(X)_" "
  1. Q
  1. MULT ;
  1. K AMHPRNT,AMHPRNM S (AMHX,AMHPCNT)=0,AMHL=1
  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),AMHLINE(1)=AMHLINE(1)_AMHPRNT,K=$P(^AMHTRPT(AMHRPT,12,AMHI,0),U,2)+1 F I=J:1:K S AMHLINE(1)=AMHLINE(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),AMHLINE(1)=AMHLINE(1)_AMHPRNT,K=$P(^AMHTRPT(AMHRPT,12,AMHI,0),U,2)+1 F I=J:1:K S AMHLINE(1)=AMHLINE(1)_" "
  1. .S AMHLENG=$P(^AMHTRPT(AMHRPT,12,AMHI,0),U,2),AMHPRNT=$E(AMHPRNM(X),1,AMHLENG) D
  1. ..I '$D(AMHLINE(X)) S AMHLINE(X)="",K=$P(^AMHTRPT(AMHRPT,12,AMHI,0),U,2)+1,$P(AMHLINE(X)," ",($L(AMHLINE(1))-K))=""
  1. ..S J=$L(AMHPRNT),AMHLINE(X)=AMHLINE(X)_AMHPRNT,K=$P(^AMHTRPT(AMHRPT,12,AMHI,0),U,2)+1 F I=J:1:K S AMHLINE(X)=AMHLINE(X)_" "
  1. S X=1 F S X=$O(AMHLINE(X)) Q:X'=+X I $L(AMHLINE(X))<$L(AMHLINE(1)) S K=$L(AMHLINE(X))+1,J=$L(AMHLINE(1)) F I=K:1:J S AMHLINE(X)=AMHLINE(X)_" "
  1. Q
  1. DIQ ;
  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. I 'AMHPG G HEAD1
  1. I $E(IOST)="C",IO=IO(0) W ! S DIR(0)="EO" D ^DIR K DIR I Y=0!(Y="^")!($D(DTOUT)) S AMHQUIT="" Q
  1. HEAD1 ;
  1. W:$D(IOF) @IOF S AMHPG=AMHPG+1
  1. W !?13,"********** CONFIDENTIAL PATIENT INFORMATION **********"
  1. S AMHTEXT="BEHAVIORAL HEALTH RECORD LISTING",AMHLENG=$L(AMHTEXT) W !?((AMHTCW-AMHLENG)/2),AMHTEXT,?(AMHTCW-8)," Page ",AMHPG
  1. S AMHLENG=46 S:AMHTCW<AMHLENG AMHLENG=AMHTCW W !?((AMHTCW-AMHLENG)/2),"Visit Dates: ",AMHBDD," and ",AMHEDD,!
  1. I $G(AMHSPAG) S AMHLENG=$L(AMHSORT)+$L(AMHSORV)+2 S:AMHTCW<AMHLENG AMHLENG=AMHTCW W !?((AMHTCW-AMHLENG)/2),AMHSORV,": ",AMHSORT,!
  1. W !,AMHHEAD,!
  1. W AMHDASH,!
  1. Q