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

BPCBHDSP.m

Go to the documentation of this file.
  1. BPCBHDSP ; IHS/OIT/MJL - behavioral health display for GUI ; [ 11/14/2007 10:40 AM ]
  1. ;;1.5;BPC;**3,4**;FEB 16, 2005
  1. ;
  1. ;
  1. TESTREC ;
  1. D RECDISP(.RETVAL,33)
  1. Q
  1. TESTENC ;
  1. D ENCFORM(.RETVAL,33,"S")
  1. Q
  1. TESTSUIC ;
  1. D SUICDSP(.RETVAL,5)
  1. Q
  1. SUICDSP(BGUARRAY,BPCIEN) ;EP CALL FROM REMOTE PROC: BPCBH SUICIDE FORM DSP
  1. ;
  1. ENSFDSP ;
  1. S JOB=$J,BPCGUI=1,XWBWRAP=1
  1. S ZTIO="",ZTQUEUED=1
  1. S BGUARRAY="^XTMP(""BPCSF"","_$J_")"
  1. S AMHSF=BPCIEN
  1. K ^XTMP("BPCSF",JOB)
  1. S ^XTMP("BPCSFRUN",JOB)=""
  1. D ^XBKSET
  1. ;D GUIR^XBLM("PRINT^AMHLESF1","^XTMP(""BPCSF"",JOB)")
  1. ;S X=0,BPCCTR=0 F S X=$O(^XTMP("BPCSF",JOB,X)) Q:X'=+X S BPCCTR=BPCCTR+1
  1. ;S ^XTMP("BPCSF",JOB,.5)=BPCCTR+1
  1. S ZTRTN="TSK^BPCBHDSP",ZTIO="",ZTDESC="BPC SF REPORT",ZTSAVE("AMHSF")="",ZTSAVE("JOB")="",ZTDTH=$H D ^%ZTLOAD
  1. F I=1:1:60 Q:$G(^XTMP("BPCSFRUN",$J))="DONE" H 1
  1. D KILL
  1. Q
  1. ;
  1. TSK ;
  1. D ^XBKSET
  1. S ^XTMP("BPCSFRUN",JOB)="START"
  1. D GUIR^XBLM("PRINT^AMHLESF1","^XTMP(""BPCSF"",JOB)")
  1. S ^XTMP("BPCSF",JOB,.5)=$O(^XTMP("BPCSF",JOB,""),-1)+1
  1. S ^XTMP("BPCSFRUN",JOB)="DONE"
  1. Q
  1. ;
  1. TSKITKF ; Task Intake Form
  1. D ^XBKSET
  1. S ^XTMP("BPCIFRUN",JOB)="START"
  1. D GUIR^XBLM("PRINT1^AMHLEI3","^XTMP(""BPCIF"",JOB)")
  1. S ^XTMP("BPCIF",JOB,.5)=$O(^XTMP("BPCIF",JOB,""),-1)+1
  1. S ^XTMP("BPCIFRUN",JOB)="DONE"
  1. Q
  1. ;
  1. KILL ;
  1. K BPCCTR,BPCGUI,AMHSF,DIC,JOB,X,Y,ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE
  1. Q
  1. ENCFORM(AMHARRY,AMHR,AMHEFT) ;EP called to get encounter form in array
  1. ;AMHR=ien of BH record
  1. ;array is ^TMP("AMHS",$J,"DCS")
  1. ;AMHEFT=type of form to print
  1. ; S - Suppressed
  1. ; F - Full
  1. S AMHARRY=$NA(@"^TMP(""AMHS"",$J,""DCS"")")
  1. K ^TMP("AMHS",$J,"DCS")
  1. I $G(AMHEFT)="" S AMHEFT="F"
  1. I "FS"'[AMHEFT Q
  1. D EP2^AMHLEFP2(AMHR,1)
  1. NEW BPCCTR,X S (X,BPCCTR)=0 F S X=$O(^TMP("AMHS",$J,"DCS",X)) Q:X'=+X S BPCCTR=BPCCTR+1
  1. S ^TMP("AMHS",$J,"DCS",.5)=BPCCTR+1 K ^TMP("AMHS",$J,"DCS",0)
  1. Q
  1. ;
  1. INTAKE(BGUARRAY,BPCIEN) ;EP called to return an INTAKE form in an array
  1. S JOB=$J,BPCGUI=1,XWBWRAP=1
  1. S ZTIO="",ZTQUEUED=1
  1. S BGUARRAY="^XTMP(""BPCIF"","_$J_")"
  1. K ^XTMP("BPCIF",JOB)
  1. S ^XTMP("BPCIFRUN",JOB)=""
  1. D ^XBKSET
  1. S DFN=BPCIEN,AMHPG=0
  1. S ZTRTN="TSKITKF^BPCBHDSP",ZTIO="",ZTDESC="BPCBH INTAKE FORM",ZTSAVE("DFN")="",ZTSAVE("DFN")="",ZTSAVE("JOB")="",ZTSAVE("AMHPG")="",ZTDTH=$H D ^%ZTLOAD
  1. F I=1:1:60 Q:$G(^XTMP("BPCIFRUN",$J))="DONE" H 1
  1. D KILL
  1. Q
  1. ;
  1. ;
  1. RECDISP(AMHARRY,AMHR) ;EP - called to display one BH record
  1. ;retval=array containg data, AMHR=ien of behavioral health record
  1. ;array returned is ^TMP("AMHVDSG",$J)
  1. NEW X
  1. S AMHARRY=$NA(@"^TMP(""AMHVDSG"",$J)")
  1. K ^TMP("AMHVDSG",$J)
  1. K X D EN^AMHVDSG1(AMHARRY,AMHR)
  1. NEW BPCCTR S (X,BPCCTR)=0 F S X=$O(^TMP("AMHVDSG",$J,X)) Q:X'=+X S BPCCTR=BPCCTR+1,^TMP("AMHVDSG",$J,X)=^TMP("AMHVDSG",$J,X,0) K ^TMP("AMHVDSG",$J,X,0)
  1. S ^TMP("AMHVDSG",$J,.5)=BPCCTR+1
  1. Q
  1. ;
  1. TIUN(BGUARRAY,BPCIEN) ;EP called to return TIU notes in an array
  1. I '$P($G(^AMHREC(BPCIEN,11)),U,8) Q
  1. S BGUARRAY="^TMP(""AMHS"","_$J_",""DCS"")"
  1. S AMHR=BPCIEN
  1. K @BGUARRAY S @BGUARRAY@(0)=0
  1. S X="TIU Note:" D S(X,1)
  1. K AMHAR,AMHERR,AMHTIU
  1. S AMHDOC=$P(^AMHREC(AMHR,11),U,8)
  1. I '+$$CANDO^TIULP(AMHDOC,"PRINT RECORD",DUZ) S X="",$E(X,3)="You do not have security clearance to display the TIU NOTE." D S(X) K AMHTIU Q
  1. ; Extract specified note
  1. S AMHGBL=$NA(^TMP("AMHOENPS",$J)),AMHHLF=IOM\2
  1. K @AMHGBL
  1. D EXTRACT^TIULQ(AMHDOC,AMHGBL,.AMHERR,".01;.02;.03;.05;.07;.08;1202;1203;1205;1208;1209;1301;1307;1402;1501:1505;1507:1513;1701","",1,"E")
  1. M AMHTIU=^TMP("AMHOENPS",$J,AMHDOC)
  1. K ^TMP("AMHOENPS",$J)
  1. D S(AMHTIU(.01,"E"))
  1. D S("AUTHOR: "_AMHTIU(1202,"E"))
  1. D S("SIGNED BY: "_AMHTIU(1502,"E")_" STATUS: "_AMHTIU(.05,"E"))
  1. D S("LOCATION: "_AMHTIU(1205,"E"))
  1. F AMHX=0:0 S AMHX=$O(AMHTIU("TEXT",AMHX)) Q:'AMHX D S(AMHTIU("TEXT",AMHX,0))
  1. I $L($G(AMHTIU(1501,"E"))) D
  1. .D S("/es/ "_$G(AMHTIU(1503,"E")))
  1. .D S("Signed: "_$G(AMHTIU(1501,"E")))
  1. ;
  1. K AMHTIU
  1. Q
  1. ;
  1. S(Y,F,C,T) ;set up array
  1. NEW %
  1. I '$G(F) S F=0
  1. I '$G(T) S T=0
  1. ;blank lines
  1. F F=1:1:F S X="" D S1
  1. S X=Y
  1. I $G(C) S L=$L(Y),T=(80-L)/2 D D S1 Q
  1. .F %=1:1:(T-1) S X=" "_X
  1. F %=1:1:T S X=" "_Y
  1. D S1
  1. Q
  1. S1 ;
  1. S %=$P(^TMP("AMHS",$J,"DCS",0),U)+1,$P(^TMP("AMHS",$J,"DCS",0),U)=%
  1. S ^TMP("AMHS",$J,"DCS",%)=X
  1. Q