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

APCM24EP.m

Go to the documentation of this file.
  1. APCM24EP ; IHS/CMI/LAB - IHS MU ;
  1. ;;1.0;IHS MU PERFORMANCE REPORTS;**5,6**;MAR 26, 2012;Build 65
  1. ;
  1. ;
  1. PRINT ;EP
  1. K ^TMP($J)
  1. S APCMIOSL=$S($G(APCMGUI):55,1:IOSL)
  1. S APCMQUIT=""
  1. S ^TMP($J,"APCMDEL",0)=0
  1. I APCMROT="D" G DEL
  1. S APCMPTYP="P"
  1. D ^APCM24EH
  1. S APCMGPG=0
  1. S APCMQUIT=""
  1. D SUM
  1. D W^APCM24EH(" ",0,2,APCMPTYP)
  1. D LIST^APCM24NP
  1. D W^APCM24EH(" ",0,2,APCMPTYP)
  1. K ^TMP($J)
  1. I APCMROT="P" K ^XTMP("APCM1D",APCMJ,APCMH) D EOP Q
  1. ;
  1. DEL ;create delimited output file
  1. D ^%ZISC
  1. K ^TMP($J)
  1. S ^TMP($J,"APCMDEL",0)=0
  1. S APCMPTYP="D"
  1. D ^APCM24EH
  1. S APCMQUIT=""
  1. D SUM
  1. Q:APCMQUIT
  1. D LIST^APCM24NP
  1. Q:APCMQUIT
  1. D SAVEDEL^APCM24EQ
  1. K ^XTMP("APCM1D",APCMJ,APCMH)
  1. K ^TMP($J)
  1. D EOP
  1. Q
  1. WP ;
  1. K ^UTILITY($J,"W")
  1. S APCMZ=0,APCMLCNT=0
  1. S DIWL=1,DIWR=APCMCOL,DIWF="",APCMZ=0 F S APCMZ=$O(^APCM24OB(APCMIC,APCMNODE,APCMY,1,APCMZ)) Q:APCMZ'=+APCMZ D
  1. .S APCMLCNT=APCMLCNT+1
  1. .S X=^APCM24OB(APCMIC,APCMNODE,APCMY,1,APCMZ,0) S:APCMLCNT=1 X=" - "_X D ^DIWP
  1. .Q
  1. WPS ;
  1. S Z=0 F S Z=$O(^UTILITY($J,"W",DIWL,Z)) Q:Z'=+Z D
  1. .I APCMPTYP="P",$Y>(APCMIOSL-3) D HEADER Q:APCMQUIT
  1. .D W^APCM24EH(^UTILITY($J,"W",DIWL,Z,0),0,1,APCMPTYP)
  1. K DIWL,DIWR,DIWF,Z
  1. K ^UTILITY($J,"W"),X
  1. Q
  1. EOP ;EP - End of page.
  1. Q:$E(IOST)'="C"
  1. Q:$D(ZTQUEUED)!(IOT'["TRM")!$D(IO("S"))
  1. NEW DIR
  1. K DIRUT,DFOUT,DLOUT,DTOUT,DUOUT
  1. S DIR("A")="End of Report. Press Enter",DIR(0)="E" D ^DIR
  1. Q
  1. ;
  1. ;
  1. ;
  1. SCREEN ;
  1. S X=0 F S X=$O(^TMP($J,"APCMDEL",X)) Q:X'=+X W !,^TMP($J,"APCMDEL",X)
  1. Q
  1. EXIT ;
  1. I $E(IOST)="C",IO=IO(0),'$D(ZTQUEUED) W ! S DIR(0)="EO",DIR("A")="End of report. Press ENTER" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
  1. Q
  1. ;
  1. CALC(N,O) ;ENTRY POINT
  1. NEW Z
  1. S Z=N-O,Z=$FN(Z,"+,",1)
  1. Q Z
  1. ;
  1. SB(X) ;EP - Strip
  1. NEW %
  1. X ^DD("FUNC",$O(^DD("FUNC","B","STRIPBLANKS",0)),1)
  1. Q X
  1. ;
  1. C(X,X2,X3) ;
  1. I X'?.N Q $$RBLK^APCLUTL(X,10)
  1. D COMMA^%DTC
  1. Q X
  1. ;
  1. ;
  1. ;
  1. G:'APCMGPG HEADER1
  1. K DIR I $E(IOST)="C",IO=IO(0),'$D(ZTQUEUED) W ! S DIR(0)="EO" D ^DIR K DIR I Y=0!(Y="^")!($D(DTOUT)) S APCMQUIT=1 Q
  1. ;
  1. HEADER1 ;
  1. I APCMPTYP="P" W:$D(IOF) @IOF S APCMGPG=APCMGPG+1
  1. I APCMPTYP="P" S X=$P(^VA(200,DUZ,0),U,2),$E(X,35)=$$FMTE^XLFDT(DT),$E(X,70)="Page "_APCMGPG D W^APCM24EH(X,0,1,APCMPTYP)
  1. I APCMRPTT=1 D W^APCM24EH("** IHS 2014/2015 Stage 2 Meaningful Use Performance Measure Report for EPs **",1,2,APCMPTYP)
  1. I APCMRPTT=2 D W^APCM24EH("** IHS 2014/2015 Stage 2 MU Performance Report for Eligible Hospitals/CAHs **",1,2,APCMPTYP)
  1. I $G(APCMPROV),APCMRPTT=1 S X="Provider Name: "_$$SN^APCM24EH($P(^VA(200,APCMPROV,0),U,1)) D W^APCM24EH(X,1,1,APCMPTYP)
  1. I $G(APCMPROV),APCMRPTT=2 S X="Facility Name: "_$P(^DIC(4,APCMPROV,0),U,1) D W^APCM24EH(X,1,1,APCMPTYP)
  1. I $G(APCMTOT) S X="Aggregate Report for all Selected Providers" D W^APCM24EH(X,1,1,APCMPTYP)
  1. I APCMRPTT=1 S X="Facility Name: "_$P(^DIC(4,DUZ(2),0),U,1) D W^APCM24EH(X,1,1,APCMPTYP)
  1. S X="Report Period: "_$$FMTE^XLFDT(APCMBD)_" to "_$$FMTE^XLFDT(APCMED) D W^APCM24EH(X,1,1,APCMPTYP)
  1. S X=$$REPEAT^XLFSTR("-",80) D W^APCM24EH(X,0,1,APCMPTYP)
  1. Q
  1. ;
  1. CTR(X,Y) ;EP - Center X in a field Y wide.
  1. Q $J("",$S($D(Y):Y,1:IOM)-$L(X)\2)_X
  1. ;----------
  1. ;----------
  1. USR() ;EP - Return name .
  1. Q $S($G(DUZ):$S($D(^VA(200,DUZ,0)):$P(^(0),U),1:"UNKNOWN"),1:"DUZ UNDEFINED OR 0")
  1. ;----------
  1. ;
  1. SETN ;EP - set numerator fields
  1. S APCMCYN=$$V(1,APCMRPT,N,P,APCMPROV,$S($G(APCMTOT):"T",1:"I"),APCMRPTT) ;SPDX
  1. S APCMPRN=$$V(2,APCMRPT,N,P,APCMPROV,$S($G(APCMTOT):"T",1:"I"),APCMRPTT) ;SPDX
  1. I APCMCYN="" S APCMCYN=0
  1. I APCMPRN="" S APCMPRN=0
  1. Q:$P(^APCM24OB(APCMIC,0),U,6)="A" ;no % on attestation measures
  1. S APCMCYP=$S(APCMCYD:((APCMCYN/APCMCYD)*100),1:"")
  1. S APCMPRP=$S(APCMPRD:((APCMPRN/APCMPRD)*100),1:"")
  1. Q
  1. ;
  1. V(T,R,N,P,PROV,K,RT) ;EP ;SPDX
  1. NEW X,Y,Z,I,J
  1. I RT=1 S I=PROV_";VA(200,"
  1. I RT=2 S I=PROV_";AUTTLOC("
  1. I K="T" S I="TOTAL"
  1. I T=1 D Q X
  1. .S J=$O(^APCMM24C(R,$S(K="I":11,1:12),"B",I,0))
  1. .I 'J S X=0 Q
  1. .S X=$P($G(^APCMM24C(R,$S(K="I":11,1:12),J,N)),U,P)
  1. Q ""
  1. SUM ;summary sheet for each provider
  1. D SUM^APCM24ER
  1. Q