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

APCM25E8.m

Go to the documentation of this file.
  1. APCM25E8 ;IHS/CMI/LAB - IHS MU;
  1. ;;1.0;MU PERFORMANCE REPORTS;**7**;MAR 26, 2012;Build 15
  1. ;;;;;;Build 3
  1. LAB ;EP - CALCULATE LAB
  1. ;for each provider count each lab in the time period, loop through patients for visits in time period
  1. K ^TMP($J,"PATSRX")
  1. K APCMLABS
  1. D TOTLAB
  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(APCMLABS(APCMP)),U,1) D Q
  1. ..S F=$P(^APCM25OB(APCMIC,0),U,11) D S^APCM25E1(APCMRPT,APCMIC,"Provider is excluded from this measure as he/she did not order any lab tests with results during the EHR reporting period.",APCMP,APCMRPTT,APCMTIME,F,1) Q
  1. .;set denominator value
  1. .S F=$P(^APCM25OB(APCMIC,0),U,8) ;denom field
  1. .S N=$P($G(APCMLABS(APCMP)),U,1) ;returns # of LABS^# not Structured data
  1. .D S^APCM25E1(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,"PATSRX",APCMP,P)) Q:P'=+P D
  1. ..;Q:'$P(^TMP($J,"PATSRX",APCMP,P),U,1)
  1. ..I $P(^TMP($J,"PATSRX",APCMP,P),U,1)=$P(^TMP($J,"PATSRX",APCMP,P),U,2) S APCMVALU="# Labs: "_$P(^TMP($J,"PATSRX",APCMP,P),U,1)_"|||"_" # w/structured result: "_+$P(^TMP($J,"PATSRX",APCMP,P),U,2)_"|||1" D Q
  1. ...S DFN=P D SETLIST^APCM25E1 Q
  1. ..S S="",APCMVALU="No Structured Result: "
  1. ..F S S=$O(^TMP($J,"PATSRX",APCMP,P,"SCRIPTS",S)) Q:S="" D
  1. ...I '$D(^TMP($J,"PATSRX",APCMP,P,"ELEC",S)) D
  1. ....S APCMVALU=APCMVALU_S_";"
  1. ..S DFN=P,APCMVALU="# of Labs: "_$P(^TMP($J,"PATSRX",APCMP,P),U,1)_" # w/structured results: "_+$P(^TMP($J,"PATSRX",APCMP,P),U,2)_"|||"_APCMVALU,$P(APCMVALU,"|||",3)=0 D SETLIST^APCM25E1
  1. .;numerator?
  1. .S F=$P(^APCM25OB(APCMIC,0),U,9)
  1. .S N=$P($G(APCMLABS(APCMP)),U,2)
  1. .D S^APCM25E1(APCMRPT,APCMIC,N,APCMP,APCMRPTT,APCMTIME,F)
  1. K ^TMP($J,"PATSRX")
  1. Q
  1. TOTLAB ;EP - ep LAB
  1. ;SET ARRAY APCMLABS to APCMLABS(prov ien)=denom^numer
  1. ;IF DENOM =0 THEN PROVIDER EXCLUSION
  1. NEW ID,C,Y,X,D,S,N,A,B,R,PAT,ED,APCMLAB,APCMX,APCML,PAR
  1. S ED=9999999-APCMBDAT,ED=ED_".9999"
  1. S SD=9999999-APCMEDAT
  1. S C=0,N=0,PAT=""
  1. S LABSNO=""
  1. S T=$O(^ATXLAB("B","BGP PAP SMEAR TAX",0))
  1. S PAT="" F S PAT=$O(^AUPNVSIT("AA",PAT)) Q:PAT'=+PAT D TOTLAB1
  1. Q
  1. TOTLAB1 ;
  1. NEW APCMLAB,APCMLAB1
  1. S APCMLAB="APCMLAB"
  1. D ALLLAB^APCM25EB(PAT,APCMBDAT,APCMEDAT,,,,.APCMLAB)
  1. ;reorder by IEN of v lab
  1. K APCMLAB1
  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. .S Y=$P(APCMLAB(APCMX),U,4) ;V LAB IEN
  1. .Q:'$D(^AUPNVSIT(V,0)) ;NO VISIT??
  1. .Q:"AOSM"'[$P(^AUPNVSIT(V,0),U,7)
  1. .S C=$$CLINIC^APCLV(V,"C")
  1. .Q:C=30 ;ER
  1. .S R=$P($G(^AUPNVLAB(Y,12)),U,2) ;ORDERING PROVIDER
  1. .Q:'R ;no ordering provider - CAN'T ASSIGN TO AN EP
  1. .I '$D(APCMPRV(R)) Q ;not a provider of interest FOR THIS REPROT
  1. .;Q:$P($P($G(^AUPNVLAB(Y,12)),U,1),".")>APCMEDAT ;collection date after time period
  1. .;Q:$P($P($G(^AUPNVLAB(Y,12)),U,1),".")<APCMBDAT ;collection date before time period
  1. .S A=$P(^AUPNVLAB(Y,0),U,1) ;test pointer
  1. .I T,$D(^ATXLAB(T,21,"B",A)) Q ;it's a pap smear
  1. .I $$UP^XLFSTR($$VAL^XBDIQ1(9000010.09,Y,.01))="PAP SMEAR" Q ;it's a pap smear
  1. .I $$UP^XLFSTR($P(^AUPNVLAB(Y,0),U,4))="CANC" Q
  1. .I $O(^LAB(60,A,2,0)) Q ;this is the v lab for the panel
  1. .I '$D(APCMLABS(R)) S APCMLABS(R)=""
  1. .S $P(APCMLABS(R),U,1)=$P(APCMLABS(R),U,1)+1,$P(^TMP($J,"PATSRX",R,PAT),U,1)=$P($G(^TMP($J,"PATSRX",R,PAT)),U,1)+1,^TMP($J,"PATSRX",R,PAT,"SCRIPTS",$$VAL^XBDIQ1(9000010.09,Y,1201)_" "_$$VAL^XBDIQ1(9000010.09,Y,.01))=""
  1. .;now check numerator
  1. .Q:$P($G(^AUPNVLAB(Y,11)),U,9)'="R" ;if status not resulted it doesn't make the numerator
  1. .I $$UP^XLFSTR($P(^AUPNVLAB(Y,0),U,4))="COMMENT",'$$HASCOM(Y) Q
  1. .S $P(APCMLABS(R),U,2)=$P(APCMLABS(R),U,2)+1,$P(^TMP($J,"PATSRX",R,PAT),U,2)=$P($G(^TMP($J,"PATSRX",R,PAT)),U,2)+1 S ^TMP($J,"PATSRX",R,PAT,"ELEC",$$VAL^XBDIQ1(9000010.09,Y,1201)_" "_$$VAL^XBDIQ1(9000010.09,Y,.01))="" ;S N=N+G Q ;S N=N+G
  1. Q
  1. ;
  1. HASCOM(L) ;ARE THERE ANY COMMENTS
  1. I '$D(^AUPNVLAB(L,21)) Q 0
  1. NEW B,G
  1. S G=0
  1. S B=0 F S B=$O(^AUPNVLAB(L,21,B)) Q:B'=+B I ^AUPNVLAB(L,21,B,0)]"" S G=1 ;has comment
  1. Q G
  1. CPOELAB ;EP - CALCULATE cpoelab
  1. ;for each provider or for the facility count all lab orders that meet criteria and if it is not written it meets numerator
  1. K ^TMP($J,"PATSLAB")
  1. K APCMLABS
  1. D LABCPOE
  1. K ^TMP($J,"ORDERSPROCESSED")
  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(APCMLABS(APCMP)),U,1)<100 S F=$P(^APCM25OB(APCMIC,0),U,11) D
  1. ..D S^APCM25E1(APCMRPT,APCMIC,"Provider is excluded from this measure as he/she had < 100 LAB orders during the EHR reporting period.",APCMP,APCMRPTT,APCMTIME,F,1)
  1. D .;set denominator value into field
  1. .S F=$P(^APCM25OB(APCMIC,0),U,8) ;denom field for this measure
  1. .S N=$P($G(APCMLABS(APCMP)),U,1) ;returns # of lab orders^# not written by nature of order
  1. .D S^APCM25E1(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,"PATSLAB",APCMP,P)) Q:P'=+P D
  1. ..S D=$P(^TMP($J,"PATSLAB",APCMP,P),U,1),N=$P(^TMP($J,"PATSLAB",APCMP,P),U,2) S APCMVALU="# Orders: "_D_"|||"_"# CPOE: "_N_" # NOT CPOE: "_(D-N)
  1. ..S DFN=P D SETLIST^APCM25E1
  1. .;numerator?
  1. .S F=$P(^APCM25OB(APCMIC,0),U,9)
  1. .S N=$P($G(APCMLABS(APCMP)),U,2)
  1. .D S^APCM25E1(APCMRPT,APCMIC,N,APCMP,APCMRPTT,APCMTIME,F)
  1. I APCMRPTT=2 D
  1. .S APCMP=APCMFAC
  1. .S F=$P(^APCM25OB(APCMIC,0),U,8) ;denom field for this measure
  1. .S N=$P($G(APCMLABS(APCMFAC)),U,1) ;returns # of lab orders^# not written by nature of order
  1. .D S^APCM25E1(APCMRPT,APCMIC,N,APCMFAC,APCMRPTT,APCMTIME,F)
  1. .;now set patient list for this FACILITY
  1. .S P=0 F S P=$O(^TMP($J,"PATSLAB",APCMFAC,P)) Q:P'=+P D
  1. ..S D=$P(^TMP($J,"PATSLAB",APCMFAC,P),U,1),N=$P(^TMP($J,"PATSLAB",APCMFAC,P),U,2) S APCMVALU="# Orders: "_D_"|||"_"# CPOE: "_N_" # NOT CPOE: "_(D-N)
  1. ..S DFN=P D SETLIST^APCM25E1
  1. .;numerator?
  1. .S F=$P(^APCM25OB(APCMIC,0),U,9)
  1. .S N=$P($G(APCMLABS(APCMFAC)),U,2)
  1. .D S^APCM25E1(APCMRPT,APCMIC,N,APCMFAC,APCMRPTT,APCMTIME,F)
  1. K ^TMP($J,"PATSLAB"),^TMP($J,"ORDERSPROCESSED")
  1. Q
  1. LABCPOE ;EP -
  1. ;between BD and ED
  1. ;SET ARRAY APCMLABS to APCMLABS(prov ien)=denom^numer
  1. K ^TMP($J,"ORDERSPROCESSED")
  1. NEW ID,C,Y,X,D,S,N,A,B,R,PAT,G,ORIEN,ORPFILE,ORPTST,ORNS,PATLOC,ORACT0,ORORD,ORDEB
  1. S ID=$$FMADD^XLFDT(APCMBDAT,-1),ID=ID_".9999"
  1. F S ID=$O(^OR(100,"AF",ID)) Q:ID'=+ID!($P(ID,".")>APCMEDAT) D
  1. .S ORIEN=0 F S ORIEN=$O(^OR(100,"AF",ID,ORIEN)) Q:ORIEN'=+ORIEN D
  1. ..Q:$D(^TMP($J,"ORDERSPROCESSED",ORIEN))
  1. ..S ^TMP($J,"ORDERSPROCESSED",ORIEN)=""
  1. ..S ORPFILE=$P($G(^OR(100,ORIEN,0)),"^",2) Q:ORPFILE="" ;Quit if no object of order
  1. ..Q:$P(ORPFILE,";",2)'["DPT" ;only patient orders
  1. ..S PAT=+$P($G(^OR(100,ORIEN,0)),U,2) ;GET Patient DFN
  1. ..Q:$$DEMO^APCLUTL(PAT,APCMDEMO) ;Quit if demo patient
  1. ..Q:+$P($G(^OR(100,ORIEN,3)),"^",11)'=0 ;190 quit if order type not standard
  1. ..S ORPTST=$P($G(^OR(100,ORIEN,0)),"^",12) ;patient status (in/out)
  1. ..S ORNS=$$NMSP($P($G(^OR(100,ORIEN,0)),"^",14)) ;get package namespace
  1. ..I ORNS'="LR" Q ;if not getting all types of orders then quit if order is not from LAB
  1. ..S ORACT0=$G(^OR(100,ORIEN,8,1,0))
  1. ..Q:$P(ORACT0,U,1)'=ID
  1. ..S ORORD=$P(ORACT0,"^",12) ;ORORD holds nature of order ien
  1. ..;Q:ORORD=4 ;skip service corrections
  1. ..S ORPVID=$P(ORACT0,"^",3)
  1. ..S G=0
  1. ..I APCMRPTT=1 D
  1. ...Q:ORPTST'="O" ;Quit if patient status is not outpatient and in EP report
  1. ...S ORPVID=$P(ORACT0,"^",3) Q:'$D(APCMPRV(ORPVID)) ;quit if ordering provider doesn't match user selected provider
  1. ...S PATLOC=+$P($G(^OR(100,ORIEN,0)),U,10)
  1. ...S C="" I PATLOC,$D(^SC(PATLOC,0)) S C=$P(^SC(PATLOC,0),U,7) I C Q:$P($G(^DIC(40.7,C,0)),U,2)=30 ;IF ER IN HOSP LOC Q
  1. ...S G=1
  1. ..I APCMRPTT=2 D
  1. ...I ORPTST="I" S G=1 Q
  1. ...Q:APCMMETH="O" ;DON'T COUNT ER VISITS IN OBS METHOD
  1. ...S PATLOC=+$P($G(^OR(100,ORIEN,0)),U,10)
  1. ...Q:'PATLOC
  1. ...S C="" I PATLOC,$D(^SC(PATLOC,0)) S C=$P(^SC(PATLOC,0),U,7) I C Q:$P($G(^DIC(40.7,C,0)),U,2)'=30 ;IF NOT ER IN HOSP LOC Q
  1. ...I PATLOC,$D(^SC(PATLOC,0)) S C=$P(^SC(PATLOC,0),U,4) I C,C'=APCMFAC Q
  1. ...S G=1
  1. ..Q:'G
  1. ..S ORORD=$P(ORACT0,"^",12) ;ORORD holds nature of order ien
  1. ..;SET DENOM COUNT FOR THIS EP = INCREMENT BY 1
  1. ..;I DUZ=2793 W !,"PAT: ",$P(^DPT(PAT,0),U,1),"DATE: ",$$FMTE^XLFDT(ID)," ORDER: ",ORIEN," NATURE: ",ORORD
  1. ..I APCMRPTT=1 S $P(APCMLABS(ORPVID),U,1)=$P($G(APCMLABS(ORPVID)),U,1)+1,$P(^TMP($J,"PATSLAB",ORPVID,PAT),U,1)=$P($G(^TMP($J,"PATSLAB",ORPVID,PAT)),U,1)+1
  1. ..I APCMRPTT=2 S $P(APCMLABS(APCMFAC),U,1)=$P($G(APCMLABS(APCMFAC)),U,1)+1,$P(^TMP($J,"PATSLAB",APCMFAC,PAT),U,1)=$P($G(^TMP($J,"PATSLAB",APCMFAC,PAT)),U,1)+1
  1. ..;
  1. ..;now check to see if it has a nature of order IS equal to 1-written if so, quit and don't set numerator
  1. ..I ORORD=1 Q ;this is a written order so do not put in numerator
  1. ..S ORDEB=$P(^OR(100,ORIEN,8,1,0),"^",13) ;this is the person who entered the order (ENTERED BY)
  1. ..;Q:'$$ORES^APCM25E9(ORDEB,$P(ID,".",1)) ;quit if this person does not have ORES or ORESLE on date of order so don't count in numerator
  1. ..I APCMRPTT=1 S $P(APCMLABS(ORPVID),U,2)=$P(APCMLABS(ORPVID),U,2)+1,$P(^TMP($J,"PATSLAB",ORPVID,PAT),U,2)=$P($G(^TMP($J,"PATSLAB",ORPVID,PAT)),U,2)+1
  1. ..I APCMRPTT=2 S $P(APCMLABS(APCMFAC),U,2)=$P($G(APCMLABS(APCMFAC)),U,2)+1,$P(^TMP($J,"PATSLAB",APCMFAC,PAT),U,2)=$P($G(^TMP($J,"PATSLAB",APCMFAC,PAT)),U,2)+1
  1. Q
  1. NMSP(PKG) ; -- Returns package namespace from pointer
  1. N Y S Y=$$GET1^DIQ(9.4,+PKG_",",1)
  1. S:$E(Y,1,2)="PS" Y="PS" S:Y="GMRV" Y="OR"
  1. Q Y
  1. ;
  1. CPOERAD ;EP - CALCULATE EPRESCRIBING
  1. ;for each provider or for the facility count all rad orders that meet criteria and if it is not written it meets numerator
  1. K ^TMP($J,"PATSRAD")
  1. K APCMRADS
  1. D RADCPOE
  1. K ^TMP($J,"ORDERSPROCESSED")
  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(APCMRADS(APCMP)),U,1)<100 S F=$P(^APCM25OB(APCMIC,0),U,11) D
  1. ..D S^APCM25E1(APCMRPT,APCMIC,"Provider is excluded from this measure as he/she had < 100 Radiology orders during the EHR reporting period.",APCMP,APCMRPTT,APCMTIME,F,1)
  1. DR .;set denominator value into field
  1. .S F=$P(^APCM25OB(APCMIC,0),U,8) ;denom field for this measure
  1. .S N=$P($G(APCMRADS(APCMP)),U,1) ;returns # of prescriptions^# not written by nature of order
  1. .D S^APCM25E1(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,"PATSRAD",APCMP,P)) Q:P'=+P D
  1. ..S D=$P(^TMP($J,"PATSRAD",APCMP,P),U,1),N=$P(^TMP($J,"PATSRAD",APCMP,P),U,2) S APCMVALU="# Orders: "_D_"|||"_"# CPOE: "_N_" # NOT CPOE: "_(D-N)
  1. ..S DFN=P D SETLIST^APCM25E1
  1. .;numerator?
  1. .S F=$P(^APCM25OB(APCMIC,0),U,9)
  1. .S N=$P($G(APCMRADS(APCMP)),U,2)
  1. .D S^APCM25E1(APCMRPT,APCMIC,N,APCMP,APCMRPTT,APCMTIME,F)
  1. I APCMRPTT=2 D
  1. .S APCMP=APCMFAC
  1. .S F=$P(^APCM25OB(APCMIC,0),U,8) ;denom field for this measure
  1. .S N=$P($G(APCMRADS(APCMFAC)),U,1) ;returns # of prescriptions^# not written by nature of order
  1. .D S^APCM25E1(APCMRPT,APCMIC,N,APCMFAC,APCMRPTT,APCMTIME,F)
  1. .;now set patient list for this FACILITY
  1. .S P=0 F S P=$O(^TMP($J,"PATSRAD",APCMFAC,P)) Q:P'=+P D
  1. ..S D=$P(^TMP($J,"PATSRAD",APCMFAC,P),U,1),N=$P(^TMP($J,"PATSRAD",APCMFAC,P),U,2) S APCMVALU="# Orders: "_D_"|||"_"# CPOE: "_N_" # NOT CPOE: "_(D-N)
  1. ..S DFN=P D SETLIST^APCM25E1
  1. .;numerator?
  1. .S F=$P(^APCM25OB(APCMIC,0),U,9)
  1. .S N=$P($G(APCMRADS(APCMFAC)),U,2)
  1. .D S^APCM25E1(APCMRPT,APCMIC,N,APCMFAC,APCMRPTT,APCMTIME,F)
  1. K ^TMP($J,"PATSRAD"),^TMP($J,"ORDERSPROCESSED"),APCMRADS
  1. Q
  1. RADCPOE ;EP -
  1. ;between BD and ED
  1. ;SET ARRAY APCMRADS to APCMRADS(prov ien)=denom^numer
  1. K ^TMP($J,"ORDERSPROCESSED")
  1. NEW ID,C,Y,X,D,S,N,A,B,R,PAT,G,ORIEN,ORPFILE,ORPTST,ORNS,PATLOC,ORACT0,ORORD,ORDEB
  1. S ID=$$FMADD^XLFDT(APCMBDAT,-1),ID=ID_".9999"
  1. F S ID=$O(^OR(100,"AF",ID)) Q:ID'=+ID!($P(ID,".")>APCMEDAT) D
  1. .S ORIEN=0 F S ORIEN=$O(^OR(100,"AF",ID,ORIEN)) Q:ORIEN'=+ORIEN D
  1. ..Q:$D(^TMP($J,"ORDERSPROCESSED",ORIEN))
  1. ..S ^TMP($J,"ORDERSPROCESSED",ORIEN)=""
  1. ..S ORPFILE=$P($G(^OR(100,ORIEN,0)),"^",2) Q:ORPFILE="" ;Quit if no object of order
  1. ..Q:$P(ORPFILE,";",2)'["DPT" ;only patient orders
  1. ..S PAT=+$P($G(^OR(100,ORIEN,0)),U,2) ;GET Patient DFN
  1. ..Q:$$DEMO^APCLUTL(PAT,APCMDEMO) ;Quit if demo patient
  1. ..Q:+$P($G(^OR(100,ORIEN,3)),"^",11)'=0 ;190 quit if order type not standard
  1. ..S ORPTST=$P($G(^OR(100,ORIEN,0)),"^",12) ;patient status (in/out)
  1. ..S ORNS=$$NMSP($P($G(^OR(100,ORIEN,0)),"^",14)) ;get package namespace
  1. ..I ORNS'="RA" Q ;if not getting all types of orders then quit if order is not from RAD
  1. ..S ORACT0=$G(^OR(100,ORIEN,8,1,0))
  1. ..Q:$P(ORACT0,U,1)'=ID
  1. ..S ORORD=$P(ORACT0,"^",12) ;ORORD holds nature of order ien
  1. ..;Q:ORORD=4 ;skip service corrections
  1. ..S ORPVID=$P(ORACT0,"^",3)
  1. ..S G=0
  1. ..I APCMRPTT=1 D
  1. ...Q:ORPTST'="O" ;Quit if patient status is not outpatient and in EP report
  1. ...S ORPVID=$P(ORACT0,"^",3) Q:'$D(APCMPRV(ORPVID)) ;quit if ordering provider doesn't match user selected provider
  1. ...S PATLOC=+$P($G(^OR(100,ORIEN,0)),U,10)
  1. ...S C="" I PATLOC,$D(^SC(PATLOC,0)) S C=$P(^SC(PATLOC,0),U,7) I C Q:$P($G(^DIC(40.7,C,0)),U,2)=30 ;IF ER IN HOSP LOC Q
  1. ...S G=1
  1. ..I APCMRPTT=2 D
  1. ...I ORPTST="I" S G=1 Q
  1. ...Q:APCMMETH="O" ;DON'T COUNT ER VISITS IN OBS METHOD
  1. ...S PATLOC=+$P($G(^OR(100,ORIEN,0)),U,10)
  1. ...Q:'PATLOC
  1. ...S C="" I PATLOC,$D(^SC(PATLOC,0)) S C=$P(^SC(PATLOC,0),U,7) I C Q:$P($G(^DIC(40.7,C,0)),U,2)'=30 ;IF NOT ER IN HOSP LOC Q
  1. ...I PATLOC,$D(^SC(PATLOC,0)) S C=$P(^SC(PATLOC,0),U,4) I C,C'=APCMFAC Q
  1. ...S G=1
  1. ..Q:'G
  1. ..S ORORD=$P(ORACT0,"^",12) ;ORORD holds nature of order ien
  1. ..;SET DENOM COUNT FOR THIS EP = INCREMENT BY 1
  1. ..;I DUZ=2793 W !,"PAT: ",$P(^DPT(PAT,0),U,1),"DATE: ",$$FMTE^XLFDT(ID)," ORDER: ",ORIEN," NATURE: ",ORORD
  1. ..I APCMRPTT=1 S $P(APCMRADS(ORPVID),U,1)=$P($G(APCMRADS(ORPVID)),U,1)+1,$P(^TMP($J,"PATSRAD",ORPVID,PAT),U,1)=$P($G(^TMP($J,"PATSRAD",ORPVID,PAT)),U,1)+1
  1. ..I APCMRPTT=2 S $P(APCMRADS(APCMFAC),U,1)=$P($G(APCMRADS(APCMFAC)),U,1)+1,$P(^TMP($J,"PATSRAD",APCMFAC,PAT),U,1)=$P($G(^TMP($J,"PATSRAD",APCMFAC,PAT)),U,1)+1
  1. ..;
  1. ..;now check to see if it has a nature of order IS equal to 1-written if so, quit and don't set numerator
  1. ..I ORORD=1 Q ;this is a written order so do not put in numerator
  1. ..S ORDEB=$P(^OR(100,ORIEN,8,1,0),"^",13) ;this is the person who entered the order (ENTERED BY)
  1. ..;Q:'$$ORES^APCM25E9(ORDEB,$P(ID,".",1)) ;quit if this person does not have ORES or ORESLE on date of order so don't count in numerator
  1. ..I APCMRPTT=1 S $P(APCMRADS(ORPVID),U,2)=$P(APCMRADS(ORPVID),U,2)+1,$P(^TMP($J,"PATSRAD",ORPVID,PAT),U,2)=$P($G(^TMP($J,"PATSRAD",ORPVID,PAT)),U,2)+1
  1. ..I APCMRPTT=2 S $P(APCMRADS(APCMFAC),U,2)=$P($G(APCMRADS(APCMFAC)),U,2)+1,$P(^TMP($J,"PATSRAD",APCMFAC,PAT),U,2)=$P($G(^TMP($J,"PATSRAD",APCMFAC,PAT)),U,2)+1
  1. Q