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

AMHRL1.m

Go to the documentation of this file.
  1. AMHRL1 ; IHS/CMI/LAB - TUCSON-OHPRD/LAB - PROCESS BH RECORD LIST ;
  1. ;;4.0;IHS BEHAVIORAL HEALTH;**1**;JUN 18, 2010;Build 8
  1. ;
  1. ;
  1. ;
  1. START ;
  1. S (AMHBT,AMHBTH)=$H,AMHJOB=$J,AMHRCNT=0
  1. D XTMP^AMHUTIL("AMHRL","BH - GENERAL RETRIEVAL")
  1. S AMHPROC=AMHPTVS_AMHTYPE
  1. I $D(AMHRDTR),AMHPTVS="P"!(AMHPTVS="S") S X1=AMHBD,X2=-1 D C^%DTC S AMHSD=X
  1. D @AMHPROC,END
  1. Q
  1. ;
  1. SSU ;suicide
  1. S AMHR=0 F S AMHR=$O(^AMHPSUIC(AMHR)) Q:AMHR'=+AMHR D
  1. .S AMHR0=^AMHPSUIC(AMHR,0),DFN=$P(AMHR0,U,4)
  1. .Q:$P(^AMHPSUIC(AMHR,0),U,6)=""
  1. .Q:$P(^AMHPSUIC(AMHR,0),U,6)<AMHBD
  1. .Q:$P(^AMHPSUIC(AMHR,0),U,6)>AMHED
  1. .D PROC
  1. Q
  1. VS ;run by search template
  1. S AMHR=0 F S AMHR=$O(^DIBT(AMHSEAT,1,AMHR)) Q:AMHR'=+AMHR I $D(^AMHREC(AMHR,0)) S AMHR0=^AMHREC(AMHR,0),DFN=$P(AMHR0,U,8) D PROC
  1. Q
  1. VD ; Run by visit date
  1. S X1=AMHBD,X2=-1 D C^%DTC S AMHSD=X
  1. S AMHODAT=AMHSD_".9999" F S AMHODAT=$O(^AMHREC("B",AMHODAT)) Q:AMHODAT=""!((AMHODAT\1)>AMHED) D V1
  1. Q
  1. ;
  1. PP ;
  1. S AMHR=0 F S AMHR=$O(^DPT(AMHR)) Q:AMHR'=+AMHR I '$P(^DPT(AMHR,0),U,19) S DFN=AMHR D PROC
  1. Q
  1. ;
  1. PS ;
  1. S AMHR=0 F S AMHR=$O(^DIBT(AMHSEAT,1,AMHR)) Q:AMHR'=+AMHR I $D(^DPT(AMHR,0)),'$P(^(0),U,19) S DFN=AMHR D PROC
  1. Q
  1. ;
  1. ;
  1. END ;
  1. S AMHET=$H
  1. Q
  1. V1 ;
  1. S AMHR="" F S AMHR=$O(^AMHREC("B",AMHODAT,AMHR)) Q:AMHR'=+AMHR I $D(^AMHREC(AMHR,0)),$P(^(0),U,2)]"",$P(^(0),U,3)]"",$P(^(0),U,4)]"" S AMHR0=^AMHREC(AMHR,0),DFN=$P(AMHR0,U,8) D PROC
  1. Q
  1. PROC ;
  1. ;I AMHPTVS="V" S AMHR0=^AMHREC(AMHR,0),DFN=$P(AMHR0,U,8)
  1. ;I AMHPTVS="P" S DFN=AMHR
  1. I AMHPTVS="P",DFN="" Q
  1. Q:$$DEMO^AMHUTIL1(DFN,$G(AMHDEMO))
  1. I AMHPTVS="P",'$$ALLOWP^AMHUTIL(DUZ,DFN) Q
  1. I AMHPTVS="V",'$$ALLOWVI^AMHUTIL(DUZ,AMHR) Q
  1. D SCREENS
  1. Q:$D(AMHSKIP)
  1. K AMHSRT,AMHPRNT S AMHCRIT=AMHSORT,AMHX=0 X:$D(^AMHSORT(AMHSORT,5)) ^AMHSORT(AMHSORT,5) I '$D(AMHPRNT) D
  1. . I AMHPTVS="S" S AMHPRNT="--"
  1. . I AMHPTVS="V" S Y=$P($P(AMHR0,U),".") D DD^%DT S AMHPRNT=Y Q
  1. . S AMHPRNT=$P(^DPT(DFN,0),U)
  1. . Q
  1. S AMHSRT=AMHPRNT
  1. D SUBPAT
  1. I AMHPTVS="S" S ^XTMP("AMHRL",AMHJOB,AMHBTH,"DATA HITS",AMHSRT,AMHR)="",AMHRCNT=AMHRCNT+1 G P1
  1. I '$D(AMHRDTR) S ^XTMP("AMHRL",AMHJOB,AMHBTH,"DATA HITS",AMHSRT,AMHR)="",AMHRCNT=AMHRCNT+1
  1. I $D(AMHRDTR) S ^XTMP("AMHRL",AMHJOB,AMHBTH,"DATA HITS",AMHSRT,DFN)="",AMHRCNT=AMHRCNT+1
  1. P1 Q:'$G(DFN)
  1. Q:$D(^XTMP("AMHRL",AMHJOB,AMHBTH,"PATIENTS",DFN))
  1. S ^XTMP("AMHRL",AMHJOB,AMHBTH,"PATIENTS",DFN)="",AMHPTCT=AMHPTCT+1
  1. Q
  1. SUBPAT ;tally # of patients by sort value on detailed/subtotal
  1. Q:'$G(DFN)
  1. Q:AMHCTYP="C"
  1. Q:AMHCTYP="F"
  1. Q:AMHCTYP="T"
  1. S:$G(AMHSRT)="" AMHSRT="???"
  1. Q:$D(^XTMP("AMHRL",AMHJOB,AMHBTH,"SUB PATIENT HIT",AMHSRT,DFN))
  1. S:'$D(^XTMP("AMHRL",AMHJOB,AMHBTH,"SUB PAT COUNT",AMHSRT)) ^XTMP("AMHRL",AMHJOB,AMHBTH,"SUB PAT COUNT",AMHSRT)=0
  1. S ^XTMP("AMHRL",AMHJOB,AMHBTH,"SUB PAT COUNT",AMHSRT)=^XTMP("AMHRL",AMHJOB,AMHBTH,"SUB PAT COUNT",AMHSRT)+1
  1. Q:$D(^XTMP("AMHRL",AMHJOB,AMHBTH,"SUB PATIENT HIT",AMHSRT,DFN))
  1. S ^XTMP("AMHRL",AMHJOB,AMHBTH,"SUB PATIENT HIT",AMHSRT,DFN)=""
  1. Q
  1. SCREENS ;
  1. K AMHSKIP
  1. S AMHI=0 F S AMHI=$O(^AMHTRPT(AMHRPT,11,AMHI)) Q:AMHI'=+AMHI!($D(AMHSKIP)) D
  1. .I '$P(^AMHSORT(AMHI,0),U,8) D SINGLE Q
  1. .D MULT
  1. .Q
  1. Q
  1. SINGLE ;
  1. K X,AMHSPEC S X="",AMHX=0
  1. X:$D(^AMHSORT(AMHI,1)) ^(1)
  1. I X="" S AMHSKIP="" Q
  1. I '$D(AMHSPEC),'$D(^AMHTRPT(AMHRPT,11,AMHI,11,"B",X)) S AMHSKIP="" Q
  1. Q
  1. MULT ;
  1. K AMHFOUN,AMHSKIP,AMHSPEC,X S AMHX=0,X=""
  1. X:$D(^AMHSORT(AMHI,1)) ^(1)
  1. I $O(X(""))="" S AMHSKIP="" Q
  1. I '$D(AMHSPEC) S Y="" F S Y=$O(X(Y)) Q:Y="" I $D(^AMHTRPT(AMHRPT,11,AMHI,11,"B",Y)) S AMHFOUN="" Q
  1. I $D(AMHSPEC),$D(X) S AMHFOUN=1 Q
  1. S:'$D(AMHFOUN) AMHSKIP=""
  1. Q
  1. XIT ;EP - CALLED FROM AMHRL
  1. K AMHBD,AMHBDD,AMHED,AMHEDD,AMHSD,AMHSORT,AMHSORV,AMHTCW,AMHRPT,AMHLHDR,AMHDISP,%H,AMHET,AMHLINE,AMHPRNM,AMHPRNT,AMHSKIP,AMHTYPE,AMHSPAG,AMHEN1,AMHSEAT,AMHPTVS,AMHPROC,AMH,AMHCAND,AMHHDR,AMHHEAD,AMHJD
  1. K AMHACE,AMHCTYP,AMHFLG,AMHG,AMHNAME,AMHNIFN,AMHSAVE,AMHTITL,AMHQUIT,AMHPCNT,AMHQFLG,AMHPTCT,AMHTL,AMHXREF,AMHSRTR,AMHSRTV,AMHGBD,AMHGBE,AMHGBS,AMHGDE,AMHGDB,AMHGDS
  1. K C,D,D0,DA,DIC,DD,DFN,DIADD,DLAYGO,DICR,DIE,DIK,DINUM,DIQ,DIR,DIRUT,DUOUT,DTOUT,DR,J,I,J,K,M,S,TS,X,Y,DIG,DIH,DIV,DQ,DDH
  1. XIT1 ;EP
  1. K AMHANS,AMHBTH,AMHC,AMHCNT,AMHCRIT,AMHCUT,AMHD,AMHDISP,AMHDONE,AMHHIGH,AMHI,AMHJOB,AMHQMAN,AMHSEL,AMHTEXT,AMHRAR,AMHSKIP,AMHPRNT,AMHPRNM,AMHLINE,AMHRCNT,AMHDFET,AMHY,DFN,AMHQ
  1. K X,X1,X2,IO("Q"),%,Y,POP,DIRUT,ZTSK,ZTQUEUED,H,S,TS,M,ZTIO,DUOUT,DIR,DTOUT,V,Z,I,DIC,DIK,DIADD,DLAYGO,DA,DR,DIE,DIU,AMQQTAX,DINUM,AMHPACK,AMHEP1,AMHEP2,D,AMHLENG,AMHLHDR,AMHSAVE
  1. Q