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

APCM2AE6.m

Go to the documentation of this file.
  1. APCM2AE6 ;IHS/CMI/LAB - IHS MU REPORT;
  1. ;;1.0;MU PERFORMANCE REPORTS;**7,8**;MAR 26, 2012;Build 22
  1. ;
  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. S X3=""
  1. I X'?.N Q $$LBLK^APCLUTL(X,7)
  1. D COMMA^%DTC
  1. S X=$$STRIP^XLFSTR(X," ")
  1. Q $$LBLK^APCLUTL(X,7)
  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. 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(0)="E" D ^DIR
  1. Q
  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. SETN ;EP - set numerator fields
  1. S APCMCYN=$$V(1,APCMRPT,N,P,APCMPROV,$S($G(APCMTOT):"T",1:"I"),APCMRPTT) ;SPDX
  1. Q:$P(^APCM25OB(M,0),U,6)="A" ;no % on attestation measures
  1. S APCMCYP=$S(APCMCYD:((APCMCYN/APCMCYD)*100),1:"")
  1. Q
  1. ;
  1. V(T,R,N,P,PROV,K,RT) ;EP
  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 T=1 D Q X
  1. .S J=$O(^APCMM25C(R,11,"B",I,0))
  1. .I 'J S X=0 Q
  1. .S X=$P($G(^APCMM25C(R,11,J,N)),U,P)
  1. Q ""
  1. W ;EP
  1. I $P(^APCM25OB(APCMIC,0),U,1)="S2.014.EP" D PHI Q
  1. I $P(^APCM25OB(APCMIC,0),U,1)="S2.010.EP" D CDS Q
  1. I $P(^APCM25OB(APCMIC,0),U,1)="S2.001.EP" D CPOEM Q
  1. I $P(^APCM25OB(APCMIC,0),U,1)="S2.001.1EP" D CPOEL Q
  1. I $P(^APCM25OB(APCMIC,0),U,1)="S2.001.2EP" D CPOER Q
  1. I $P(^APCM25OB(APCMIC,0),U,1)="S2.003.EP" D EPRES Q
  1. I $P(^APCM25OB(APCMIC,0),U,1)="S2.023.EP" D SC Q
  1. I $P(^APCM25OB(APCMIC,0),U,1)="S2.021.EP" D PTED Q
  1. I $P(^APCM25OB(APCMIC,0),U,1)="S2.022.EP" D MEDREC^APCM2AE0 Q
  1. I $P(^APCM25OB(APCMIC,0),U,1)="S2.020.EP" D PEA^APCM2AE0 Q
  1. I $P(^APCM25OB(APCMIC,0),U,1)="S2.026.EP" D SEM^APCM2AE0 Q
  1. I $P(^APCM25OB(APCMIC,0),U,1)="S2.024.EP" D IMM^APCM2AE0 Q
  1. I $P(^APCM25OB(APCMIC,0),U,1)="S2.025.EP" D SYN^APCM2AE0 Q
  1. I $P(^APCM25OB(APCMIC,0),U,1)="S2.030.EP" D SR^APCM2AE0 Q
  1. ;
  1. Q
  1. SETND ;
  1. S APCMDF=$P(^APCM25OB(M,0),U,8)
  1. S APCMNP=$P(^DD(9001304.0311,APCMDF,0),U,4),N=$P(APCMNP,";"),P=$P(APCMNP,";",2)
  1. S APCMCYD=$$V(1,APCMRPT,N,P,APCMPROV,$S($G(APCMTOT):"T",1:"I"),APCMRPTT)
  1. I $P(^APCM25OB(M,0),U,6)="A" S (APCMPRN,APCMCYN)="" Q
  1. S APCMNF=$P(^APCM25OB(M,0),U,9) ;numerator field
  1. S APCMNP=$P(^DD(9001304.0311,APCMNF,0),U,4),N=$P(APCMNP,";"),P=$P(APCMNP,";",2)
  1. D SETN
  1. Q
  1. PHI ;
  1. I APCMPTYP="P" D Q
  1. .D W^APCM2AEH(" 1. Protect e-Health Info+",0,2,APCMPTYP)
  1. .;
  1. .S T=$S($E(APCMPER,1,3)=315:1,$E(APCMPER,1,3)=316:2,$E(APCMPER,1,3)=317:3,1:1)
  1. .D W^APCM2AEH($P($G(^APCM25OB(APCMIC,12)),U,T),0,0,APCMPTYP,,35)
  1. .;
  1. .S M=APCMIC
  1. .D SETND
  1. .D WRATE
  1. .;
  1. .D WNUMDEN
  1. .;
  1. .D W^APCM2AEH("N/A",0,0,APCMPTYP,,71)
  1. .;
  1. .D W^APCM2AEH("N/A",0,0,APCMPTYP,,77)
  1. I APCMPTYP="D" D
  1. .S APCMX=$P(^APCM25OB(APCMIC,0),U,14)_$S($P(^APCM25OB(APCMIC,0),U,6)="A":"+",1:"")
  1. .;
  1. .S T=$S($E(APCMPER,1,3)=315:1,$E(APCMPER,1,3)=316:2,$E(APCMPER,1,3)=317:3,1:1)
  1. .S $P(APCMX,U,2)=$P($G(^APCM25OB(APCMIC,12)),U,T)
  1. .;
  1. .S M=APCMIC
  1. .D SETND
  1. .D WRATE
  1. .;
  1. .D WNUMDEN
  1. .;
  1. .S $P(APCMX,U,6)="N/A"
  1. .S $P(APCMX,U,7)="N/A"
  1. .D W^APCM25EH(APCMX,0,2,APCMPTYP,1)
  1. Q
  1. CDS ;
  1. I APCMPTYP="P" D Q
  1. .D W^APCM2AEH(" 2. Clin Decision Support+",0,2,APCMPTYP)
  1. .D
  1. ..S M=$O(^APCM25OB("B","S2.010.EP.1",0))
  1. ..D W^APCM2AEH(" Imp 5 CDS 2016+",0,1,APCMPTYP)
  1. ..S T=$S($E(APCMPER,1,3)=315:1,$E(APCMPER,1,3)=316:2,$E(APCMPER,1,3)=317:3,1:1)
  1. ..D W^APCM2AEH($P($G(^APCM25OB(M,12)),U,T),0,0,APCMPTYP,,35)
  1. ..D SETND
  1. ..D WRATE
  1. ..D WNUMDEN
  1. ..D W^APCM2AEH("N/A",0,0,APCMPTYP,,71)
  1. ..D W^APCM2AEH("N/A",0,0,APCMPTYP,,77)
  1. .D W^APCM2AEH(" Drug Interaction Check+",0,1,APCMPTYP)
  1. .S M=$O(^APCM25OB("B","S2.010.EP.2",0))
  1. .S T=$S($E(APCMPER,1,3)=315:1,$E(APCMPER,1,3)=316:2,$E(APCMPER,1,3)=317:3,1:1)
  1. .D W^APCM2AEH($P($G(^APCM25OB(M,12)),U,T),0,0,APCMPTYP,,35)
  1. .D SETND
  1. .D WRATE
  1. .D WNUMDEN
  1. .D WEXCL
  1. .D W^APCM2AEH("N/A",0,0,APCMPTYP,,77)
  1. I APCMPTYP="D" D
  1. .S APCMX="Clin Decision Support+" D W^APCM25EH(APCMX,0,2,APCMPTYP,1)
  1. .D
  1. ..S M=$O(^APCM25OB("B","S2.010.EP.1",0))
  1. ..S APCMX=" Imp 5 CDS 2016+"
  1. ..S T=$S($E(APCMPER,1,3)=315:1,$E(APCMPER,1,3)=316:2,$E(APCMPER,1,3)=317:3,1:1)
  1. ..S $P(APCMX,U,2)=$P($G(^APCM25OB(M,12)),U,T)
  1. ..D SETND
  1. ..D WRATE
  1. ..D WNUMDEN
  1. ..S $P(APCMX,U,6)="N/A"
  1. ..S $P(APCMX,U,7)="N/A"
  1. ..D W^APCM2AEH(APCMX,0,1,APCMPTYP,1)
  1. .S APCMX=" Drug Interaction Check+"
  1. .S M=$O(^APCM25OB("B","S2.010.EP.2",0))
  1. .S T=$S($E(APCMPER,1,3)=315:1,$E(APCMPER,1,3)=316:2,$E(APCMPER,1,3)=317:3,1:1)
  1. .S $P(APCMX,U,2)=$P($G(^APCM25OB(M,12)),U,T)
  1. .D SETND
  1. .D WRATE
  1. .D WNUMDEN
  1. .D WEXCL
  1. .S $P(APCMX,U,7)="N/A"
  1. .D W^APCM2AEH(APCMX,0,1,APCMPTYP,1)
  1. Q
  1. CPOEM ;
  1. I APCMPTYP="P" D
  1. .D
  1. ..S M=APCMIC
  1. ..D W^APCM2AEH(" 3. CPOE Medications 2016",0,2,APCMPTYP)
  1. ..S T=">60%"
  1. ..D W^APCM2AEH(T,0,0,APCMPTYP,,35)
  1. ..D SETND
  1. ..D WRATE
  1. ..D WNUMDEN
  1. ..D WEXCL
  1. ..D W^APCM2AEH("N/A",0,0,APCMPTYP,,77)
  1. I APCMPTYP="D" D
  1. .D
  1. ..S M=APCMIC
  1. ..S APCMX="CPOE Medications 2016"
  1. ..S T=">60%"
  1. ..S $P(APCMX,U,2)=T
  1. ..D SETND
  1. ..D WRATE
  1. ..D WNUMDEN
  1. ..D WEXCL
  1. ..S $P(APCMX,U,7)="N/A"
  1. ..D W^APCM2AEH(APCMX,0,2,APCMPTYP,1)
  1. Q
  1. CPOEL ;
  1. I APCMPTYP="P" D
  1. .S M=APCMIC
  1. .D W^APCM2AEH(" CPOE Laboratory",0,1,APCMPTYP)
  1. .S T=">30%"
  1. .D W^APCM2AEH(T,0,0,APCMPTYP,,35)
  1. .D SETND
  1. .D WRATE
  1. .D WNUMDEN
  1. .D WEXCL
  1. .S I=$P(^APCM25OB(APCMIC,0),U,1)
  1. .D W^APCM2AEH($G(APCMATTE(I,APCMPROV)),0,0,APCMPTYP,,77)
  1. I APCMPTYP="D" D
  1. .S M=APCMIC
  1. .S APCMX="CPOE Laboratory"
  1. .S T=">30%"
  1. .S $P(APCMX,U,2)=T
  1. .D SETND
  1. .D WRATE
  1. .D WNUMDEN
  1. .D WEXCL
  1. .S I=$P(^APCM25OB(APCMIC,0),U,1)
  1. .S $P(APCMX,U,7)=$G(APCMATTE(I,APCMPROV))
  1. .D W^APCM2AEH(APCMX,0,1,APCMPTYP,1)
  1. Q
  1. CPOER ;
  1. I APCMPTYP="P" D
  1. .S M=APCMIC
  1. .D W^APCM2AEH(" CPOE Radiology",0,1,APCMPTYP)
  1. .S T=">30%"
  1. .D W^APCM2AEH(T,0,0,APCMPTYP,,35)
  1. .D SETND
  1. .D WRATE
  1. .D WNUMDEN
  1. .D WEXCL
  1. .S I=$P(^APCM25OB(APCMIC,0),U,1)
  1. .D W^APCM2AEH($G(APCMATTE(I,APCMPROV)),0,0,APCMPTYP,,77)
  1. I APCMPTYP="D" D
  1. .S M=APCMIC
  1. .S APCMX="CPOE Radiology"
  1. .S T=">30%"
  1. .S $P(APCMX,U,2)=T
  1. .D SETND
  1. .D WRATE
  1. .D WNUMDEN
  1. .D WEXCL
  1. .S I=$P(^APCM25OB(APCMIC,0),U,1)
  1. .S $P(APCMX,U,7)=$G(APCMATTE(I,APCMPROV))
  1. .D W^APCM2AEH(APCMX,0,1,APCMPTYP,1)
  1. Q
  1. EPRES ;
  1. I APCMPTYP="P" D
  1. .D
  1. ..S M=APCMIC
  1. ..D W^APCM2AEH(" 4. e-Prescribe (e-Rx) 2016",0,2,APCMPTYP)
  1. ..S T=">50%"
  1. ..D W^APCM2AEH(T,0,0,APCMPTYP,,35)
  1. ..D SETND
  1. ..D WRATE
  1. ..D WNUMDEN
  1. ..D WEXCL
  1. ..D W^APCM2AEH("N/A",0,0,APCMPTYP,,77)
  1. I APCMPTYP="D" D
  1. .D
  1. ..S M=APCMIC
  1. ..S APCMX="e-Prescribe (e-Rx) 2016"
  1. ..S T=">50%"
  1. ..S $P(APCMX,U,2)=T
  1. ..D SETND
  1. ..D WRATE
  1. ..D WNUMDEN
  1. ..D WEXCL
  1. ..S $P(APCMX,U,7)="N/A"
  1. ..D W^APCM2AEH(APCMX,0,2,APCMPTYP,1)
  1. Q
  1. SC ;summary of care
  1. I APCMPTYP="P" D
  1. .D
  1. ..S M=APCMIC
  1. ..D W^APCM2AEH(" 5. Sum of Care (HIE) 2016",0,2,APCMPTYP)
  1. ..S T=">10%"
  1. ..D W^APCM2AEH(T,0,0,APCMPTYP,,35)
  1. ..D SETND
  1. ..D WRATE
  1. ..D WNUMDEN
  1. ..D WEXCL
  1. ..S I=$P(^APCM25OB(APCMIC,0),U,1)
  1. ..D W^APCM2AEH("N/A",0,0,APCMPTYP,,77)
  1. I APCMPTYP="D" D
  1. .D
  1. ..S M=APCMIC
  1. ..S APCMX="Sum of Care (HIE) 2016"
  1. ..S T=">10%"
  1. ..S $P(APCMX,U,2)=T
  1. ..D SETND
  1. ..D WRATE
  1. ..D WNUMDEN
  1. ..D WEXCL
  1. ..S I=$P(^APCM25OB(APCMIC,0),U,1)
  1. ..S $P(APCMX,U,7)="N/A"
  1. ..D W^APCM2AEH(APCMX,0,2,APCMPTYP,1)
  1. Q
  1. PTED ;
  1. I APCMPTYP="P" D
  1. .D
  1. ..S M=APCMIC
  1. ..D W^APCM2AEH(" 6. Patient Education 2016",0,2,APCMPTYP)
  1. ..;
  1. ..S T=">10%"
  1. ..D W^APCM2AEH(T,0,0,APCMPTYP,,35)
  1. ..;
  1. ..D SETND
  1. ..D WRATE
  1. ..;
  1. ..D WNUMDEN
  1. ..;
  1. ..D WEXCL
  1. ..;
  1. ..S I=$P(^APCM25OB(APCMIC,0),U,1)
  1. ..D W^APCM2AEH("N/A",0,0,APCMPTYP,,77)
  1. I APCMPTYP="D" D
  1. .D
  1. ..S M=APCMIC
  1. ..S APCMX="Patient Education 2016"
  1. ..;
  1. ..S T=">10%"
  1. ..S $P(APCMX,U,2)=T
  1. ..;
  1. ..D SETND
  1. ..D WRATE
  1. ..;
  1. ..D WNUMDEN
  1. ..;
  1. ..D WEXCL
  1. ..;
  1. ..S I=$P(^APCM25OB(APCMIC,0),U,1)
  1. ..S $P(APCMX,U,7)="N/A"
  1. ..D W^APCM2AEH(APCMX,0,2,APCMPTYP,1)
  1. Q
  1. WEXCL ;
  1. S APCMEF=$P(^APCM25OB(M,0),U,11)
  1. I APCMEF]"" D
  1. .S APCMNP=$P(^DD(9001304.0311,APCMEF,0),U,4),N=$P(APCMNP,";"),P=$P(APCMNP,";",2)
  1. .S APCMEV=$$V(1,APCMRPT,N,P,APCMPROV,$S($G(APCMTOT):"T",1:"I"),APCMRPTT)
  1. .I APCMPTYP="P" D W^APCM25EH($S(APCMEV="N/A":"N/A",APCMEV]"":"Yes",1:"No"),0,0,APCMPTYP,,71)
  1. .I APCMPTYP="D" S $P(APCMX,U,6)=$S(APCMEV="N/A":"N/A",APCMEV]"":"Yes",1:"No")
  1. I APCMEF="" D
  1. .I APCMPTYP="P" D W^APCM25EH("N/A",0,0,APCMPTYP,,71)
  1. .S $P(APCMX,U,6)="N/A"
  1. Q
  1. WRATE ;
  1. I APCMPTYP="P" D Q
  1. .I $P(^APCM25OB(M,0),U,6)="A" D W^APCM2AEH($S(APCMCYD]"":$$LBLK^APCLUTL(APCMCYD,8),1:$$LBLK^APCLUTL("N/A",8)),0,0,APCMPTYP,,40)
  1. .I $P(^APCM25OB(M,0),U,6)'="A" D W^APCM2AEH($J(APCMCYP,8,2)_"%",0,0,APCMPTYP,,40)
  1. I $P(^APCM25OB(M,0),U,6)="A" S $P(APCMX,U,3)=$S(APCMCYD]"":APCMCYD,1:"N/A")
  1. I $P(^APCM25OB(M,0),U,6)'="A" S $P(APCMX,U,3)=$S($P(^APCM25OB(M,0),U,6)="A":"N/A",1:$J(APCMCYP,8,2)_"%")
  1. Q
  1. WNUMDEN ;
  1. I APCMPTYP="P" D Q
  1. .D W^APCM2AEH($S($P(^APCM25OB(M,0),U,6)="A":" N/A",APCMCYN'?.N:" N/A",1:$$C(APCMCYN,0,9)),0,0,APCMPTYP,,51)
  1. .D W^APCM2AEH($S($P(^APCM25OB(M,0),U,6)="A":" N/A",APCMCYD'?.N:" N/A",1:$$C(APCMCYD,0,9)),0,0,APCMPTYP,,61)
  1. S $P(APCMX,U,4)=$S($P(^APCM25OB(M,0),U,6)="A":"N/A",1:+APCMCYN)
  1. S $P(APCMX,U,5)=$S($P(^APCM25OB(M,0),U,6)="A":"N/A",1:+APCMCYD)
  1. Q