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

BGP7CU.m

Go to the documentation of this file.
  1. BGP7CU ; IHS/CMI/LAB - calc CMS measures 26 Sep 2004 11:28 AM 04 May 2010 2:38 PM ;
  1. ;;17.1;IHS CLINICAL REPORTING;;MAY 10, 2017;Build 29
  1. ;
  1. ;
  1. CTR(X,Y) ;EP - Center X in a field Y wide.
  1. Q $J("",$S($D(Y):Y,1:80)-$L(X)\2)_X
  1. ;----------
  1. EOP ;EP - End of page.
  1. Q:$E(IOST)'="C"
  1. Q:$D(ZTQUEUED)!'(IOT="TRM")!$D(IO("S"))
  1. NEW DIR
  1. K DIRUT,DFOUT,DLOUT,DTOUT,DUOUT
  1. S DIR(0)="E" D ^DIR
  1. Q
  1. ;----------
  1. USR() ;EP - Return name of current user from ^VA(200.
  1. Q $S($G(DUZ):$S($D(^VA(200,DUZ,0)):$P(^(0),U),1:"UNKNOWN"),1:"DUZ UNDEFINED OR 0")
  1. ;----------
  1. ;
  1. GETMEDS(P,BGPMBD,BGPMED,TAX1,TAX2,TAX3,EXP,ADM,BGPDNAME,BGPC,LAST) ;EP
  1. K ^TMP($J,"MEDS")
  1. S LAST=$G(LAST)
  1. NEW BGPC1,T,T1,T2,X,Y,G,D,C,BGPZ
  1. S BGPDNAME=$G(BGPDNAME)
  1. S BGPC1=0 K BGPZ
  1. S Y="^TMP($J,""MEDS"",",X=P_"^ALL MED;DURING "_$$FMTE^XLFDT(BGPMBD)_"-"_$$FMTE^XLFDT(BGPMED) S E=$$START1^APCLDF(X,Y)
  1. S T="" I TAX1]"" S T=$O(^ATXAX("B",TAX1,0))
  1. S T1="" I TAX2]"" S T1=$O(^ATXAX("B",TAX2,0))
  1. S T2="" I TAX3]"" S T2=$O(^ATXAX("B",TAX3,0))
  1. S X=0 F S X=$O(^TMP($J,"MEDS",X)) Q:X'=+X S Y=+$P(^TMP($J,"MEDS",X),U,4) D
  1. .Q:'$D(^AUPNVMED(Y,0))
  1. .S G=0
  1. .S D=$P(^AUPNVMED(Y,0),U)
  1. .S C=$P($G(^PSDRUG(D,0)),U,2)
  1. .I C]"",T2,$D(^ATXAX(T2,21,"B",C)) S G=1
  1. .S C=$P($G(^PSDRUG(D,2)),U,4)
  1. .I C]"",T1,$D(^ATXAX(T1,21,"B",C)) S G=1
  1. .I T,$D(^ATXAX(T,21,"B",D)) S G=1
  1. .I BGPDNAME]"",$P(^PSDRUG(D,0),U)[BGPDNAME S G=1
  1. .Q:'G
  1. .I $G(EXP) Q:$$EXP(Y,ADM)
  1. .I G=1 D
  1. ..S N=$P(^TMP($J,"MEDS",X),U,2)_" "_$P(^AUPNVMED(Y,0),U,5)_" qty: "_$P(^AUPNVMED(Y,0),U,6)_" days: "_$P(^AUPNVMED(Y,0),U,7)_" "_$$DATE^BGP7UTL($P(^TMP($J,"MEDS",X),U))
  1. ..I $P(^AUPNVMED(Y,0),U,8)]"" S N=N_" D/C "_$$DATE^BGP7UTL($P(^AUPNVMED(Y,0),U,8))
  1. ..S BGPZ($P(^TMP($J,"MEDS",X),U,2),(9999999-$P(^TMP($J,"MEDS",X),U)))=N
  1. .Q
  1. I 'LAST D
  1. .S N="" F S N=$O(BGPZ(N)) Q:N="" D
  1. ..S D=0,D=$O(BGPZ(N,D)) I '$D(BGPY("B",N,D)) S BGPC=BGPC+1,BGPY(BGPC)=BGPZ(N,D),BGPY("B",N,D)=""
  1. I LAST D
  1. .S N="" F S N=$O(BGPZ(N)) Q:N="" D
  1. ..S D=0,D=$O(BGPZ(N,D)) S BGPY(D)=BGPZ(N,D)
  1. ..S X=$O(BGPY(0)) S X=BGPY(X)
  1. ..K BGPY
  1. ..S BGPY=X
  1. Q
  1. EXP(Y,ADM) ;
  1. NEW G,V,N,Z,E
  1. S G=0 ;not expired
  1. S N=$P($G(^AUPNVMED(Y,0)),U,7) ;DAYS SUPPLY
  1. S V=$P(^AUPNVMED(Y,0),U,3)
  1. S Z=$S($D(^PSRX("APCC",Y)):$O(^(Y,0)),1:0) I Z D
  1. .S E=$P($G(^PSRX(Z,2)),U,6)
  1. .I E<ADM S G=1 ;prescription expired prior to admission date
  1. I $$FMADD^XLFDT($P($P(^AUPNVSIT(V,0),U),"."),N)<ADM S G=1
  1. Q G