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

APCM11E3.m

Go to the documentation of this file.
  1. APCM11E3 ; IHS/CMI/LAB - IHS MU ;
  1. ;;1.0;IHS MU PERFORMANCE REPORTS;**1,2**;MAR 26, 2012;Build 11
  1. ;;;;;;Build 3
  1. DDA ;EP - CALCULATE DRUG INTERACTION CHECK MEASURE
  1. S F=$P(^APCMMUM(APCMIC,0),U,8)
  1. ;PER Chris Saddler check whole system for each provider
  1. I APCMRPTT=1 D Q
  1. .S APCMP=0 F S APCMP=$O(APCMPRV(APCMP)) Q:APCMP'=+APCMP D
  1. ..;S APCMEP=$$OCPARA()
  1. ..;CHECK MU DATE
  1. ..NEW Y,A S A="",Y=$P($G(^APCCCTRL(DUZ(2),"MU")),U,1) ;MU CLEAN DATE
  1. ..I Y="" S A="No" G DDA1
  1. ..I Y<APCMBDAT S A="Yes" G DDA1
  1. ..I Y'<APCMBDAT S A="No"
  1. DDA1 ..;
  1. ..D S^APCM11E1(APCMRPT,APCMIC,A,APCMP,APCMRPTT,APCMTIME,F) Q
  1. I APCMRPTT=2 S APCMP=APCMFAC D
  1. .;S APCMEP=$$OCPARA()
  1. .;CHECK MU DATE
  1. .NEW Y,A S A="",Y=$P($G(^APCCCTRL(DUZ(2),"MU")),U,1) ;MU CLEAN DATE
  1. .I Y="" S A="No" G DDA2
  1. .I Y<APCMBDAT S A="Yes" G DDA2
  1. .S A="No"
  1. DDA2 .;
  1. .D S^APCM11E1(APCMRPT,APCMIC,A,APCMP,APCMRPTT,APCMTIME,F) Q
  1. Q
  1. CDS ;EP - CALCULATE CDA MEASURE
  1. S F=$P(^APCMMUM(APCMIC,0),U,8)
  1. I APCMRPTT=1 S APCMP=0 F S APCMP=$O(APCMPRV(APCMP)) Q:APCMP'=+APCMP D
  1. .D S^APCM11E1(APCMRPT,APCMIC,APCMATTE("S1.010.EP",APCMP),APCMP,APCMRPTT,APCMTIME,F) Q
  1. I APCMRPTT=2 S APCMP=APCMFAC D
  1. .D S^APCM11E1(APCMRPT,APCMIC,APCMATTE("S1.009.H",APCMP),APCMP,APCMRPTT,APCMTIME,F) Q
  1. Q
  1. EKC ;EP - CALCULATE EKC MEASURE
  1. S F=$P(^APCMMUM(APCMIC,0),U,8)
  1. I APCMRPTT=1 S APCMP=0 F S APCMP=$O(APCMPRV(APCMP)) Q:APCMP'=+APCMP D
  1. .D S^APCM11E1(APCMRPT,APCMIC,APCMATTE("S1.013.EP",APCMP),APCMP,APCMRPTT,APCMTIME,F) Q
  1. I APCMRPTT=2 S APCMP=APCMFAC D
  1. .D S^APCM11E1(APCMRPT,APCMIC,APCMATTE("S1.012.H",APCMP),APCMP,APCMRPTT,APCMTIME,F) Q
  1. Q
  1. PS ;EP - CALCULATE PS MEASURE
  1. S F=$P(^APCMMUM(APCMIC,0),U,8)
  1. I APCMRPTT=1 S APCMP=0 F S APCMP=$O(APCMPRV(APCMP)) Q:APCMP'=+APCMP D
  1. .D S^APCM11E1(APCMRPT,APCMIC,APCMATTE("S1.014.EP",APCMP),APCMP,APCMRPTT,APCMTIME,F) Q
  1. I APCMRPTT=2 S APCMP=APCMFAC D
  1. .D S^APCM11E1(APCMRPT,APCMIC,APCMATTE("S1.013.H",APCMP),APCMP,APCMRPTT,APCMTIME,F) Q
  1. Q
  1. CQM ;EP - CALCULATE CQM MEASURE
  1. NEW APCMV
  1. S F=$P(^APCMMUM(APCMIC,0),U,8)
  1. I APCMRPTT=1 S APCMP=0 F S APCMP=$O(APCMPRV(APCMP)) Q:APCMP'=+APCMP D
  1. .S APCMEP=$$INSTALLD("BGP*11.0*2")
  1. .I APCMEP="Yes",APCMATTE("S1.015.EP",APCMP)="Yes" S APCMV="Yes"
  1. .E S APCMV="No"
  1. .D S^APCM11E1(APCMRPT,APCMIC,APCMV,APCMP,APCMRPTT,APCMTIME,F) Q
  1. I APCMRPTT=2 S APCMP=APCMFAC D
  1. .S APCMEP=$$INSTALLD("BGP*11.0*3")
  1. .I APCMEP="Yes",APCMATTE("S1.014.H",APCMP)="Yes" S APCMV="Yes"
  1. .E S APCMV="No"
  1. .D S^APCM11E1(APCMRPT,APCMIC,APCMV,APCMP,APCMRPTT,APCMTIME,F) Q
  1. Q
  1. DFC ;EP - CALCULATE DFC MEASURE
  1. ;always a yes
  1. S F=$P(^APCMMUM(APCMIC,0),U,8)
  1. I APCMRPTT=1 S APCMP=0 F S APCMP=$O(APCMPRV(APCMP)) Q:APCMP'=+APCMP D
  1. .I $D(APCM100R(APCMP,APCMTIME)) S F=$P(^APCMMUM(APCMIC,0),U,11) D S^APCM11E1(APCMRPT,APCMIC,"Provider is excluded from this measure as he/she had < 100 prescriptions issued during the EHR reporting period.",APCMP,APCMRPTT,APCMTIME,F,1)
  1. .S F=$P(^APCMMUM(APCMIC,0),U,8) D S^APCM11E1(APCMRPT,APCMIC,"Yes",APCMP,APCMRPTT,APCMTIME,F) Q
  1. I APCMRPTT=2 S APCMP=APCMFAC D
  1. .S F=$P(^APCMMUM(APCMIC,0),U,8) D S^APCM11E1(APCMRPT,APCMIC,"Yes",APCMP,APCMRPTT,APCMTIME,F) Q
  1. Q
  1. PL ;EP - CALCULATE EKC MEASURE
  1. S F=$P(^APCMMUM(APCMIC,0),U,8)
  1. I APCMRPTT=1 S APCMP=0 F S APCMP=$O(APCMPRV(APCMP)) Q:APCMP'=+APCMP D
  1. .D S^APCM11E1(APCMRPT,APCMIC,APCMATTE("S1.018.EP",APCMP),APCMP,APCMRPTT,APCMTIME,F) Q
  1. I APCMRPTT=2 S APCMP=APCMFAC D
  1. .D S^APCM11E1(APCMRPT,APCMIC,APCMATTE("S1.018.H",APCMP),APCMP,APCMRPTT,APCMTIME,F) Q
  1. Q
  1. IR ;EP - CALCULATE IMM REG OBJECTIVE
  1. I APCMRPTT=1 S APCMP=0 F S APCMP=$O(APCMPRV(APCMP)) Q:APCMP'=+APCMP D Q
  1. .I APCMATTE("S1.024.EP",APCMP)="N/A" S F=$P(^APCMMUM(APCMIC,0),U,11) D
  1. ..D S^APCM11E1(APCMRPT,APCMIC,"Provider is excluded from this measure as he/she has no registry to send immunizations to.",APCMP,APCMRPTT,APCMTIME,F,1)
  1. .I $D(APCMIMME(APCMP,APCMTIME)) S F=$P(^APCMMUM(APCMIC,0),U,11) D Q
  1. ..D S^APCM11E1(APCMRPT,APCMIC,"Provider is excluded from this measure as he/she had no visits with an immunization administered during the EHR reporting period.",APCMP,APCMRPTT,APCMTIME,F,1)
  1. .S F=$P(^APCMMUM(APCMIC,0),U,8) D S^APCM11E1(APCMRPT,APCMIC,APCMATTE("S1.024.EP",APCMP),APCMP,APCMRPTT,APCMTIME,F) Q
  1. I APCMRPTT=2 S APCMP=APCMFAC D
  1. .I APCMATTE("S1.022.H",APCMP)="N/A" S F=$P(^APCMMUM(APCMIC,0),U,11) D
  1. ..D S^APCM11E1(APCMRPT,APCMIC,"Facility is excluded from this measure as it has no registry to send immunizatons to.",APCMP,APCMRPTT,APCMTIME,F,1)
  1. .I $D(APCMIMME(APCMP,APCMTIME)) S F=$P(^APCMMUM(APCMIC,0),U,11) D
  1. ..D S^APCM11E1(APCMRPT,APCMIC,"Facility is excluded from this measure it had no visits with an immunization administered during the EHR reporting period.",APCMP,APCMRPTT,APCMTIME,F,1)
  1. .S F=$P(^APCMMUM(APCMIC,0),U,8) D S^APCM11E1(APCMRPT,APCMIC,APCMATTE("S1.022.H",APCMP),APCMP,APCMRPTT,APCMTIME,F) Q
  1. Q
  1. SS ;EP - SYNDROMIC SURV
  1. I APCMRPTT=1 S APCMP=0 F S APCMP=$O(APCMPRV(APCMP)) Q:APCMP'=+APCMP D
  1. .I APCMATTE("S1.025.EP",APCMP)="N/A" S F=$P(^APCMMUM(APCMIC,0),U,11) D
  1. ..D S^APCM11E1(APCMRPT,APCMIC,"Provider is excluded from this measure as he/she has no registry to send syndromic surveillance data to.",APCMP,APCMRPTT,APCMTIME,F,1)
  1. .S F=$P(^APCMMUM(APCMIC,0),U,8)
  1. .D S^APCM11E1(APCMRPT,APCMIC,APCMATTE("S1.025.EP",APCMP),APCMP,APCMRPTT,APCMTIME,F) Q
  1. I APCMRPTT=2 S APCMP=APCMFAC D
  1. .I APCMATTE("S1.024.H",APCMP)="N/A" S F=$P(^APCMMUM(APCMIC,0),U,11) D
  1. ..D S^APCM11E1(APCMRPT,APCMIC,"Hospital/CAH is excluded from this measure as it has no registry to send syndromic surveillance data to.",APCMP,APCMRPTT,APCMTIME,F,1)
  1. .S F=$P(^APCMMUM(APCMIC,0),U,8)
  1. .D S^APCM11E1(APCMRPT,APCMIC,APCMATTE("S1.024.H",APCMP),APCMP,APCMRPTT,APCMTIME,F) Q
  1. Q
  1. SLR ;EP - CALCULATE CDA MEASURE
  1. S F=$P(^APCMMUM(APCMIC,0),U,8)
  1. I APCMRPTT=1 S APCMP=0 F S APCMP=$O(APCMPRV(APCMP)) Q:APCMP'=+APCMP D
  1. .D S^APCM11E1(APCMRPT,APCMIC,APCMATTE("S1.010.EP",APCMP),APCMP,APCMRPTT,APCMTIME,F) Q
  1. I APCMRPTT=2 S APCMP=APCMFAC D
  1. .I APCMATTE("S1.023.H",APCMP)="N/A" S F=$P(^APCMMUM(APCMIC,0),U,11) D
  1. ..D S^APCM11E1(APCMRPT,APCMIC,"Hospital/CH is excluded from this measure as it has no Public Health Agency to send lab results to.",APCMP,APCMRPTT,APCMTIME,F,1)
  1. .S F=$P(^APCMMUM(APCMIC,0),U,8)
  1. .D S^APCM11E1(APCMRPT,APCMIC,APCMATTE("S1.023.H",APCMP),APCMP,APCMRPTT,APCMTIME,F) Q
  1. Q
  1. INSTALLD(APCMSTAL) ;EP - Determine if patch APCMSTAL was installed, where
  1. ; APCLSTAL is the name of the INSTALL. E.g "AG*6.0*11".
  1. ;
  1. NEW APCMY,DIC,X,Y
  1. S X=$P(APCMSTAL,"*",1)
  1. S DIC="^DIC(9.4,",DIC(0)="FM",D="C"
  1. D IX^DIC
  1. I Y<1 Q 0
  1. S DIC=DIC_+Y_",22,",X=$P(APCMSTAL,"*",2)
  1. D ^DIC
  1. I Y<1 Q 0
  1. S DIC=DIC_+Y_",""PAH"",",X=$P(APCMSTAL,"*",3)
  1. D ^DIC
  1. S APCMY=Y
  1. Q $S(APCMY<1:"No",1:"Yes")
  1. OCPARA() ;EP
  1. NEW VALUE,X,Y,Z,ORK
  1. S VALUE=""
  1. S (X,Y,Z)=""
  1. ;first check ORK SYSTEM ENABLE/DISABLE to see that it is Enabled
  1. S X=$$GET^XPAR("SYS","ORK SYSTEM ENABLE/DISABLE")
  1. I X'="E" Q "No^ORK SYSTEM ENABLE/DISABLE NOT ENABLED FOR SYSTEM" ;SYSTEM IS NOT CONFIGURED SO MEASURE NOT MET
  1. ;check for "DIV"
  1. S X=$$GET^XPAR("DIV","ORK SYSTEM ENABLE/DISABLE")
  1. I X="D" Q "No^ORK SYSTEM ENABLE/DISABLE SET TO DISABLED FOR DIVISION"
  1. ;now check system for ORK EDITABLE BY USER for the 9 items
  1. F Z=1:1:9 S Y=$T(PAR9+Z) S O=$P(Y,";;",2) S X=$$GET^XPAR("SYS","ORK EDITABLE BY USER",O,"E") I X'="NO" S VALUE=VALUE_"ORK EDITABLE BY USER NOT SET TO NO FOR SYSTEM FOR "_O_" ;"
  1. ;now check division for ORK EDITABLE BY USER for the 9 items, it can't say "Y"
  1. F Z=1:1:9 S Y=$T(PAR9+Z) S O=$P(Y,";;",2) S X=$$GET^XPAR("DIV","ORK EDITABLE BY USER",O,"E") I X="YES" S VALUE=VALUE_"ORK EDITABLE BY USER SET TO YES FOR DIVISION FOR "_O_" ;"
  1. ;now check ORK PROCESSING FLAG for system for the 9 items
  1. F Z=1:1:9 S Y=$T(PAR9+Z) S O=$P(Y,";;",2) S X=$$GET^XPAR("SYS","ORK PROCESSING FLAG",O) I X'="E" S VALUE=VALUE_"ORK PROCESSING FLAG NOT ENABLED FOR SYSTEM FOR "_O_" ;"
  1. ;now loop through the parameter file for ORK processing flag, look for an instance of one of the 9, make sure it is set to NO
  1. PAR1 ;
  1. S Y=$O(^XTV(8989.51,"B","ORK PROCESSING FLAG",0))
  1. I 'Y S VALUE=VALUE_"MISSING ORK PROCESSING FLAG PARAMETER" G PAR2
  1. S X=0 F S X=$O(^XTV(8989.5,X)) Q:X'=+X D
  1. .Q:'$D(^XTV(8989.5,X,0))
  1. .Q:$P(^XTV(8989.5,X,0),U,2)'=Y ;not ork PROCESSING FLAG
  1. .Q:$P(^XTV(8989.5,X,0),U)["DIC(9.4" ;not an entity we want ;IHS/OIT/CLS 02/08/2011
  1. .;Q:'$$INST($P(^XTV(8989.5,X,0),U,3)) ;not an instance we want
  1. .Q:'$$INST($$VAL^XBDIQ1(100.8,$P(^XTV(8989.5,X,0),U,3),.01)) ;IHS/OIT/CLS 02/08/2011 per Lori
  1. .;I $E($P($G(^XTV(8989.5,X,1)),U,1))'="E" S VALUE=VALUE_"ORK PROCESSING FLAG NOT ENABLED FOR "_$P(^XTV(8989.5,X,0),U,3)_" FOR "_$$VAL^XBDIQ1(8989.5,X,.01)_"; "
  1. .I $E($P($G(^XTV(8989.5,X,1)),U,1))'="E" S VALUE=VALUE_"ORK PROCESSING FLAG NOT ENABLED FOR "_($$VAL^XBDIQ1(100.8,$P(^XTV(8989.5,X,0),U,3),.01))_" FOR "_$$VAL^XBDIQ1(8989.5,X,.01)_"; " ;IHS/OIT/CLS 02/08/2011 per Lori
  1. .Q
  1. PAR2 ;
  1. I VALUE]"" Q "No^"_VALUE
  1. Q "Yes"
  1. INST(I) ;
  1. I $G(I)="" Q 0
  1. I I="ESTIMATED CREATININE CLEARANCE" Q 1
  1. I I="ALLERGY-DRUG INTERACTION" Q 1
  1. I I="ALLERGY-CONTRAST MEDIA INTERACTION" Q 1
  1. I I="CRITICAL DRUG INTERACTION" Q 1
  1. I I="RENAL FUNCTIONS OVER AGE 65" Q 1
  1. I I="GLUCOPHAGE-CONTRAST MEDIA" Q 1
  1. I I="GLUCOPHAGE-LAB RESULTS" Q 1
  1. I I="DANGEROUS MEDS FOR PT > 64" Q 1
  1. I I="NO ALLERGY ASSESSMENT" Q 1
  1. I I="ALLERGY UNASSESSIBLE" Q 1
  1. Q 0
  1. PAR9 ;;
  1. ;;ESTIMATED CREATININE CLEARANCE
  1. ;;ALLERGY-DRUG INTERACTION
  1. ;;ALLERGY-CONTRAST MEDIA INTERACTION
  1. ;;CRITICAL DRUG INTERACTION
  1. ;;RENAL FUNCTIONS OVER AGE 65
  1. ;;GLUCOPHAGE-CONTRAST MEDIA
  1. ;;GLUCOPHAGE-LAB RESULTS
  1. ;;DANGEROUS MEDS FOR PT > 64
  1. ;;NO ALLERGY ASSESSMENT
  1. ;;ALLERGY UNASSESSIBLE
  1. ;;