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

BDGILD62.m

Go to the documentation of this file.
  1. BDGILD62 ; IHS/ANMC/LJF - TRANSFERS BETWEEN FACILITIES(PRINT) ;
  1. ;;5.3;PIMS;;APR 26, 2002
  1. ;
  1. I BDGTYP>1 D STAT
  1. I BDGTYP'=2 D LISTS
  1. Q
  1. ;
  1. STAT ; gather stats by facility
  1. NEW FAC,SRV,LINE,BDGTI,BDGTO
  1. S (BDGTI,BDGTO)=0 ;zero out totals
  1. S FAC=0 F S FAC=$O(DGCT(FAC)) Q:FAC="" D
  1. . S LINE=$E(FAC,1,24) ;print facility
  1. . S SRV=0 F S SRV=$O(DGCT(FAC,SRV)) Q:SRV="" D
  1. .. S LINE=$$PAD(LINE,26)_SRV ; service
  1. .. ; print transfer counts and increment totals
  1. .. S LINE=$$PAD(LINE,55)_$J($P(DGCT(FAC,SRV),U),3)
  1. .. S BDGTI=BDGTI+$P(DGCT(FAC,SRV),U)
  1. .. S LINE=$$PAD(LINE,70)_$J($P(DGCT(FAC,SRV),U,2),3)
  1. .. S BDGTO=BDGTO+$P(DGCT(FAC,SRV),U,2)
  1. .. D SET(LINE,.VALMCNT) S LINE=""
  1. ;
  1. ; gather transfer totals
  1. D SET($$REPEAT^XLFSTR("-",80),.VALMCNT)
  1. S LINE=$$PAD($$PAD($$SP(30)_"TOTALS:",55)_$J(BDGTI,3),70)_$J(BDGTO,3)
  1. D SET(LINE,.VALMCNT),SET("",.VALMCNT)
  1. Q
  1. ;
  1. LISTS ; gather patient lists
  1. NEW DATE,SRV,FAC,IEN,DFN
  1. ;
  1. ; admissions by date, service, then facility
  1. D SET($$SP(30)_"ADMISSIONS",.VALMCNT)
  1. S DATE=0 F S DATE=$O(^TMP("BDGILD6A",$J,DATE)) Q:DATE="" D
  1. . S SRV=0 F S SRV=$O(^TMP("BDGILD6A",$J,DATE,SRV)) Q:SRV="" D
  1. .. S FAC=0 F S FAC=$O(^TMP("BDGILD6A",$J,DATE,SRV,FAC)) Q:FAC="" D
  1. ... S IEN=0
  1. ... F S IEN=$O(^TMP("BDGILD6A",$J,DATE,SRV,FAC,IEN)) Q:'IEN D
  1. .... S DFN=^TMP("BDGILD6A",$J,DATE,SRV,FAC,IEN)
  1. .... D LINE
  1. ;
  1. ; discharges by date, service, then facility
  1. D SET("",.VALMCNT),SET($$SP(30)_"DISCHARGES",.VALMCNT)
  1. S DATE=0 F S DATE=$O(^TMP("BDGILD6D",$J,DATE)) Q:DATE="" D
  1. . S SRV=0 F S SRV=$O(^TMP("BDGILD6D",$J,DATE,SRV)) Q:SRV="" D
  1. .. S FAC=0 F S FAC=$O(^TMP("BDGILD6D",$J,DATE,SRV,FAC)) Q:FAC="" D
  1. ... S IEN=0
  1. ... F S IEN=$O(^TMP("BDGILD6D",$J,DATE,SRV,FAC,IEN)) Q:'IEN D
  1. .... S DFN=^TMP("BDGILD6D",$J,DATE,SRV,FAC,IEN)
  1. .... D LINE
  1. ;
  1. K ^TMP("BDGILD6A",$J),^TMP("BDGILD6D",$J)
  1. Q
  1. ;
  1. LINE ; build patient data line
  1. S LINE=$$PAD($$NUMDATE^BDGF(DATE),17)_$E($$GET1^DIQ(2,DFN,.01),1,20)
  1. S LINE=$$PAD(LINE,40)_$J($$HRCN^BDGF2(DFN,DUZ(2)),6)
  1. S LINE=$$PAD($$PAD(LINE,52)_SRV,60)_$E(FAC,1,18)
  1. D SET(LINE,.VALMCNT)
  1. Q
  1. ;
  1. SET(DATA,NUM) ; put display line into array
  1. S NUM=NUM+1
  1. S ^TMP("BDGILD6",$J,NUM,0)=DATA
  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)