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

APCM14E5.m

Go to the documentation of this file.
  1. APCM14E5 ;IHS/CMI/LAB - IHS MU;
  1. ;;1.0;IHS MU PERFORMANCE REPORTS;**5,6**;MAR 26, 2012;Build 65
  1. ;
  1. PATEDUC ;EP - CALCULATE PAT ED
  1. ;if so, then check to see if they have PAT ED LITERATURE documented anytime from report period begin date to DT
  1. NEW APCMP
  1. S (APCMD1,APCMN1)=0
  1. I APCMRPTT=1 D Q
  1. .S APCMP=0 F S APCMP=$O(APCMPRV(APCMP)) Q:APCMP'=+APCMP D
  1. ..Q:'$D(APCMHVTP(APCMP))
  1. ..D PATEDUC1
  1. ..Q
  1. I APCMRPTT=2 D
  1. .S APCMP=APCMFAC
  1. .Q:'$D(APCMHVTP(APCMP))
  1. .D PATEDUC1
  1. .Q
  1. Q
  1. PATEDUC1 ;
  1. ;set denominator value into field
  1. S F=$P(^APCM14OB(APCMIC,0),U,8)
  1. D S^APCM14E1(APCMRPT,APCMIC,1,APCMP,APCMRPTT,APCMTIME,F)
  1. ;numerator?
  1. S APCMVALU="VISIT: "_$$DATE^APCM1UTL(APCMHVTP(APCMP))
  1. ;S APCMEP=$$HASED(DFN,APCMBDAT,DT)
  1. ;S APCMEP=$$HASED(DFN,$$FMADD^XLFDT(APCMBDAT,-365),DT)
  1. ;I APCMRPTT=2 S APCMEP=$$HASEDH(DFN,APCMBDAT,APCMEDAT,APCMFAC,.APCMVSTS)
  1. NEW B
  1. I APCMRPTT=1 S B=$E(APCMBDAT,1,3)_"0101"
  1. I APCMRPTT=2 S B=$S(+$E(APCMBDAT,4,5)>9:$E(APCMBDAT,1,3)_"1001",1:$E(APCMBDAT,1,3)-1_"1001")
  1. S APCMEP=$$HASED(DFN,B,APCMEDAT)
  1. S APCMVALU=APCMVALU_"|||"_$P(APCMEP,U,2)_"|||"_$P(APCMEP,U,1)
  1. S F=$P(^APCM14OB(APCMIC,0),U,9)
  1. D S^APCM14E1(APCMRPT,APCMIC,$P(APCMEP,U,1),APCMP,APCMRPTT,APCMTIME,F)
  1. ;S APCMVALU=APCMVALU_"|||"_$P(APCMEP,U,2)_"|||"_$P(APCMEP,U,1)
  1. D SETLIST^APCM14E1
  1. Q
  1. HASED(P,BD,ED) ;does patient have Patient Ed -L
  1. ;
  1. NEW A,B,C,D,E,PED,Y,EDUC,X,T
  1. S C=0
  1. S PED=""
  1. S Y="EDUC("
  1. S X=P_"^ALL EDUC;DURING "_$$FMTE^XLFDT(BD)_"-"_$$FMTE^XLFDT(ED) S E=$$START1^APCLDF(X,Y)
  1. I '$D(EDUC(1)) Q ""
  1. S (X,D)=0,%="",T="" F S X=$O(EDUC(X)) Q:X'=+X!(PED]"") D
  1. .S T=$P(^AUPNVPED(+$P(EDUC(X),U,4),0),U)
  1. .Q:'T
  1. .Q:'$D(^AUTTEDT(T,0))
  1. .S T=$P(^AUTTEDT(T,0),U,2)
  1. .I $P(T,"-",2)="L" S PED=1_U_T_" on "_$$DATE^APCM1UTL($P(EDUC(X),U)) Q
  1. Q PED
  1. ;
  1. HASMMR(P,BDD,EDD) ;does patient have a m-mr ON this visit in v updated/reviewed
  1. ;
  1. NEW X,Y,Z,B,W,E,D,T
  1. ;V UPDATED REVIEWED SNOMED 2 WEEKS BEFORE REPORT PERIOD UP THROUGH TODAY
  1. S Z="",B=""
  1. S W=0 F S W=$O(^AUPNVRUP("AC",P,W)) Q:W'=+W!(Z) D
  1. .S Y=0 F S Y=$O(^AUPNVRUP(W,26,Y)) Q:Y'=+Y!(Z) D
  1. ..I $P($G(^AUPNVRUP(W,26,Y,0)),U,1)'=428191000124101 Q
  1. ..S E=""
  1. ..S D=$P($$GET1^DIQ(9000010.54,W,1201,"I"),".")
  1. ..I D<BDD Q
  1. ..I D>EDD Q
  1. SNN ..S Z=1
  1. Q Z
  1. PR ;EP - patient reminders
  1. ;for each provider or for the facility find out if this
  1. ;if patient is <=5 or >=65 count them
  1. ;exclude deceased, and inactive charts
  1. ;if so, then check to see if they have icare notice ocumented any time before end of report period
  1. NEW APCMP
  1. S (APCMD1,APCMN1)=0
  1. I APCMRPTT=1 S APCMP=0 F S APCMP=$O(APCMPRV(APCMP)) Q:APCMP'=+APCMP D
  1. .I APCMN565(APCMTIME) S F=$P(^APCM14OB(APCMIC,0),U,11) D Q
  1. ..D S^APCM14E1(APCMRPT,APCMIC,"Facility is excluded from this measure as the database does not have any patients <=5 or >=65 years old.",APCMP,APCMRPTT,APCMTIME,F,1) Q
  1. .;set denominator value into field
  1. .S G=0
  1. .I APCMAGEB<5 G PR1
  1. .I APCMAGEB<65 Q
  1. .Q:$$DOB^AUPNPAT(DFN)>APCMBDAT
  1. PR1 .;IS CHART ACTIVE OR DECEASED
  1. .S X=$$DOD^AUPNPAT(DFN)
  1. .I X,X'>APCMEDAT Q
  1. .Q:'$O(^AUPNPAT(DFN,41,0)) ;no charts
  1. .S X=$P($G(^AUPNPAT(DFN,41,DUZ(2),0)),U,3)
  1. .I X,X'>APCMEDAT Q
  1. .;did they have a visit ever to the EP?
  1. .;K APCMPRVT
  1. .;D ALLV^APCLAPIU(DFN,$$DOB^AUPNPAT(DFN),APCMEDAT,"APCMPRVT")
  1. .I '$$HADV^APCM13E5(DFN,APCMP,$$DOB^AUPNPAT(DFN),APCMEDAT) Q
  1. .S F=$P(^APCM14OB(APCMIC,0),U,8)
  1. .D S^APCM14E1(APCMRPT,APCMIC,1,APCMP,APCMRPTT,APCMTIME,F)
  1. .S APCMVALU=""
  1. .;numerator?
  1. .S APCMEP=$$HASRM(DFN,APCMBDAT,APCMEDAT,APCMP,.APCMVSTS) ;return # of visits^# w/pwh
  1. .S APCMVALU="Patient age: "_$$AGE^AUPNPAT(DFN,APCMBDAT)_"|||"_"NOTIFICATION: "_$P(APCMEP,U,2)_"|||"_$P(APCMEP,U,1)
  1. .S F=$P(^APCM14OB(APCMIC,0),U,9)
  1. .D S^APCM14E1(APCMRPT,APCMIC,$P(APCMEP,U,1),APCMP,APCMRPTT,APCMTIME,F)
  1. .D SETLIST^APCM14E1
  1. Q
  1. HASRM(P,BD,ED,R,VSTS) ;
  1. ;
  1. NEW A,B,C,NOTIF,N
  1. S NOTIF=""
  1. S A=0 F S A=$O(^BQI(90509.4,"B",P,A)) Q:A'=+A!(NOTIF) D
  1. .S N=$G(^BQI(90509.4,A,0))
  1. .I N="" Q ;BAD XREF
  1. .S B=$P($P(N,U,4),".")
  1. .Q:B<BD ;before time period
  1. .Q:B>ED ;after time period
  1. .S C=$P(N,U,2) ;preferred method
  1. .I C="" S NOTIF=1_U_$$GET1^DIQ(90509.4,A,.09)_" "_$$FMTE^XLFDT(B) Q
  1. .I C'=$P(N,U,3) ;preferred doesn't match notificaton type so don't count it
  1. .S NOTIF=1_U_$$GET1^DIQ(90509.4,A,.09)_" "_$$FMTE^XLFDT(B)
  1. Q NOTIF
  1. SC ;EP - TRANSITION OF CARE SUMMARY
  1. ;for each provider count each Visit that HAS a v referral
  1. K ^TMP($J,"TRANS")
  1. NEW APCMLABS,MMR
  1. D TOCSUMC
  1. NEW APCMP,N,F
  1. S (APCMD1,APCMN1)=0
  1. I APCMRPTT=1 S APCMP=0 F S APCMP=$O(APCMPRV(APCMP)) Q:APCMP'=+APCMP D
  1. .I '$P($G(MMR(APCMP)),U,1) D
  1. ..S F=$P(^APCM14OB(APCMIC,0),U,11) D S^APCM14E1(APCMRPT,APCMIC,"Provider is excluded from this measure as he/she did not have any referrals during the EHR reporting period.",APCMP,APCMRPTT,APCMTIME,F,1) Q
  1. .;set denominator value into field
  1. .S F=$P(^APCM14OB(APCMIC,0),U,8) ;denom field for this measure
  1. .S N=$P($G(MMR(APCMP)),U,1) ;returns # of transS^# with mmr
  1. .D S^APCM14E1(APCMRPT,APCMIC,N,APCMP,APCMRPTT,APCMTIME,F)
  1. .;now set patient list for this provider
  1. .S P=0 F S P=$O(^TMP($J,"TRANS",APCMP,P)) Q:P'=+P D
  1. ..I $P(^TMP($J,"TRANS",APCMP,P),U,1)=$P(^TMP($J,"TRANS",APCMP,P),U,2) S APCMVALU="# referrals: "_$P(^TMP($J,"TRANS",APCMP,P),U,1)_"|||"_" # w/TOCS: "_+$P(^TMP($J,"TRANS",APCMP,P),U,2)_" "_$P(^TMP($J,"TRANS",APCMP,P),U,3)_"|||1" D Q
  1. ...S DFN=P D SETLIST^APCM14E1 Q
  1. ..S DFN=P,APCMVALU="# referrals: "_$P(^TMP($J,"TRANS",APCMP,P),U,1)_"|||"_" # w/TOCS: "_+$P(^TMP($J,"TRANS",APCMP,P),U,2)_" "_$P(^TMP($J,"TRANS",APCMP,P),U,3)_"|||0" D SETLIST^APCM14E1
  1. .;numerator?
  1. .S F=$P(^APCM14OB(APCMIC,0),U,9)
  1. .S N=$P($G(MMR(APCMP)),U,2)
  1. .D S^APCM14E1(APCMRPT,APCMIC,N,APCMP,APCMRPTT,APCMTIME,F)
  1. I APCMRPTT=2 S APCMP=APCMFAC D
  1. .I '$P($G(MMR(APCMP)),U,1) D Q
  1. ..S F=$P(^APCM14OB(APCMIC,0),U,11) D S^APCM14E1(APCMRPT,APCMIC,"Facility is excluded from this measure as he/she did not have any referrals during the EHR reporting period.",APCMP,APCMRPTT,APCMTIME,F,1) Q
  1. .;set denominator value into field
  1. .S F=$P(^APCM14OB(APCMIC,0),U,8) ;denom field for this measure
  1. .S N=$P($G(MMR(APCMP)),U,1) ;returns # of transS^# with mmr
  1. .D S^APCM14E1(APCMRPT,APCMIC,N,APCMP,APCMRPTT,APCMTIME,F)
  1. .;now set patient list for this provider
  1. .S P=0 F S P=$O(^TMP($J,"TRANS",APCMP,P)) Q:P'=+P D
  1. ..I $P(^TMP($J,"TRANS",APCMP,P),U,1)=$P(^TMP($J,"TRANS",APCMP,P),U,2) S APCMVALU="# referrals: "_$P(^TMP($J,"TRANS",APCMP,P),U,1)_"|||"_" # w/TOCS: "_+$P(^TMP($J,"TRANS",APCMP,P),U,2)_" "_$P(^TMP($J,"TRANS",APCMP,P),U,3)_"|||1" D Q
  1. ...S DFN=P D SETLIST^APCM14E1 Q
  1. ..S DFN=P,APCMVALU="# referrals: "_$P(^TMP($J,"TRANS",APCMP,P),U,1)_"|||"_" # w/TOCS: "_+$P(^TMP($J,"TRANS",APCMP,P),U,2)_" "_$P(^TMP($J,"TRANS",APCMP,P),U,3)_"|||0" D SETLIST^APCM14E1
  1. .;numerator?
  1. .S F=$P(^APCM14OB(APCMIC,0),U,9)
  1. .S N=$P($G(MMR(APCMP)),U,2)
  1. .D S^APCM14E1(APCMRPT,APCMIC,N,APCMP,APCMRPTT,APCMTIME,F)
  1. K ^TMP($J,"TRANS")
  1. Q
  1. TOCSUMC ;EP - ep toc
  1. ;SET ARRAY MMR to MMR(prov ien)=denom^numer
  1. ;DENOM=# VISITS W/REFERRAL
  1. ;NUMER=# W/TOC DOCUMENT IN 600 MULTIPLE
  1. ;IF DENOM =0 THEN PROVIDER EXCLUSION
  1. NEW T,C,PAT,N,APCMX,R,C,G,Z,S,B,E,J,K
  1. S C=0,N=0,PAT=""
  1. S T=$O(^APCMMUCN("B","INTERIM STAGE 1 2014",0))
  1. ;GO THROUGH EACH PATIENT WHO HAS VISITS
  1. S PAT=0 F S PAT=$O(^AUPNVSIT("AA",PAT)) Q:PAT'=+PAT D TOCSUMC1
  1. Q
  1. TOCSUMC1 ;
  1. NEW APCMLAB
  1. S APCMLAB="APCMLAB"
  1. D ALLV^APCLAPIU(PAT,APCMBDAT,APCMEDAT,APCMLAB) ;get all visits for this patient in time period
  1. S APCMX=0 F S APCMX=$O(APCMLAB(APCMX)) Q:APCMX'=+APCMX D
  1. .S V=$P(APCMLAB(APCMX),U,5) ;VISIT IEN
  1. .Q:'$D(^AUPNVSIT(V,0)) ;NO VISIT??
  1. .I APCMRPTT=2,APCMMETH="E" Q:'$$HOSER^APCM24E6(V,APCMFAC) S R=APCMFAC G TOCS2
  1. .I APCMRPTT=2,APCMMETH="O" Q:"OH"'[$P(^AUPNVSIT(V,0),U,7) Q:$P(^AUPNVSIT(V,0),U,6)'=APCMFAC S R=APCMFAC G TOCS2
  1. .S R=$$PRIMPROV^APCLV(V,"I") ;primary provider IEN
  1. .Q:'R
  1. .I '$D(APCMPRV(R)) Q ;not a provider of interest for this report
  1. .Q:"AOSM"'[$P(^AUPNVSIT(V,0),U,7)
  1. .S C=$$CLINIC^APCLV(V,"C")
  1. .Q:C=30
  1. .Q:C=77
  1. .Q:C=76
  1. .Q:C=63
  1. .Q:C=39
  1. TOCS2 .;IS THERE A V REFERAL THAT MEETS DENOM DEFINITION
  1. .S Z=0 F S Z=$O(^AUPNVREF("AD",V,Z)) Q:Z'=+Z D
  1. ..Q:'$D(^AUPNVREF(Z,0)) ;??
  1. ..S S=$P(^AUPNVREF(Z,0),U,6) ;REFERRAL IEN
  1. ..Q:'S ;no referral??
  1. ..Q:'$D(^BMCREF(S,0)) ;bad pointer
  1. ..Q:$P(^BMCREF(S,0),U,4)="N" ;NO INHOUSE
  1. ..Q:$P($G(^BMCREF(S,11)),U,5)="" ;MUST HAVE AN EXPECTED BEGIN DOS
  1. ..S D=$P($G(^BMCREF(S,13)),U,5) ;approval date
  1. ..Q:D="" ;NO APPROVAL DATE
  1. ..Q:D>APCMEDAT ;AFTER TP
  1. ..Q:D<APCMBDAT ;BEFORE TP
  1. SUMNUM ..;
  1. ..I '$D(MMR(R)) S MMR(R)=""
  1. ..S $P(MMR(R),U,1)=$P(MMR(R),U,1)+1 D
  1. ...S $P(^TMP($J,"TRANS",R,PAT),U,1)=$P($G(^TMP($J,"TRANS",R,PAT)),U,1)+1
  1. ...S $P(^TMP($J,"TRANS",R,PAT),U,3)=$P(^TMP($J,"TRANS",R,PAT),U,3)_" "_$$VD^APCLV(V,"S")_"-"_$P(^BMCREF(S,0),U,2)
  1. ..;now check numerator, FIELD 600
  1. ..S G=0,T=0
  1. ..S B=0 F S B=$O(^BMCREF(S,6,B)) Q:B'=+B!(G) D
  1. ...S (A,E)=""
  1. ...I $P(^BMCREF(S,6,B,0),U,4)'="CT" G SUMNUM1
  1. ...S E=$P($P(^BMCREF(S,6,B,0),U,6),".")
  1. ...I E="" G SUMNUM1 ;NO DATE TRANSMITTED
  1. ...I E<D G SUMNUM1 ;BEFORE APPROVAL DATE
  1. ...I E>APCMEDAT G SUMNUM1 ;AFTER TIME PERIOD
  1. ...S A=$P($P(^BMCREF(S,6,B,0),U,3),".") ;tx date
  1. ...I A,A'<D,A'>APCMEDAT S A=1
  1. ...S G=1,T="CT" Q ;got a transmitted go set numerator
  1. SUMNUM1 ...;
  1. ...I $P(^BMCREF(S,6,B,0),U,4)'="CP" Q
  1. ...S E=$P($P(^BMCREF(S,6,B,0),U,1),".") ;DATE/TIME PRINTED
  1. ...I E="" Q ;NO DATE SENT/PRINTED
  1. ...I E<D Q ;BEFORE APPROVAL DATE
  1. ...I E>APCMEDAT Q ;AFTER TIME PERIOD
  1. ...S G=1,T="CP"
  1. ..I G D SN Q
  1. ..;
  1. SUMAPCC ..;CHECK APCC DOCUMENT FILE
  1. ..S J=0 F S J=$O(^APCCDPL(V,1,J)) Q:J'=+J!(G) D
  1. ...Q:$P($G(^APCCDPL(V,1,J,0)),U,4)'=2 ;TOC ONLY
  1. ...Q:$P($P(^APCCDPL(V,1,J,0),U,1),".")'=$$VD^APCLV(V) ;DATE MUST EQUAL VISIT DATE
  1. ...S G=1
  1. ...S $P(MMR(R),U,2)=$P(MMR(R),U,2)+1 D
  1. ....S $P(^TMP($J,"TRANS",R,PAT),U,2)=$P($G(^TMP($J,"TRANS",R,PAT)),U,2)+1
  1. ....S $P(^TMP($J,"TRANS",R,PAT),U,3)=$P(^TMP($J,"TRANS",R,PAT),U,3)_";YES APCC TOCS"
  1. ..I 'G S $P(^TMP($J,"TRANS",R,PAT),U,3)=$P(^TMP($J,"TRANS",R,PAT),U,3)_";NO TOCS" Q
  1. Q
  1. SN ;
  1. S $P(MMR(R),U,2)=$P(MMR(R),U,2)+1 D Q
  1. .S $P(^TMP($J,"TRANS",R,PAT),U,2)=$P($G(^TMP($J,"TRANS",R,PAT)),U,2)+1
  1. .S $P(^TMP($J,"TRANS",R,PAT),U,3)=$P(^TMP($J,"TRANS",R,PAT),U,3)_";YES "_T I T="CT" S $P(^TMP($J,"TRANS",R,PAT),U,3)=$P(^TMP($J,"TRANS",R,PAT),U,3)_$S(A:" TX",1:"")
  1. .I T="CT" S $P(MMR(R),U,4)=$P(MMR(R),U,4)+1 I A S $P(MMR(R),U,5)=$P(MMR(R),U,5)+1
  1. Q
  1. MEDREC ;EP
  1. ;for each provider count each Visit that is a new patient visit and of those # with snomed in v updated/reviewed
  1. K ^TMP($J,"TRANS")
  1. NEW APCMLABS,MMR
  1. D TOTMEDR
  1. NEW APCMP,N,F
  1. S (APCMD1,APCMN1)=0
  1. I APCMRPTT=1 S APCMP=0 F S APCMP=$O(APCMPRV(APCMP)) Q:APCMP'=+APCMP D
  1. .I '$P($G(MMR(APCMP)),U,1) D
  1. ..S F=$P(^APCM14OB(APCMIC,0),U,11) D S^APCM14E1(APCMRPT,APCMIC,"Provider is excluded from this measure as he/she did not have any transitions during the EHR reporting period.",APCMP,APCMRPTT,APCMTIME,F,1) Q
  1. .;set denominator value into field
  1. .S F=$P(^APCM14OB(APCMIC,0),U,8) ;denom field for this measure
  1. .S N=$P($G(MMR(APCMP)),U,1) ;returns # of transS^# with mmr
  1. .D S^APCM14E1(APCMRPT,APCMIC,N,APCMP,APCMRPTT,APCMTIME,F)
  1. .;now set patient list for this provider
  1. .S P=0 F S P=$O(^TMP($J,"TRANS",APCMP,P)) Q:P'=+P D
  1. ..I $P(^TMP($J,"TRANS",APCMP,P),U,1)=$P(^TMP($J,"TRANS",APCMP,P),U,2) S APCMVALU="# transitions: "_$P(^TMP($J,"TRANS",APCMP,P),U,1)_"|||"_" # w/mmr: "_+$P(^TMP($J,"TRANS",APCMP,P),U,2)_" "_$P(^TMP($J,"TRANS",APCMP,P),U,3)_"|||1" D Q
  1. ...S DFN=P D SETLIST^APCM14E1 Q
  1. ..S DFN=P,APCMVALU="# transitions: "_$P(^TMP($J,"TRANS",APCMP,P),U,1)_"|||"_" # w/mmr: "_+$P(^TMP($J,"TRANS",APCMP,P),U,2)_" "_$P(^TMP($J,"TRANS",APCMP,P),U,3)_"|||0" D SETLIST^APCM14E1
  1. .;numerator?
  1. .S F=$P(^APCM14OB(APCMIC,0),U,9)
  1. .S N=$P($G(MMR(APCMP)),U,2)
  1. .D S^APCM14E1(APCMRPT,APCMIC,N,APCMP,APCMRPTT,APCMTIME,F)
  1. K ^TMP($J,"TRANS")
  1. Q
  1. TOTMEDR ;EP - ep MR
  1. ;SET ARRAY MMR to MMR(prov ien)=denom^numer
  1. ;IF DENOM =0 THEN PROVIDER EXCLUSION
  1. NEW T,C,PAT,N,APCMX,R,C,G
  1. S C=0,N=0,PAT=""
  1. S T=$O(^APCMMUCN("B","INTERIM STAGE 1 2014",0))
  1. ;GO THROUGH EACH PATIENT WHO HAS VISITS
  1. S PAT=0 F S PAT=$O(^AUPNVSIT("AA",PAT)) Q:PAT'=+PAT D TOTMEDR1
  1. Q
  1. TOTMEDR1 ;
  1. NEW APCMLAB
  1. S APCMLAB="APCMLAB"
  1. D ALLV^APCLAPIU(PAT,APCMBDAT,APCMEDAT,APCMLAB) ;get all visits for this patient in time period
  1. S APCMX=0 F S APCMX=$O(APCMLAB(APCMX)) Q:APCMX'=+APCMX D
  1. .S V=$P(APCMLAB(APCMX),U,5) ;VISIT IEN
  1. .Q:'$D(^AUPNVSIT(V,0)) ;NO VISIT??
  1. .S R=$$PRIMPROV^APCLV(V,"I") ;primary provider IEN
  1. .Q:'R
  1. .I '$D(APCMPRV(R)) Q
  1. .Q:"AOSM"'[$P(^AUPNVSIT(V,0),U,7)
  1. .S C=$$CLINIC^APCLV(V,"C")
  1. .Q:C=30
  1. .I C]"",T,$D(^APCMMUCN(T,14,"B",C)) Q ;don't count these clinics
  1. .;IS THERE A V CPT OR IMAGE
  1. .;S G=$$CPT(V)
  1. .;I G G NUM
  1. .;S G=$$IMAGE(V,R)
  1. .;I 'G Q
  1. NUM .;
  1. .I '$D(MMR(R)) S MMR(R)=""
  1. .S $P(MMR(R),U,1)=$P(MMR(R),U,1)+1 D
  1. ..S $P(^TMP($J,"TRANS",R,PAT),U,1)=$P($G(^TMP($J,"TRANS",R,PAT)),U,1)+1
  1. ..S $P(^TMP($J,"TRANS",R,PAT),U,3)=$P(^TMP($J,"TRANS",R,PAT),U,3)_" "_$$VD^APCLV(V,"S")
  1. .;now check numerator
  1. .S G=$$HASMMR(PAT,APCMBDAT,APCMEDAT)
  1. .I 'G S $P(^TMP($J,"TRANS",R,PAT),U,3)=$P(^TMP($J,"TRANS",R,PAT),U,3)_";NO MMR" Q
  1. .S $P(MMR(R),U,2)=$P(MMR(R),U,2)+1 D
  1. ..S $P(^TMP($J,"TRANS",R,PAT),U,2)=$P($G(^TMP($J,"TRANS",R,PAT)),U,2)+1
  1. ..S $P(^TMP($J,"TRANS",R,PAT),U,3)=$P(^TMP($J,"TRANS",R,PAT),U,3)_";YES MMR"
  1. Q
  1. ;
  1. CPT(V) ;was there a 99201-99205 or 99381-99387 on this visit
  1. NEW X,C,A
  1. S A=""
  1. S X=0 F S X=$O(^AUPNVCPT("AD",V,X)) Q:X'=+X!(A) D
  1. .S C=$$GET1^DIQ(9000010.18,X,.01)
  1. .I C>99200,C<99206 S A=1 Q
  1. .I C>99380,C<99388 S A=1 Q
  1. Q A
  1. IMAGE(V,R) ;WAS THERE AN IMAGE BEFORE VISIT DATE AND IF SO WAS THIS THE FIRST VISIT AFTER THE IMAGE DATE
  1. NEW D,A,B,C,P,X,Y,T,G,Z,VST
  1. S P=$P(^AUPNVSIT(V,0),U,5)
  1. I '$D(^MAG(2005,"AC",P)) Q 0
  1. S G=""
  1. S D=$$VDTM^APCLV(V) ;fileman visit date/time
  1. S B=0 F S B=$O(^MAG(2005,"AC",P,B)) Q:B'=+B!(G) D
  1. .Q:$$UP^XLFSTR($$GET1^DIQ(2005,B,42))'="CCD-SUMMARY"
  1. .S C=$$GET1^DIQ(2005,B,7,"I")
  1. .Q:C>D ;image save after visit date/time
  1. .;is this the first visit after the image date/time to the EP?
  1. .S X=C
  1. .S T=$O(^APCMMUCN("B","INTERIM STAGE 1 2014",0))
  1. .K VST
  1. .D ALLV^APCLAPIU(P,$P(C,"."),$$FMADD^XLFDT($P(D,"."),1),"VST")
  1. .;now reorder by visit/date time
  1. .S X=0 F S X=$O(VST(X)) Q:X'=+X S VST("DTM",$$VDTM^APCLV($P(VST(X),U,5)),X)=$P(VST(X),U,5)
  1. .S Y=0 F S Y=$O(VST("DTM",Y)) Q:Y'=+Y!(G) D
  1. ..S B=0 F S B=$O(VST("DTM",Y,B)) Q:B'=+B!(G) D
  1. ...S Z=VST("DTM",Y,B)
  1. ...Q:'$D(^AUPNVSIT(Z,0))
  1. ...Q:$$PRIMPROV^APCLV(Z,"I")'=R
  1. ...Q:"AOSM"'[$P(^AUPNVSIT(Z,0),U,7)
  1. ...S C=$$CLINIC^APCLV(Z,"C")
  1. ...Q:C=30
  1. ...I C]"",T,$D(^APCMMUCN(T,14,"B",C)) Q ;don't count these clinics
  1. ...Q:Z'=V
  1. ...S G=1
  1. Q G