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

BDGADD.m

Go to the documentation of this file.
  1. BDGADD ; IHS/ANMC/LJF - A&D DETAILED PRINT ; [ 06/11/2002 2:27 PM ]
  1. ;;5.3;PIMS;**1013**;APR 26, 2002
  1. ;
  1. ; Assumes VA variables RD and GL and set
  1. ;
  1. I $E(IOST,1,2)="P-" S BDGT=RD D INIT,PRINT Q
  1. ;
  1. EN ; -- main entry point for BDG A&D DETAILED
  1. NEW VALMCNT,BDGT
  1. D TERM^VALM0,CLEAR^VALM1
  1. S BDGT=RD ;reset run date
  1. D EN^VALM("BDG A&D DETAILED")
  1. D CLEAR^VALM1
  1. Q
  1. ;
  1. HDR ; -- header code
  1. S VALMHDR(1)=$$SP(15)_$$CONF^BDGF
  1. S X="ADMISSIONS & DISCHARGES for "_$$GET1^DIQ(4,DUZ(2),.01)
  1. S VALMHDR(2)=$$SP(79-$L(X)\2)_X
  1. S VALMHDR(3)=$$SP(12)="For "_$$DOW^XLFDT(BDGT)_" "_$$FMTE^XLFDT(BDGT,2)
  1. Q
  1. ;
  1. INIT ; -- init variables and list array
  1. NEW SRV,PREV,SRVN,TOT,TOT1,TOT2
  1. K ^TMP("BDGADD",$J)
  1. S VALMCNT=0
  1. S PREV=$$FMADD^XLFDT(BDGT,-1) ;previous date
  1. S (TOT1,TOT2)=0 F I="O","I","N","D" S TOT(I)="" ;initialize totals
  1. ;
  1. D REMAIN ;display total patients remaining at end of day
  1. D HDG ;display column headings
  1. D PATDATA^BDGADD1 ;display patients
  1. ;
  1. Q
  1. ;
  1. ;
  1. SET(DATA,NUM) ; put display line into array
  1. S NUM=NUM+1
  1. S ^TMP("BDGADD",$J,NUM,0)=DATA
  1. Q
  1. ;
  1. REMAIN ; total up patients remaining at end of day
  1. ; count by service to pull out newborns and oberservations
  1. NEW COUNT,I,SV,SNM,SUB,LINE,N
  1. F I="I","O","N","D" S COUNT(I)=0
  1. S SV=0 F S SV=$O(^BDGCTX(SV)) Q:'SV D
  1. . S N=$G(^BDGCTX(SV,1,BDGT,0)) I N="" Q
  1. . S SNM=$$GET1^DIQ(45.7,SV,.01) ;service name
  1. . S SUB=$S(SNM="NEWBORN":"N",SNM["OBSERVATION":"O",SNM="DAY SURGERY":"D",1:"I")
  1. . S COUNT(SUB)=COUNT(SUB)+$P(N,U,2)+$P(N,U,12)
  1. ;
  1. S LINE="Inpatients:"_COUNT("I")
  1. S LINE=$$PAD(LINE,25)_"Observations: "_COUNT("O")
  1. S LINE=$$PAD(LINE,55)_"Day Surgerys: "_COUNT("D") ;ihs/cmi/maw 09/14/2011 patch 1013
  1. S LINE=$$PAD(LINE,85)_"Newborns: "_COUNT("N")
  1. D SET(LINE,.VALMCNT),SET("",.VALMCNT)
  1. Q
  1. ;
  1. HDG ; set up column headings
  1. NEW LINE
  1. ;
  1. ;IHS/ANMC/LJF 6/11/2002 added PCP so column headings must change
  1. ;changed 25 -> 27, 34 -> 35 (LJF7 6/11/2002)
  1. S LINE=$$PAD($$PAD(" NAME",27)_" HRCN",35)_"AGE"
  1. ;changed 63 -> 58 (LJF7 6/11/2002)
  1. S LINE=$$PAD($$PAD(LINE,40)_"COMMUNITY",58)_"WARD SERV"
  1. ;changed 80 -> 72 and added code (LJF7 6/11/2002)
  1. S LINE=$$PAD($$PAD(LINE,72)_"PROVIDER",92)_"PRIM CARE PRV"
  1. ;IHS/ANMC/LJF 6/11/2002 end of mods
  1. ;
  1. D SET(LINE,.VALMCNT),SET($$REPEAT^XLFSTR("-",110),.VALMCNT)
  1. Q
  1. ;
  1. PRINT ; print report to paper
  1. NEW BDGX,BDGLN,WARD
  1. U IO D PHDG
  1. ;
  1. ; loop thru display array
  1. S BDGX=0 F S BDGX=$O(^TMP("BDGADD",$J,BDGX)) Q:'BDGX D
  1. . ;I $Y>(IOSL-4) D PHDG ;IHS/ANMC/LJF 6/5/2002 form feed at bottom of page (LJF7 6/11/2002)
  1. . I $Y>(IOSL-4) W @IOF D PHDG ;IHS/ANMC/LJF 6/5/2002 form feed at bottom of page (LJF7 6/11/2002)
  1. . W !,^TMP("BDGADD",$J,BDGX,0)
  1. D ^%ZISC,EXIT
  1. Q
  1. ;
  1. PHDG ; heading for paper report
  1. ;D HDR W @IOF ;IHS/ANMC/LJF 6/5/2002 no form feed at beginning (LJF7 6/11/2002)
  1. D HDR ;IHS/ANMC/LJF 6/5/2002 no form feed at beginning (LJF7 6/11/2002)
  1. F I=1:1 Q:'$D(VALMHDR(I)) W !,VALMHDR(I)
  1. W !,$$REPEAT^XLFSTR("=",80)
  1. Q
  1. ;
  1. HELP ; -- help code
  1. S X="?" D DISP^XQORM1 W !!
  1. Q
  1. ;
  1. EXIT ; -- exit code
  1. K ^TMP("BDGADD",$J) K BDGREP
  1. Q
  1. ;
  1. EXPND ; -- expand code
  1. Q
  1. ;
  1. PAD(D,L) ;EP -- SUBRTN to pad length of data
  1. ; -- D=data L=length
  1. Q $E(D_$$REPEAT^XLFSTR(" ",L),1,L)
  1. ;
  1. SP(N) ; -- SUBRTN to pad N number of spaces
  1. Q $$PAD(" ",N)