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

APCM25EM.m

Go to the documentation of this file.
  1. APCM25EM ;IHS/CMI/LAB - IHS MU AVG CENSUS;
  1. ;;1.0;MU PERFORMANCE REPORTS;**7**;MAR 26, 2012;Build 15
  1. ;
  1. ;
  1. AVC(APCMBD,APCMED,F) ;EP - GET # H VISITS IN PREVIOUS CALENDAR YEAR AND DIVIDE BY 365
  1. NEW BD,ED,X,Y,T,D
  1. S X=$E(APCMBD,1,3)-1
  1. S BD=X_"0101"
  1. S ED=X_"1231"
  1. S Y=1700+X
  1. S D=$S($$LEAP^%DTC(Y):366,1:365)
  1. S SD=$$FMADD^XLFDT(BD,-1)_".9999"
  1. S T=0
  1. F S SD=$O(^AUPNVSIT("B",SD)) Q:SD'=+SD!($P(SD,".")>ED) D
  1. .S X=0 F S X=$O(^AUPNVSIT("B",SD,X)) Q:X'=+X D
  1. ..Q:'$D(^AUPNVSIT(X,0))
  1. ..Q:$P(^AUPNVSIT(X,0),U,7)'="H"
  1. ..Q:$P(^AUPNVSIT(X,0),U,6)'=F
  1. ..Q:$P(^AUPNVSIT(X,0),U,11) ;deleted
  1. ..S T=T+1
  1. Q T/D
  1. AVCADT(APCMBD,APCMED) ; -- have user select report by ward or by service
  1. NEW APCMFRM,APCMIA
  1. S APCMFRM=1
  1. S APCMIA=1
  1. ;
  1. ;
  1. INIT ; -- init variables and list array
  1. NEW APCMDAYS,APCMADC
  1. K APCMADC
  1. S APCMDAYS=$$FMDIFF^XLFDT(APCMED,APCMBD)+1 ;# of days in date range
  1. ;
  1. D 1 ;gather ward or service stats for date range
  1. ;
  1. I '$D(APCMADC) Q 0
  1. ;
  1. Q APCMADC
  1. ;
  1. 1 ; step thru ADT Census-Ward file for date range
  1. NEW WARD,WRDNM,DATE,APCMA,X,LINE,TOTAL
  1. S WARD=0
  1. F S WARD=$O(^BDGCWD(WARD)) Q:'WARD D
  1. . I APCMIA=0,'$D(^BDGWD(WARD)) Q ;old ward, no longer used
  1. . I APCMIA=0,$$GET1^DIQ(9009016.5,WARD,.03)="INACTIVE" Q
  1. . S WRDNM=$$GET1^DIQ(42,WARD,.01) ;ward name
  1. . ;
  1. . S DATE=APCMBD-.001
  1. . F S DATE=$O(^BDGCWD(WARD,1,DATE)) Q:DATE>APCMED Q:'DATE D
  1. .. ; count patients remaining and one day patients
  1. .. S X=$P($G(^BDGCWD(WARD,1,DATE,0)),U,2)+$P($G(^(0)),U,8)
  1. .. ; increment array for total inpatient days
  1. .. S APCMA(WRDNM)=$G(APCMA(WRDNM))+X
  1. ;
  1. ; put sorted data into display array
  1. S WARD=0 F S WARD=$O(APCMA(WARD)) Q:WARD="" D
  1. . ; increment totals
  1. . S TOTAL=$G(TOTAL)+APCMA(WARD)
  1. ;
  1. ; put totals line into display array
  1. I $G(TOTAL) D
  1. . S APCMADC=TOTAL/APCMDAYS
  1. Q