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

AMHRPS1.m

Go to the documentation of this file.
  1. AMHRPS1 ; IHS/CMI/LAB - PROCESS REPORT ;
  1. ;;4.0;IHS BEHAVIORAL HEALTH;;MAY 14, 2010
  1. ;
  1. ;
  1. ;
  1. ;
  1. START ;
  1. D XTMP^AMHUTIL("AMHRPS","BH - ABUSE/SUICIDE REPORT")
  1. S (AMHBT,AMHBTH)=$H,AMHJOB=$J
  1. S AMHRNN=AMHRBIN,AMHRA="" F I=1:1 S AMHRX=$P(AMHRNN,";",I) Q:AMHRX="" D SETA
  1. S AMHRDOBS=AMHRA
  1. D DATE,XIT
  1. Q
  1. ;
  1. DATE ; Run by encounter 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 D1
  1. Q
  1. ;
  1. XIT ;
  1. S AMHET=$H
  1. D EOJ
  1. Q
  1. EOJ ;
  1. Q
  1. D1 ;
  1. S (AMHR,AMHRCNT)=0 F S AMHR=$O(^AMHREC("B",AMHODAT,AMHR)) Q:AMHR'=+AMHR I $D(^AMHREC(AMHR,0)),$P(^(0),U,2)]"",$P(^(0),U,3)]"" S AMHR0=^(0) D PROC
  1. Q
  1. PROC ;
  1. S DFN=$P(AMHR0,U,8) Q:DFN="" ;do not use if no patient
  1. Q:'$$ALLOWP^AMHUTIL(DUZ,DFN)
  1. Q:$$DEMO^AMHUTIL1(DFN,$G(AMHDEMO))
  1. Q:'$$ALLOWVI^AMHUTIL(DUZ,AMHR)
  1. Q:'$D(^AMHRPRO("AD",AMHR)) ;quit if no problems entered
  1. Q:$D(^XTMP("AMHRPS",AMHJOB,AMHBTH,"PATIENTS",DFN)) ;quit if already counted this patient
  1. ;find pov
  1. S (AMHFOUND,X)=0,AMHSORT="" F S X=$O(^AMHRPRO("AD",AMHR,X)) Q:X'=+X!(AMHFOUND) S P=$P(^AMHRPRO(X,0),U),P=$P(^AMHPROB(P,0),U) I $D(AMHPROB(P)) S AMHFOUND=1,AMHSORT=P
  1. Q:'AMHFOUND ; quit if not visit for problem
  1. SETTMP ;
  1. S AMHRAGE="" D GETAGE
  1. Q:'AMHRAGE
  1. Q:AMHRSEX=""
  1. S ^XTMP("AMHRPS",AMHJOB,AMHBTH,"PATIENTS",DFN)=""
  1. S ^(AMHRAGE)=$S($D(^XTMP("AMHRPS",AMHJOB,AMHBTH,"AGE",AMHRSEX,AMHSORT,AMHRAGE)):^(AMHRAGE)+1,1:1)
  1. S ^(AMHRAGE)=$S($D(^XTMP("AMHRPS",AMHJOB,AMHBTH,"TOTAL",AMHRSEX,AMHRAGE)):^(AMHRAGE)+1,1:1)
  1. S ^(AMHSORT)=$S($D(^XTMP("AMHRPS",AMHJOB,AMHBTH,"TOTAL SORT",AMHRSEX,AMHSORT)):^(AMHSORT)+1,1:1)
  1. S ^(AMHRAGE)=$S($D(^XTMP("AMHRPS",AMHJOB,AMHBTH,"AGE","B",AMHSORT,AMHRAGE)):^(AMHRAGE)+1,1:1)
  1. S ^(AMHRAGE)=$S($D(^XTMP("AMHRPS",AMHJOB,AMHBTH,"TOTAL","B",AMHRAGE)):^(AMHRAGE)+1,1:1)
  1. S ^(AMHSORT)=$S($D(^XTMP("AMHRPS",AMHJOB,AMHBTH,"TOTAL SORT","B",AMHSORT)):^(AMHSORT)+1,1:1)
  1. Q
  1. GETAGE ;
  1. S AMHRDOB=$P(^DPT($P(AMHR0,U,8),0),U,3) Q:AMHRDOB=""
  1. S AMHRSEX=$P(^DPT($P(AMHR0,U,8),0),U,2)
  1. ATT ;
  1. F I=1:1 S AMHRNN=$P(AMHRA,";",I) Q:AMHRNN="" S AMHRX=$P(AMHRNN,"-"),AMHRY=$P(AMHRNN,"-",2) I AMHRDOB'<AMHRX,AMHRDOB'>AMHRY S AMHRAGE=I Q
  1. Q
  1. ;
  1. ;
  1. SETA ;
  1. S AMHRY=$P(AMHRX,"-"),AMHRZ=$P(AMHRX,"-",2)
  1. I AMHRA]"" S AMHRA=AMHRA_";"
  1. S AMHRA=AMHRA_(DT+1-(10000*(AMHRZ+1)))_"-"_(DT-(AMHRY*10000))
  1. S ^XTMP("AMHRPS",AMHJOB,AMHBTH,"TOTAL","AGE",I)=0
  1. Q