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

APCM24E7.m

Go to the documentation of this file.
  1. APCM24E7 ;IHS/CMI/LAB - IHS MU;
  1. ;;1.0;IHS MU PERFORMANCE REPORTS;**5,6**;MAR 26, 2012;Build 65
  1. ;
  1. LAB ;EP - CALCULATE LAB
  1. ;for each provider or for the facility count all labs that meet criteria and if it is not written it meets numerator
  1. K ^TMP($J,"PATSRX")
  1. K APCMLABS
  1. D TOTLAB
  1. NEW APCMP,N,F
  1. S (APCMD1,APCMN1)=0
  1. I APCMRPTT=2 S APCMP=APCMFAC D
  1. .;I '$P($G(APCMLABS(APCMP)),U,1) S F=$P(^APCM24OB(APCMIC,0),U,11) D S^APCM24E1(APCMRPT,APCMIC,"Provider is excluded from this measure as he/she did not order any lab tests with results during the time period.",APCMP,APCMRPTT,APCMTIME,F,1) Q
  1. .;set denominator value into field
  1. .S F=$P(^APCM24OB(APCMIC,0),U,8) ;denom field for this measure
  1. .S N=$P($G(APCMLABS(APCMP)),U,1) ;returns # of LABS^# not Structured data
  1. .D S^APCM24E1(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^APCM24E1 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^APCM24E1
  1. .;numerator?
  1. .S F=$P(^APCM24OB(APCMIC,0),U,9)
  1. .S N=$P($G(APCMLABS(APCMP)),U,2)
  1. .D S^APCM24E1(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^APCM24EB(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:$P(^AUPNVSIT(V,0),U,6)'=APCMFAC
  1. .I APCMMETH="E" I '$$HOSER^APCM24E6(V,APCMFAC),$P(^AUPNVSIT(V,0),U,7)'="I" Q ;not a H or 30 or I
  1. .I APCMMETH="O" Q:"IOH"'[$P(^AUPNVSIT(V,0),U,7)
  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(APCMFAC)) S APCMLABS(APCMFAC)=""
  1. .S $P(APCMLABS(APCMFAC),U,1)=$P(APCMLABS(APCMFAC),U,1)+1 D
  1. ..S $P(^TMP($J,"PATSRX",APCMFAC,PAT),U,1)=$P($G(^TMP($J,"PATSRX",APCMFAC,PAT)),U,1)+1,^TMP($J,"PATSRX",APCMFAC,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(APCMFAC),U,2)=$P(APCMLABS(APCMFAC),U,2)+1 D
  1. ..S $P(^TMP($J,"PATSRX",APCMFAC,PAT),U,2)=$P($G(^TMP($J,"PATSRX",APCMFAC,PAT)),U,2)+1 S ^TMP($J,"PATSRX",APCMFAC,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. ;
  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 Q
  1. ..S F=$P(^APCM24OB(APCMIC,0),U,11) D S^APCM24E1(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(^APCM24OB(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^APCM24E1(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^APCM24E1 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^APCM24E1
  1. .;numerator?
  1. .S F=$P(^APCM24OB(APCMIC,0),U,9)
  1. .S N=$P($G(MMR(APCMP)),U,2)
  1. .D S^APCM24E1(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 2 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 ;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. .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 ;no images
  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 2 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
  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. SEM ;EP
  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. ..I APCMATTE("S2.026.EP",APCMP)="Yes" S F=$P(^APCM24OB(APCMIC,0),U,11) D S^APCM24E1(APCMRPT,APCMIC,"BROADBAND",APCMP,APCMRPTT,APCMTIME,F,1)
  1. ..Q:'$D(APCMHVTP(APCMP)) ;no visits to this provider for this patient so don't bother, the patient is not in the denominator
  1. ..D ST1
  1. Q
  1. ST1 ;set denominator value into field
  1. S F=$P(^APCM24OB(APCMIC,0),U,8) ;denom field for this measure
  1. D S^APCM24E1(APCMRPT,APCMIC,1,APCMP,APCMRPTT,APCMTIME,F)
  1. S APCMVALU="VISIT: "_$$DATE^APCM1UTL(APCMHVTP(APCMP))
  1. ;numerator?
  1. S V="" I $T(PHR^BPHRMUPM)]"" D PHR^BPHRMUPM(DFN,APCMBDAT,APCMEDAT,.V)
  1. S APCMVALU=APCMVALU_"|||"_"Secure message sent: " D
  1. .I $P($P(V,U,6),".")<APCMBDAT Q
  1. .I $P($P(V,U,6),".")>APCMEDAT Q
  1. .S APCMVALU=APCMVALU_$$DATE^APCM1UTL($P(V,U,6))_"|||"_$P(V,U,5)
  1. .S F=$P(^APCM24OB(APCMIC,0),U,9)
  1. .D S^APCM24E1(APCMRPT,APCMIC,$P(V,U,5),APCMP,APCMRPTT,APCMTIME,F)
  1. D SETLIST^APCM24E1
  1. Q
  1. ERX ;EPRESCRIBING HOSPITAL
  1. ;loop through file 52 and find all prescriptions filled during report period and have a Y for discharge med
  1. ;numerator = nature of order not equal written
  1. K ^TMP($J,"PATSRX")
  1. K APCMRXS
  1. D TOTRX
  1. NEW APCMP,N,F
  1. S (APCMD1,APCMN1)=0
  1. I APCMRPTT=2 S APCMP=APCMFAC
  1. S I=$P(^APCM24OB(APCMIC,0),U,1)
  1. I $G(APCMATTE(I,APCMP))="No" S F=$P(^APCM24OB(APCMIC,0),U,11) D Q
  1. .D S^APCM24E1(APCMRPT,APCMIC,"NO ONSITE PHARMACY.",APCMP,APCMRPTT,APCMTIME,F,1)
  1. D ;set denominator value into field
  1. S F=$P(^APCM24OB(APCMIC,0),U,8) ;denom field for this measure
  1. S N=$P($G(APCMRXS(APCMP)),U,1) ;returns # of prescriptions^# not written by nature of order
  1. D S^APCM24E1(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="# Prescriptions: "_$P(^TMP($J,"PATSRX",APCMP,P),U,1)_"|||"_" # transmitted electronically: "_+$P(^TMP($J,"PATSRX",APCMP,P),U,2)_"|||1" D Q
  1. ..S DFN=P D SETLIST^APCM24E1 Q
  1. .S S="",APCMVALU="Not transmitted electronically: "
  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 Prescriptions: "_$P(^TMP($J,"PATSRX",APCMP,P),U,1)_" # transmitted electronically: "_+$P(^TMP($J,"PATSRX",APCMP,P),U,2)_"|||"_APCMVALU,$P(APCMVALU,"|||",3)=0 D SETLIST^APCM24E1
  1. ;numerator?
  1. S F=$P(^APCM24OB(APCMIC,0),U,9)
  1. S N=$P($G(APCMRXS(APCMP)),U,2)
  1. D S^APCM24E1(APCMRPT,APCMIC,N,APCMP,APCMRPTT,APCMTIME,F)
  1. K ^TMP($J,"PATSRX")
  1. Q
  1. TOTRX ;EP -SET ARRAY APCMRXS to APCMRXS(FACILITY)=denom^numer
  1. NEW ID,C,Y,X,D,S,N,A,B,R,PAT,G,OS,DIVI
  1. S C=0,N=0
  1. S ID=$$FMADD^XLFDT(APCMBDAT,-1)
  1. F S ID=$O(^PSRX("AC",ID)) Q:ID'=+ID!(ID>APCMEDAT) D
  1. .S X=0 F S X=$O(^PSRX("AC",ID,X)) Q:X'=+X D
  1. ..Q:$$GET1^DIQ(52,X,9999999.28)'="YES" ;MUST BE A DISCHARGE MED
  1. ..;if in obs method skip any with a visit of "A"
  1. ..S V=$P($G(^PSRX(X,999999911)),U,1)
  1. ..I V,APCMMETH="O" Q:'$D(^AUPNVMED(V,0)) S V=$P($G(^AUPNVMED(V,0)),U,3) Q:'$D(^AUPNVSIT(V,0)) Q:$P(^AUPNVSIT(V,0),U,7)="A"
  1. ..I '$D(APCMRXS(APCMFAC)) S APCMRXS(APCMFAC)=""
  1. ..Q:$P($G(^PSRX(X,"STA")),"^")=13 ;DELETED
  1. ..S D=$P(^PSRX(X,0),U,6) ;CONTROLLED SUBSTANCE
  1. ..S S=$P($G(^PSDRUG(D,0)),U,3)
  1. ..Q:S[5
  1. ..Q:S[4
  1. ..Q:S[3
  1. ..Q:S[2
  1. ..Q:S[1
  1. ..;S S=$P($G(^PSRX(X,3)),U,7)
  1. ..;Q:$$UP^XLFSTR(S)["ADMINISTERED IN CLINIC"
  1. ..S PAT=$P(^PSRX(X,0),U,2)
  1. ..;quit if demo patient
  1. ..Q:$$DEMO^APCLUTL(PAT,$G(APCMDEMO))
  1. ..;facility and make sure it matches APCMFAC
  1. ..S OS=$$GET1^DIQ(52,X,20,"I") ;OUTPATIENT SITE
  1. ..S DIVI=$$GET1^DIQ(59,OS,100,"I") ;DIVISION
  1. ..Q:APCMFAC'=DIVI
  1. ..S $P(APCMRXS(APCMFAC),U,1)=$P(APCMRXS(APCMFAC),U,1)+1,$P(^TMP($J,"PATSRX",APCMFAC,PAT),U,1)=$P($G(^TMP($J,"PATSRX",APCMFAC,PAT)),U,1)+1,^TMP($J,"PATSRX",APCMFAC,PAT,"SCRIPTS",$P(^PSRX(X,0),U,1))=""
  1. ..;
  1. ..;now check to see if it has a nature of order not equal to 1-written
  1. ..S G=0
  1. ..I $E($P(^PSRX(X,0),U,1))?1N D
  1. ...S O=$P($G(^PSRX(X,"OR1")),U,2) ;order number
  1. ...Q:O=""
  1. ...S B=$P($G(^OR(100,O,0)),U,6)
  1. ...Q:B=""
  1. ...S A=0,G=0 F S A=$O(^OR(100,O,8,A)) Q:A'=+A!(G) D
  1. ....S B=$P($G(^OR(100,O,8,A,0)),U,12)
  1. ....Q:B=1
  1. ....Q:B=""
  1. ....S G=1
  1. ...S $P(APCMRXS(APCMFAC),U,2)=$P(APCMRXS(APCMFAC),U,2)+G,$P(^TMP($J,"PATSRX",APCMFAC,PAT),U,2)=$P($G(^TMP($J,"PATSRX",APCMFAC,PAT)),U,2)+G I G S ^TMP($J,"PATSRX",APCMFAC,PAT,"ELEC",$P(^PSRX(X,0),U,1))="" ;S N=N+G
  1. ..S B=0 I $E($P(^PSRX(X,0),U,1))="X" D
  1. ...S A=0 F S A=$O(^PSRX(X,"A",A)) Q:A'=+A!(B) D
  1. ....I $P(^PSRX(X,"A",A,0),U,5)["E-Prescribe" S B=1
  1. ....I $P(^PSRX(X,"A",A,0),U,5)["eRx" S B=1
  1. ...S $P(APCMRXS(APCMFAC),U,2)=$P(APCMRXS(APCMFAC),U,2)+B,$P(^TMP($J,"PATSRX",APCMFAC,PAT),U,2)=$P($G(^TMP($J,"PATSRX",APCMFAC,PAT)),U,2)+B I B S ^TMP($J,"PATSRX",APCMFAC,PAT,"ELEC",$P(^PSRX(X,0),U,1))=""
  1. Q