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

APCM2AEA.m

Go to the documentation of this file.
  1. APCM2AEA ; IHS/CMI/LAB - IHS MU ; 29 Jun 2016 5:29 PM
  1. ;;1.0;MU PERFORMANCE REPORTS;**7,8**;MAR 26, 2012;Build 22
  1. ;
  1. ET ;
  1. W ! S APCMZ=0 F S APCMZ=$O(^APCM25OB(APCMY,N,APCMZ)) Q:APCMZ'=+APCMZ W !,^APCM25OB(APCMY,N,APCMZ,0)
  1. W !
  1. Q
  1. SS ;EP
  1. Q
  1. SSH ;EP
  1. Q
  1. IMMREG ;EP - ask additional exclusion questions for IMM REG
  1. S APCMQ=0
  1. S APCMY=$O(^APCM25OB("B",APCMX,0))
  1. Q:'$D(APCMIND(APCMY)) ;measure not being run
  1. ;display exclusion text/narrative
  1. I $O(^APCM25OB(APCMY,APCMQU,0)) S N=APCMQU W !! D ET
  1. I APCMPLTY="SEL"!(APCMPLTY="TAX") D G:APCMIND=1 IMMIND Q
  1. .W !!,"Do all selected providers included in this report meet this"
  1. .S DIR(0)="Y",DIR("A")="exclusion",DIR("B")="YES" KILL DA D ^DIR KILL DIR
  1. .I $D(DIRUT) S APCMQ=1 Q
  1. .I 'Y S APCMIND=1 Q
  1. .S APCMP=0 F S APCMP=$O(APCMPRV(APCMP)) Q:APCMP'=+APCMP S APCMATTE(APCMX,APCMP)="N/A"
  1. IMMIND ;ask individually
  1. S APCMP=0 F S APCMP=$O(APCMPRV(APCMP)) Q:APCMP'=+APCMP!(APCMQ) D
  1. .S APCMZ=0 F S APCMZ=$O(^APCM25OB(APCMY,24,APCMZ)) Q:APCMZ'=+APCMZ W !,^APCM25OB(APCMY,24,APCMZ,0)
  1. .W ! S DIR(0)="Y",DIR("A")="Does "_$E($P(^VA(200,APCMP,0),U,1),1,25)_" meet this exclusion",DIR("B")="YES" KILL DA D ^DIR KILL DIR
  1. .I $D(DIRUT) S APCMQ=1 Q
  1. .S APCMATTE(APCMX,APCMP)=$S(Y:"N/A",1:"")
  1. IMM2 ;display exclusion text/narrative
  1. S APCMP=0,E=0,T=0 F S APCMP=$O(APCMATTE(APCMX,APCMP)) Q:APCMP=""!(APCMQ) D
  1. .S T=T+1
  1. .I APCMATTE(APCMX,APCMP)="N/A" S E=E+1 ;excluded so don't ask
  1. I E=T Q ;all excluded
  1. I $O(^APCM25OB(APCMY,31,0)) S N=31 W !! D ET
  1. ;
  1. IMMIND2 ;ask individually
  1. S APCMP=0 F S APCMP=$O(APCMPRV(APCMP)) Q:APCMP'=+APCMP!(APCMQ) D
  1. .Q:APCMATTE(APCMX,APCMP)="N/A" ;excluded
  1. .W ! S DIR(0)="Y",DIR("A")="Does "_$E($P(^VA(200,APCMP,0),U,1),1,25)_" attest to this",DIR("B")="YES" KILL DA D ^DIR KILL DIR
  1. .I $D(DIRUT) S APCMQ=1 Q
  1. .S APCMATTE(APCMX,APCMP)=$S(Y:"Yes",1:"No")
  1. Q
  1. SPECREG ;EP
  1. Q
  1. IMMREGH ;EP - ask additional exclusion questions for IMM REG
  1. S APCMQ=0
  1. S APCMY=$O(^APCM25OB("B",APCMX,0))
  1. Q:'$D(APCMIND(APCMY)) ;measure not being run
  1. ;display exclusion text/narrative
  1. I $O(^APCM25OB(APCMY,19,0)) S N=19 W !! D ET
  1. ;ask individually
  1. S APCMP=APCMFAC D
  1. .S APCMZ=0 F S APCMZ=$O(^APCM25OB(APCMY,24,APCMZ)) Q:APCMZ'=+APCMZ W !,^APCM25OB(APCMY,24,APCMZ,0)
  1. .W ! S DIR(0)="Y",DIR("A")="Does "_$E($P(^DIC(4,APCMP,0),U,1),1,25)_" meet this exclusion"
  1. .S DIR("B")="YES"
  1. .I $P(^APCM25OB(APCMY,0),U,1)="S2.025.H.1" S DIR("B")="NO"
  1. .KILL DA D ^DIR KILL DIR
  1. .I $D(DIRUT) S APCMQ=1 Q
  1. .S APCMATTE(APCMX,APCMP)=$S(Y:"N/A",1:"")
  1. IMMH2 ;display exclusion text/narrative
  1. S APCMP=0,E=0,T=0 F S APCMP=$O(APCMATTE(APCMX,APCMP)) Q:APCMP=""!(APCMQ) D
  1. .S T=T+1
  1. .I APCMATTE(APCMX,APCMP)="N/A" S E=E+1 ;excluded so don't ask
  1. I E=T Q ;all excluded
  1. I $O(^APCM25OB(APCMY,31,0)) S N=31 W !! D ET
  1. ;
  1. IMMINDH2 ;ask individually
  1. S APCMP=APCMFAC D
  1. .Q:APCMATTE(APCMX,APCMP)="N/A" ;excluded
  1. .W ! S DIR(0)="Y",DIR("A")="Does "_$E($P(^DIC(4,APCMP,0),U,1),1,25)_" attest to this",DIR("B")="YES" KILL DA D ^DIR KILL DIR
  1. .I $D(DIRUT) S APCMQ=1 Q
  1. .S APCMATTE(APCMX,APCMP)=$S(Y:"Yes",1:"No")
  1. Q
  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. MEDREC ;EP
  1. I APCMPTYP="P" D
  1. .F X=1,2 D
  1. ..S M=APCMIC
  1. ..I X=1 D W^APCM2AEH(" 7. Medication Rec 2015",0,2,APCMPTYP)
  1. ..I X=2 D W^APCM2AEH(" Medication Rec 2016",0,1,APCMPTYP)
  1. ..;TARGET
  1. ..S T=">50%"
  1. ..D W^APCM2AEH(T,0,0,APCMPTYP,,35)
  1. ..;RATE
  1. ..D SETND^APCM2AER
  1. ..D WRATE^APCM2AER
  1. ..;NUM/DEN
  1. ..D WNUMDEN^APCM2AER
  1. ..;EXCL
  1. ..D WEXCL^APCM2AER
  1. ..;ALT EXCL
  1. ..S I=$P(^APCM25OB(APCMIC,0),U,1)
  1. ..I X=1 D W^APCM2AEH($G(APCMATTE(I,APCMPROV)),0,0,APCMPTYP,,77)
  1. ..I X=2 D W^APCM2AEH("N/A",0,0,APCMPTYP,,77)
  1. I APCMPTYP="D" D
  1. .F X=1,2 D
  1. ..S M=APCMIC
  1. ..I X=1 S APCMX="Medication Rec 2015"
  1. ..I X=2 S APCMX="Medication Rec 2016"
  1. ..;TARGET
  1. ..S T=">50%"
  1. ..S $P(APCMX,U,2)=T
  1. ..;RATE
  1. ..D SETND^APCM2AER
  1. ..D WRATE^APCM2AER
  1. ..;NUM/DEN
  1. ..D WNUMDEN^APCM2AER
  1. ..;EXCL
  1. ..D WEXCL^APCM2AER
  1. ..;ALT EXCL
  1. ..S I=$P(^APCM25OB(APCMIC,0),U,1)
  1. ..I X=1 S $P(APCMX,U,7)=$G(APCMATTE(I,APCMPROV))
  1. ..I X=2 S $P(APCMX,U,7)="N/A"
  1. ..I X=1 D W^APCM25EH(APCMX,0,2,APCMPTYP,1)
  1. ..I X=2 D W^APCM25EH(APCMX,0,1,APCMPTYP,1)
  1. Q
  1. PEA ;EP
  1. I APCMPTYP="P" D
  1. .S M=APCMIC
  1. .D W^APCM2AEH(" 8. Patient Elec Access",0,2,APCMPTYP)
  1. .;TARGET
  1. .S T=">50%"
  1. .D W^APCM2AEH(T,0,0,APCMPTYP,,35)
  1. .;RATE
  1. .D SETND^APCM2AER
  1. .D WRATE^APCM2AER
  1. .;NUM/DEN
  1. .D WNUMDEN^APCM2AER
  1. .;EXCL
  1. .D WEXCL^APCM2AER
  1. .;ALT EXCL
  1. .D W^APCM2AEH("N/A",0,0,APCMPTYP,,77)
  1. I APCMPTYP="D" D
  1. .S M=APCMIC
  1. .S APCMX="Patient Elec Access"
  1. .;TARGET
  1. .S T=">50%"
  1. .S $P(APCMX,U,2)=T
  1. .;RATE
  1. .D SETND^APCM2AER
  1. .D WRATE^APCM2AER
  1. .;NUM/DEN
  1. .D WNUMDEN^APCM2AER
  1. .;EXCL
  1. .D WEXCL^APCM2AER
  1. .;ALT EXCL
  1. .S $P(APCMX,U,7)="N/A"
  1. .D W^APCM25EH(APCMX,0,2,APCMPTYP,1)
  1. ;VDT
  1. I APCMPTYP="P" D
  1. .F X=1,2 D
  1. ..S M=$O(^APCM25OB("B","S2.020.EP.1",0))
  1. ..I X=1 D W^APCM2AEH(" VDT 2015",0,1,APCMPTYP)
  1. ..I X=2 D W^APCM2AEH(" VDT 2016",0,1,APCMPTYP)
  1. ..;TARGET
  1. ..S T=">=1"
  1. ..D W^APCM2AEH(T,0,0,APCMPTYP,,35)
  1. ..;RATE
  1. ..D SETND^APCM2AER
  1. ..D W^APCM2AEH($$C^APCM2AER(APCMCYN,0,9),0,0,APCMPTYP,,40)
  1. ..;NUM/DEN
  1. ..D WNUMDEN^APCM2AER
  1. ..;EXCL
  1. ..D WEXCL^APCM2AER
  1. ..;ALT EXCL
  1. ..S I=$O(^APCM25OB("B","S2.020.EP,1",0))
  1. ..I X=1 D W^APCM2AEH($P($G(APCMATTE("S2.020.EP.1",APCMPROV)),U,2),0,0,APCMPTYP,,77)
  1. ..I X=2 D W^APCM2AEH("N/A",0,0,APCMPTYP,,77)
  1. .I $G(APCMVDTE) D
  1. ..D W^APCM25EH("Note: PHR Server access failed during report generation "_$P(APCMSEME,U,2)_" which may",0,1,APCMPTYP,,0)
  1. ..D W^APCM25EH("have affected the numerator results for this measure. Contact your IT staff to",0,1,APCMPTYP,,0)
  1. ..D W^APCM25EH("resolve the error and then regenerate the report again to obtain accurate",0,1,APCMPTYP,,0)
  1. ..D W^APCM25EH("results.",0,1,APCMPTYP,,0)
  1. I APCMPTYP="D" D
  1. .F X=1,2 D
  1. ..S M=APCMIC
  1. ..I X=1 S APCMX="VDT 2015"
  1. ..I X=2 S APCMX="VDT 2016"
  1. ..;TARGET
  1. ..S T=">=1"
  1. ..S $P(APCMX,U,2)=T
  1. ..;RATE
  1. ..D SETND^APCM2AER
  1. ..S $P(APCMX,U,3)=APCMCYN
  1. ..;NUM/DEN
  1. ..D WNUMDEN^APCM2AER
  1. ..;EXCL
  1. ..D WEXCL^APCM2AER
  1. ..;ALT EXCL
  1. ..S I=$P(^APCM25OB(APCMIC,0),U,1)
  1. ..I X=1 S $P(APCMX,U,7)=$P($G(APCMATTE("S2.020.EP.1",APCMPROV)),U,2)
  1. ..I X=2 S $P(APCMX,U,7)="N/A"
  1. ..D W^APCM25EH(APCMX,0,1,APCMPTYP,1)
  1. .I $G(APCMVDTE) D
  1. ..D W^APCM25EH("NOTE: Access to the PHR server to obtain VDT data failed "_$P(APCMVDTE,U,2),0,1,APCMPTYP,1)
  1. ..D W^APCM25EH("for at least one patient. Generate the report for this measure again to ",0,1,APCMPTYP,1)
  1. ..D W^APCM25EH("obtain accurate results.",0,1,APCMPTYP,1)
  1. Q
  1. SEM ;EP
  1. I APCMPTYP="P" D
  1. .F X=1,2 D
  1. ..S M=APCMIC
  1. ..I X=1 D W^APCM2AEH(" 9. Secure Messaging 2015+",0,2,APCMPTYP)
  1. ..I X=2 D W^APCM2AEH(" Secure Messaging 2016",0,1,APCMPTYP)
  1. ..;TARGET
  1. ..I X=2 S T=">=1"
  1. ..I X=1 S T="Yes"
  1. ..D W^APCM2AEH(T,0,0,APCMPTYP,,35)
  1. ..;RATE
  1. ..I X=1 D SETND^APCM2AER
  1. ..I X=1 D WRATE^APCM2AER
  1. ..I X=2 S (APCMCYN,APCMCYD,APCMCYP)=0
  1. ..I X=2 D W^APCM2AEH($$C(APCMCYP,0,9),0,0,APCMPTYP,,40)
  1. ..;NUM/DEN
  1. ..I X=1 D WNUMDEN^APCM2AER
  1. ..I X=2 D W^APCM2AEH($$C(APCMCYN,0,9),0,0,APCMPTYP,,51),W^APCM2AEH($$C(APCMCYD,0,9),0,0,APCMPTYP,,61)
  1. ..;EXCL
  1. ..D WEXCL^APCM2AER
  1. ..;ALT EXCL
  1. ..S I=$P(^APCM25OB(APCMIC,0),U,1)
  1. ..I X=1 D W^APCM2AEH($P($G(APCMATTE(I,APCMPROV)),U,3),0,0,APCMPTYP,,77)
  1. ..I X=2 D W^APCM2AEH("N/A",0,0,APCMPTYP,,77)
  1. .I $G(APCMSEME) D
  1. ..D W^APCM25EH("Note: PHR Server access failed during report generation "_$P(APCMSEME,U,2)_" which may",0,1,APCMPTYP,,0)
  1. ..D W^APCM25EH("have affected the numerator results for this measure. Contact your IT staff to",0,1,APCMPTYP,,0)
  1. ..D W^APCM25EH("resolve the error and then regenerate the report again to obtain accurate",0,1,APCMPTYP,,0)
  1. ..D W^APCM25EH("results.",0,1,APCMPTYP,,0)
  1. I APCMPTYP="D" D
  1. .F X=1,2 D
  1. ..S M=APCMIC
  1. ..I X=1 S APCMX="Secure Messaging 2015+"
  1. ..I X=2 S APCMX="Secure Messaging 2016"
  1. ..;TARGET
  1. ..I X=2 S T=">=1"
  1. ..I X=1 S T="Yes"
  1. ..S $P(APCMX,U,2)=T
  1. ..;RATE
  1. ..I X=1 D SETND^APCM2AER
  1. ..I X=1 D WRATE^APCM2AER
  1. ..;NUM/DEN
  1. ..I X=1 D WNUMDEN^APCM2AER
  1. ..I X=2 S $P(APCMX,U,3)=0,$P(APCMX,U,4)=0,$P(APCMX,U,5)=0
  1. ..;EXCL
  1. ..D WEXCL^APCM2AER
  1. ..;ALT EXCL
  1. ..S I=$P(^APCM25OB(APCMIC,0),U,1)
  1. ..I X=1 S $P(APCMX,U,7)=$P($G(APCMATTE(I,APCMPROV)),U,2)
  1. ..I X=2 S $P(APCMX,U,7)="N/A"
  1. ..I X=2 D W^APCM25EH(APCMX,0,1,APCMPTYP,1)
  1. ..I X=1 D W^APCM25EH(APCMX,0,2,APCMPTYP,1)
  1. .Q:'$G(APCMSEME)
  1. .D W^APCM25EH("Note: PHR Server access failed during report generation "_$P(APCMSEME,U,2)_" which may",0,1,APCMPTYP,1)
  1. .D W^APCM25EH("have affected the numerator results for this measure. Contact your IT staff to",0,1,APCMPTYP,1)
  1. .D W^APCM25EH("resolve the error and then regenerate the report again to obtain accurate results.",0,1,APCMPTYP,1)
  1. Q
  1. IMM ;EP
  1. I APCMPTYP="P" D
  1. .S M=APCMIC
  1. .D W^APCM2AEH("10. Public Health",0,2,APCMPTYP)
  1. .D W^APCM2AEH(" Immunization Regis*+",0,1,APCMPTYP)
  1. .;TARGET
  1. .S T="Yes"
  1. .D W^APCM2AEH(T,0,0,APCMPTYP,,35)
  1. .;RATE
  1. .D SETND^APCM2AER
  1. .D WRATE^APCM2AER
  1. .;NUM/DEN
  1. .D WNUMDEN^APCM2AER
  1. .;EXCL
  1. .D WEXCL^APCM2AER
  1. .;ALT EXCL
  1. .D W^APCM2AEH("N/A",0,0,APCMPTYP,,77)
  1. I APCMPTYP="D" D
  1. .S M=APCMIC
  1. .S APCMX="Public Health" D W^APCM25EH(APCMX,0,2,APCMPTYP,1)
  1. .S APCMX="Immunization Regis*+"
  1. .;TARGET
  1. .S T="Yes"
  1. .S $P(APCMX,U,2)=T
  1. .;RATE
  1. .D SETND^APCM2AER
  1. .D WRATE^APCM2AER
  1. .;NUM/DEN
  1. .D WNUMDEN^APCM2AER
  1. .;EXCL
  1. .D WEXCL^APCM2AER
  1. .;ALT EXCL
  1. .S $P(APCMX,U,7)="N/A"
  1. .D W^APCM25EH(APCMX,0,1,APCMPTYP,1)
  1. Q
  1. SYN ;EP
  1. I APCMPTYP="P" D
  1. .S M=APCMIC
  1. .;D W^APCM2AEH(" 9. Public Health",0,2,APCMPTYP)
  1. .D W^APCM2AEH(" Syndromic Surveil*+",0,1,APCMPTYP)
  1. .;TARGET
  1. .S T="Yes"
  1. .D W^APCM2AEH(T,0,0,APCMPTYP,,35)
  1. .;RATE
  1. .D SETND^APCM2AER
  1. .D WRATE^APCM2AER
  1. .;NUM/DEN
  1. .D WNUMDEN^APCM2AER
  1. .;EXCL
  1. .D WEXCL^APCM2AER
  1. .;ALT EXCL
  1. .D W^APCM2AEH("N/A",0,0,APCMPTYP,,77)
  1. I APCMPTYP="D" D
  1. .S M=APCMIC
  1. .;S APCMX="Public Health" D W^APCM25EH(APCMX,0,2,APCMPTYP,1)
  1. .S APCMX="Syndromic Surveil*+"
  1. .;TARGET
  1. .S T="Yes"
  1. .S $P(APCMX,U,2)=T
  1. .;RATE
  1. .D SETND^APCM2AER
  1. .D WRATE^APCM2AER
  1. .;NUM/DEN
  1. .D WNUMDEN^APCM2AER
  1. .;EXCL
  1. .D WEXCL^APCM2AER
  1. .;ALT EXCL
  1. .S $P(APCMX,U,7)="N/A"
  1. .D W^APCM25EH(APCMX,0,1,APCMPTYP,1)
  1. Q
  1. SR ;EP
  1. I APCMPTYP="P" D
  1. .S M=APCMIC
  1. .;D W^APCM2AEH(" 9. Public Health",0,2,APCMPTYP)
  1. .D W^APCM2AEH(" Rept to Special Reg*+",0,1,APCMPTYP)
  1. .;TARGET
  1. .S T="Yes"
  1. .D W^APCM2AEH(T,0,0,APCMPTYP,,35)
  1. .;RATE
  1. .D SETND^APCM2AER
  1. .D WRATE^APCM2AER
  1. .;NUM/DEN
  1. .D WNUMDEN^APCM2AER
  1. .;EXCL
  1. .D WEXCL^APCM2AER
  1. .;ALT EXCL
  1. .D W^APCM2AEH("N/A",0,0,APCMPTYP,,77)
  1. I APCMPTYP="D" D
  1. .S M=APCMIC
  1. .;S APCMX="Public Health" D W^APCM25EH(APCMX,0,2,APCMPTYP,1)
  1. .S APCMX="Rept to Special Reg*+"
  1. .;TARGET
  1. .S T="Yes"
  1. .S $P(APCMX,U,2)=T
  1. .;RATE
  1. .D SETND^APCM2AER
  1. .D WRATE^APCM2AER
  1. .;NUM/DEN
  1. .D WNUMDEN^APCM2AER
  1. .;EXCL
  1. .D WEXCL^APCM2AER
  1. .;ALT EXCL
  1. .S $P(APCMX,U,7)="N/A"
  1. .D W^APCM25EH(APCMX,0,1,APCMPTYP,1)
  1. Q