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

APCLVLU.m

Go to the documentation of this file.
  1. APCLVLU ; IHS/CMI/LAB - GEN RETR UTILITIES ;
  1. ;;2.0;IHS PCC SUITE;**2,4,5,10,11,20**;MAY 14, 2009;Build 25
  1. ;IHS/CMI/LAB - patch 4 added anyins
  1. ;
  1. RZERO(V,L) ;EP right zero fill
  1. NEW %,I
  1. S %=$L(V),Z=L-% F I=1:1:Z S V=V_"0"
  1. Q V
  1. LZERO(V,L) ;EP left zero fill
  1. NEW %,I
  1. S %=$L(V),Z=L-% F I=1:1:Z S V="0"_V
  1. Q V
  1. LBLK(V,L) ;left blank fill
  1. NEW %,I
  1. S %=$L(V),Z=L-% F I=1:1:Z S V=" "_V
  1. Q V
  1. ANYINS(P,D) ;EP return 1 or 0 if patient has any insurance
  1. NEW APCLA
  1. S APCLA=0
  1. S APCLA=$$MCR^AUPNPAT(P,D) I APCLA Q APCLA
  1. S APCLA=$$MCD^AUPNPAT(P,D) I APCLA Q APCLA
  1. S APCLA=$$PI^AUPNPAT(P,D)
  1. Q APCLA
  1. ;
  1. MCR(P,D,F) ;is patient medicare eligible on this date
  1. NEW APCLMIFN,APCLFLG
  1. S APCLFLG=0
  1. S F=$G(F)
  1. I '$D(^DPT(P,0)) G MCRX
  1. I $P(^DPT(P,0),U,19) G MCRX
  1. I '$D(^AUPNPAT(P,0)) G MCRX
  1. I '$D(^AUPNMCR(P,11)) G MCRX
  1. I $D(^DPT(P,.35)),$P(^(.35),U)]"",$P(^(.35),U)<D G MCRX
  1. S APCLMIFN=0 F S APCLMIFN=$O(^AUPNMCR(P,11,APCLMIFN)) Q:APCLMIFN'=+APCLMIFN D
  1. .I F]"",$P(^AUPNMCR(P,11,APCLMIFN,0),U,3)'=F Q
  1. .Q:$P(^AUPNMCR(P,11,APCLMIFN,0),U)>D
  1. .I $P(^AUPNMCR(P,11,APCLMIFN,0),U,2)]"",$P(^(0),U,2)<D Q
  1. .S APCLFLG=1
  1. .Q
  1. MCRX ;
  1. Q APCLFLG
  1. ;
  1. MCD(P,D) ;
  1. NEW APCLMIFN,APCLNIFN,APCLFLG
  1. S APCLFLG=0
  1. I '$D(^DPT(P,0)) G MCDX
  1. I $P(^DPT(P,0),U,19) G MCDX
  1. I '$D(^AUPNPAT(P,0)) G MCDX
  1. I $D(^DPT(P,.35)),$P(^(.35),U)]"",$P(^(.35),U)<D G MCDX
  1. S APCLMIFN=0 F S APCLMIFN=$O(^AUPNMCD("B",P,APCLMIFN)) Q:APCLMIFN'=+APCLMIFN D
  1. .Q:'$D(^AUPNMCD(APCLMIFN,11))
  1. .S APCLNIFN=0 F S APCLNIFN=$O(^AUPNMCD(APCLMIFN,11,APCLNIFN)) Q:APCLNIFN'=+APCLNIFN D
  1. ..Q:APCLNIFN>D
  1. ..I $P(^AUPNMCD(APCLMIFN,11,APCLNIFN,0),U,2)]"",$P(^(0),U,2)<D Q
  1. ..S APCLFLG=1
  1. ..Q
  1. .Q
  1. ;
  1. MCDX ;
  1. Q APCLFLG
  1. ;
  1. MCDPN(P,D,F) ;EP - return medicaid plan name
  1. NEW APCLMIFN,APCLNIFN,APCLPN
  1. S APCLPN=""
  1. I '$D(^DPT(P,0)) G MCDPNX
  1. I $P(^DPT(P,0),U,19) G MCDPNX
  1. I '$D(^AUPNPAT(P,0)) G MCDPNX
  1. I $D(^DPT(P,.35)),$P(^(.35),U)]"",$P(^(.35),U)<D G MCDPNX
  1. S APCLMIFN=0 F S APCLMIFN=$O(^AUPNMCD("B",P,APCLMIFN)) Q:APCLMIFN'=+APCLMIFN D
  1. .Q:'$D(^AUPNMCD(APCLMIFN,11))
  1. .S APCLNIFN=0 F S APCLNIFN=$O(^AUPNMCD(APCLMIFN,11,APCLNIFN)) Q:APCLNIFN'=+APCLNIFN D
  1. ..Q:APCLNIFN>D
  1. ..I $P(^AUPNMCD(APCLMIFN,11,APCLNIFN,0),U,2)]"",$P(^(0),U,2)<D Q
  1. ..S APCLPN=$P(^AUPNMCD(APCLMIFN,0),U,10) I APCLPN]"" S APCLPN=$S(F="E":$P(^AUTNINS(APCLPN,0),U),1:APCLPN)
  1. ..Q
  1. .Q
  1. ;
  1. MCDPNX ;
  1. Q APCLPN
  1. PI(P,D) ;
  1. NEW APCLMIFN,APCLFLG
  1. S APCLFLG=0
  1. I '$D(^DPT(P,0)) G PIX
  1. I $P(^DPT(P,0),U,19) G PIX
  1. I '$D(^AUPNPAT(P,0)) G PIX
  1. I '$D(^AUPNPRVT(P,11)) G PIX
  1. I $D(^DPT(P,.35)),$P(^(.35),U)]"",$P(^(.35),U)<D G PIX
  1. S APCLMIFN=0 F S APCLMIFN=$O(^AUPNPRVT(P,11,APCLMIFN)) Q:APCLMIFN'=+APCLMIFN D
  1. .Q:$P(^AUPNPRVT(P,11,APCLMIFN,0),U)=""
  1. .S APCLNAME=$P(^AUPNPRVT(P,11,APCLMIFN,0),U) Q:APCLNAME=""
  1. .Q:$P(^AUTNINS(APCLNAME,0),U)["AHCCCS"
  1. .Q:$P(^AUPNPRVT(P,11,APCLMIFN,0),U,6)>D
  1. .I $P(^AUPNPRVT(P,11,APCLMIFN,0),U,7)]"",$P(^(0),U,7)<D Q
  1. .S APCLFLG=1
  1. .Q
  1. PIX ;
  1. Q APCLFLG
  1. PIV(P,D) ;EP - return 1 or 0 if current pi policy has been verified, return 1
  1. NEW APCLMIFN,APCLFLG
  1. S APCLFLG=0
  1. I '$D(^DPT(P,0)) G PIX
  1. I $P(^DPT(P,0),U,19) G PIX
  1. I '$D(^AUPNPAT(P,0)) G PIX
  1. I '$D(^AUPNPRVT(P,11)) G PIX
  1. I $D(^DPT(P,.35)),$P(^(.35),U)]"",$P(^(.35),U)<D G PIX
  1. S APCLMIFN=0 F S APCLMIFN=$O(^AUPNPRVT(P,11,APCLMIFN)) Q:APCLMIFN'=+APCLMIFN D
  1. .Q:$P(^AUPNPRVT(P,11,APCLMIFN,0),U)=""
  1. .S APCLNAME=$P(^AUPNPRVT(P,11,APCLMIFN,0),U) Q:APCLNAME=""
  1. .Q:$P(^AUTNINS(APCLNAME,0),U)["AHCCCS"
  1. .Q:$P(^AUPNPRVT(P,11,APCLMIFN,0),U,6)>D
  1. .I $P(^AUPNPRVT(P,11,APCLMIFN,0),U,7)]"",$P(^(0),U,7)<D Q
  1. .Q:$P(^AUPNPRVT(P,11,APCLMIFN,0),U,9)=""
  1. .S APCLFLG=1
  1. .Q
  1. PIVX ;
  1. Q APCLFLG
  1. ;
  1. PIN(P,D,F) ;EP private insurer name (external or internal)
  1. NEW APCLMIFN,APCLPIN,Y
  1. S:$G(F)="" F="E"
  1. S APCLPIN="",Y=""
  1. I '$D(^DPT(P,0)) G PINX
  1. I $P(^DPT(P,0),U,19) G PINX
  1. I '$D(^AUPNPAT(P,0)) G PINX
  1. I '$D(^AUPNPRVT(P,11)) G PINX
  1. I $D(^DPT(P,.35)),$P(^(.35),U)]"",$P(^(.35),U)<D G PINX
  1. S APCLMIFN=0 F S APCLMIFN=$O(^AUPNPRVT(P,11,APCLMIFN)) Q:APCLMIFN'=+APCLMIFN D
  1. .Q:$P(^AUPNPRVT(P,11,APCLMIFN,0),U)=""
  1. .S Y=$P(^AUPNPRVT(P,11,APCLMIFN,0),U)
  1. .I $P(^AUTNINS(Y,0),U)["AHCCCS" Q
  1. .I $P(^AUPNPRVT(P,11,APCLMIFN,0),U,6)>D Q
  1. .I $P(^AUPNPRVT(P,11,APCLMIFN,0),U,7)]"",$P(^(0),U,7)<D Q
  1. .S APCLPIN=$S(F="E":$P(^AUTNINS(Y,0),U),1:Y)
  1. .Q
  1. PINX ;
  1. Q APCLPIN
  1. LOS(V) ;EP called from pcc man rpts visit sort
  1. I 'V Q ""
  1. I '$D(^AUPNVSIT(V)) Q ""
  1. I $P(^AUPNVSIT(V,0),U,7)'="H" Q ""
  1. I $P(^AUPNVSIT(V,0),U,3)="C",'$D(^AUPNVCHS("AD",V)) Q ""
  1. I $P(^AUPNVSIT(V,0),U,3)'="C",'$D(^AUPNVINP("AD",V)) Q ""
  1. NEW D,E,F,A
  1. S A=$P($P(^AUPNVSIT(V,0),U),".")
  1. S F=$S($D(^AUPNVINP("AD",V)):$O(^AUPNVINP("AD",V,0)),$D(^AUPNVCHS("AD",V)):$O(^AUPNVCHS("AD",V,0)),1:"")
  1. I F="" Q F
  1. S D=$S($D(^AUPNVINP("AD",V)):$P(^AUPNVINP(F,0),U),$D(^AUPNVCHS("AD",V)):$P(^AUPNVCHS(F,0),U,12),1:"")
  1. I D="" Q D
  1. S E=$$FMDIFF^XLFDT(D,A,1)
  1. Q $S('E:1,1:E)
  1. THIRD ;EP
  1. S APCLPRNT=""
  1. S X=$$MCR^AUPNPAT(DFN,$S(APCLPTVS="V":$P(APCLVREC,U),1:DT)) S:X APCLPRNT=APCLPRNT_"MEDICARE "
  1. S X=$$MCD^AUPNPAT(DFN,$S(APCLPTVS="V":$P(APCLVREC,U),1:DT)) S:X APCLPRNT=APCLPRNT_"MEDICAID "
  1. S X=$$PI^AUPNPAT(DFN,$S(APCLPTVS="V":$P(APCLVREC,U),1:DT)) S:X APCLPRNT=APCLPRNT_"PRVT INS "
  1. S:APCLPRNT="" APCLPRNT="<none>"
  1. Q
  1. LASTHF(P,C,F) ;EP - get last factor in category C for patient P
  1. I '$G(P) Q ""
  1. I $G(C)="" Q ""
  1. I $G(F)="" S F="N"
  1. S C=$O(^AUTTHF("B",C,0)) ;ien of category passed
  1. I '$G(C) Q ""
  1. NEW H,D,O S H=0 K O
  1. F S H=$O(^AUTTHF("AC",C,H)) Q:'+H D
  1. . Q:'$D(^AUPNVHF("AA",P,H))
  1. . S D=$O(^AUPNVHF("AA",P,H,""))
  1. . Q:'D
  1. . S O(D)=$O(^AUPNVHF("AA",P,H,D,""))
  1. . Q
  1. S D=$O(O(0))
  1. I D="" Q D
  1. I F="I" Q $P(^AUPNVHF(O(D),0),U)
  1. I F="N" Q $P(^AUTTHF($P(^AUPNVHF(O(D),0),U),0),U)_" "_$$FMTE^XLFDT((9999999-D),2)
  1. Q ""
  1. ;
  1. LASTTOHF(P,C,F) ;EP - get last factor in tobacco categories for patient P
  1. I '$G(P) Q ""
  1. I $G(C)="" S C=""
  1. I $G(F)="" S F="N"
  1. NEW L,M,N
  1. S L=$O(^AUTTHF("B","TOBACCO (SMOKING)",0))
  1. S M=$O(^AUTTHF("B","TOBACCO (SMOKELESS - CHEWING/DIP)",0))
  1. S N=$O(^AUTTHF("B","TOBACCO (EXPOSURE)",0))
  1. NEW H,D,O S H=0 K O
  1. F C=L,M,N F S H=$O(^AUTTHF("AC",C,H)) Q:'+H D
  1. . Q:'$D(^AUPNVHF("AA",P,H))
  1. . S D=$O(^AUPNVHF("AA",P,H,""))
  1. . Q:'D
  1. . S O(D)=$O(^AUPNVHF("AA",P,H,D,9999999999),-1)
  1. . Q
  1. S D=$O(O(0))
  1. I D="" Q D
  1. I F="I" Q $P(^AUPNVHF(O(D),0),U)
  1. I F="N" Q $P(^AUTTHF($P(^AUPNVHF(O(D),0),U),0),U)_" "_$$FMTE^XLFDT((9999999-D),2)
  1. Q ""
  1. ;
  1. HFC(V) ;EP - get last factor in category C for patient P
  1. NEW A,B,C,D
  1. S A=0 F S A=$O(^AUPNVHF("AD",V,A)) Q:A'=+A D
  1. .S B=$P($G(^AUPNVHF(A,0)),U)
  1. .Q:B=""
  1. .S C=$P($G(^AUTTHF(B,0)),U,3)
  1. .Q:C=""
  1. .S X(C)=""
  1. .Q
  1. Q
  1. HFCP ;EP get all hfs in category stored
  1. NEW A,B,C,D
  1. S A=0 F S A=$O(^AUPNVHF("AD",APCLVIEN,A)) Q:A'=+A D
  1. .S B=$P($G(^AUPNVHF(A,0)),U)
  1. .Q:B=""
  1. .S C=$P($G(^AUTTHF(B,0)),U,3)
  1. .Q:C=""
  1. .S D=$P(^APCLVRPT(APCLRPT,12,APCLI,0),U)
  1. .Q:'$D(^APCLVRPT(APCLRPT,11,D,11,"B",C))
  1. .S APCLPRNT=$P(^AUTTHF(B,0),U)
  1. .S APCLPCNT=APCLPCNT+1,APCLPRNM(APCLPCNT)=APCLPRNT_" "_$$VD^APCLV(APCLVIEN,"S"),APCLPRNM(APCLPCNT,"I")=C
  1. .Q
  1. Q
  1. ;
  1. ADMWARD(V) ;EP return admission ward for this visit
  1. ;must be running PIMS
  1. ;
  1. PN(V,R,I) ;EP
  1. NEW Y,N,Z,G,A S A=""
  1. S Y=0 F S Y=$O(^AUPNVPOV("AD",V,Y)) Q:Y'=+Y D
  1. .S N=$P($G(^AUPNVPOV(Y,0)),U,4)
  1. .Q:N=""
  1. .S N=$$VAL^XBDIQ1(9000010.07,Y,.04) ;$P($G(^AUTNPOV(N,0)),U)
  1. .Q:N=""
  1. .S Z=0 F S Z=$O(^APCLVRPT(R,11,I,11,Z)) Q:Z'=+Z D
  1. ..S G=$P($G(^APCLVRPT(R,11,I,11,Z,0)),U)
  1. ..I N[G S A=1
  1. ..Q
  1. .Q
  1. Q A
  1. EDOB(V,R,I) ;EP
  1. NEW Y,N,Z,G,A S A=""
  1. S Y=0 F S Y=$O(^AUPNVPED("AD",V,Y)) Q:Y'=+Y D
  1. .S N=$P($G(^AUPNVPED(Y,0)),U,14)
  1. .S N=$$UP^XLFSTR(N)
  1. .S Z=0 F S Z=$O(^APCLVRPT(R,11,I,11,Z)) Q:Z'=+Z D
  1. ..S G=$$UP^XLFSTR($P($G(^APCLVRPT(R,11,I,11,Z,0)),U))
  1. ..I N[G S A=1
  1. ..Q
  1. .Q
  1. Q A
  1. MCRD(P,D) ;is patient medicare eligible on this date
  1. NEW APCLMIFN,APCLFLG
  1. S APCLFLG=0
  1. S F=$G(F)
  1. I '$D(^DPT(P,0)) G MCRX
  1. I $P(^DPT(P,0),U,19) G MCRX
  1. I '$D(^AUPNPAT(P,0)) G MCRX
  1. I '$D(^AUPNMCR(P,11)) G MCRX
  1. I $D(^DPT(P,.35)),$P(^(.35),U)]"",$P(^(.35),U)<D G MCRX
  1. S APCLMIFN=0 F S APCLMIFN=$O(^AUPNMCR(P,11,APCLMIFN)) Q:APCLMIFN'=+APCLMIFN D
  1. .I $P(^AUPNMCR(P,11,APCLMIFN,0),U,3)'="D" Q
  1. .Q:$P(^AUPNMCR(P,11,APCLMIFN,0),U)>D
  1. .I $P(^AUPNMCR(P,11,APCLMIFN,0),U,2)]"",$P(^(0),U,2)<D Q
  1. .S APCLFLG=1
  1. .Q
  1. I APCLFLG Q APCLFLG
  1. ;now check PI for D- or MD in 2nd piece of 2 node (per Shonda)
  1. S APCLFLG=$$PIDD^APCLOS21(DFN,D) ;check for D- in private insurer name
  1. Q APCLFLG
  1. ;
  1. LASTINUD(P,D) ;EP - last date internet access was updated as of date D
  1. I $G(D)="" S D=DT
  1. I '$G(P)="" Q ""
  1. I '$D(^AUPNPAT(P,81)) Q ""
  1. NEW X,Y
  1. S X=0,Y="" F S X=$O(^AUPNPAT(P,81,"B",X)) Q:X'=+X!(X>D) S Y=X
  1. Q Y
  1. ;
  1. DATE(D) ;EP
  1. I D="" Q ""
  1. Q $E(D,4,5)_"/"_$E(D,6,7)_"/"_$E(D,2,3)
  1. ;
  1. LASTINYN(P,F,D) ;EP - last response to does patient have internet access? as of date D
  1. I '$G(P)="" Q ""
  1. I $G(D)="" S D=DT
  1. S F=$G(F)
  1. I '$D(^AUPNPAT(P,81)) Q ""
  1. NEW X,Y,Z
  1. S Z=""
  1. S X=0,Y="" F S X=$O(^AUPNPAT(P,81,"B",X)) Q:X'=+X!(X>D) S Y=0 F S Y=$O(^AUPNPAT(P,81,"B",X,Y)) Q:Y'=+Y S Z=Y
  1. I Z="" Q Z
  1. I F="I" Q $P(^AUPNPAT(P,81,Z,0),U,2)
  1. Q $$GET1^DIQ(9000001.81,Z_","_P_",",.02)
  1. ;
  1. LASTINAC(P,F,D) ;EP - last response to does patient have internet access?
  1. ;as of date D
  1. I '$G(P)="" Q ""
  1. S F=$G(F)
  1. S D=$G(D)
  1. I D="" S D=DT
  1. I '$D(^AUPNPAT(P,81)) Q ""
  1. NEW X,Y,Z
  1. S Z=""
  1. S X=0,Y="" F S X=$O(^AUPNPAT(P,81,"B",X)) Q:X'=+X!(X>D) S Y=0 F S Y=$O(^AUPNPAT(P,81,"B",X,Y)) Q:Y'=+Y S Z=Y
  1. I Z="" Q Z
  1. I F="I" Q $P(^AUPNPAT(P,81,Z,0),U,3)
  1. Q $$GET1^DIQ(9000001.81,Z_","_P_",",.03)
  1. ;
  1. MEDQD ;EP - return med/qty/days formatted
  1. NEW P,X,Q,D
  1. S APCLPCNT=0
  1. S P=0 F S P=$O(^AUPNVMED("AD",APCLVIEN,P)) Q:P'=+P D
  1. .S APCLPRNT="",X=""
  1. .S X=$$RBLK^APCLUTL($E($$VAL^XBDIQ1(9000010.14,P,.01),1,30),30)
  1. .S Q=$$RBLK^APCLUTL(" Qty: "_$P(^AUPNVMED(P,0),U,6),13)
  1. .S D=" Days: "_$P(^AUPNVMED(P,0),U,7)
  1. .S APCLPCNT=APCLPCNT+1
  1. .S APCLPRNM(APCLPCNT)=X_Q_D
  1. .S APCLPRNM(APCLPCNT,"I")=$P(^AUPNVMED(P,0),U)
  1. .Q
  1. Q
  1. FAMHX ;EP - return FAMILY HISTORY AND RELATIONSHIP
  1. NEW P,X,Q,D
  1. S APCLPCNT=0
  1. S P=0 F S P=$O(^AUPNFH("AC",DFN,P)) Q:P'=+P D
  1. .S APCLPRNT="",X=""
  1. .S X=$$VAL^XBDIQ1(9000014,P,.01)
  1. .S Q=$$VAL^XBDIQ1(9000014,P,.09)
  1. .S APCLPCNT=APCLPCNT+1
  1. .S APCLPRNM(APCLPCNT)=Q_" "_$$VAL^XBDIQ1(9000014.1,$P(^AUPNFH(P,0),U,9),.03)_"; "_X
  1. .;S APCLPRNM(APCLPCNT,"I")=$P(^AUPNVMED(P,0),U)
  1. .Q
  1. Q
  1. FAMHXP ;EP - return FAMILY HISTORY DESCRIPTION
  1. NEW P,X,Q,D
  1. S APCLPCNT=0
  1. S P=0 F S P=$O(^AUPNFH("AC",DFN,P)) Q:P'=+P D
  1. .S APCLPRNT="",X=""
  1. .S X=$$VAL^XBDIQ1(9000014,P,.01)
  1. .S Q=$$VAL^XBDIQ1(9000014,P,.09)
  1. .S APCLPCNT=APCLPCNT+1
  1. .S APCLPRNM(APCLPCNT)=Q_" "_$$VAL^XBDIQ1(9000014.1,$P(^AUPNFH(P,0),U,9),.03)_"; "_X_"; "_$$VAL^XBDIQ1(9000014,P,.04)_"; Age at Onset: "_$$VAL^XBDIQ1(9000014,P,.05) ;LORI MU
  1. .;S APCLPRNM(APCLPCNT,"I")=$P(^AUPNVMED(P,0),U)
  1. .Q
  1. Q
  1. ALLCPTS(V,RETVAL) ;EP - return in array RETVAL all cpts ien of visit V - used in VGEN
  1. NEW A,B,C,D
  1. S C=0
  1. ;V CPT
  1. S A=0 F S A=$O(^AUPNVCPT("AD",V,A)) Q:A'=+A I $P($G(^AUPNVCPT(A,0)),U) S RETVAL($P(^AUPNVCPT(A,0),U))=""
  1. ;V PROCEDURE
  1. S A=0 F S A=$O(^AUPNVPRC("AD",V,A)) Q:A'=+A I $P($G(^AUPNVPRC(A,0)),U,16) S RETVAL($P(^AUPNVPRC(A,0),U,16))=""
  1. ;VISIT E&M
  1. S A=$P(^AUPNVSIT(V,0),U,17) I A S RETVAL(A)=""
  1. ;V TRAN CODES
  1. S A=0 F S A=$O(^AUPNVTC("AD",V,A)) Q:A'=+A I $P($G(^AUPNVTC(A,0)),U,7) S RETVAL($P(^AUPNVTC(A,0),U,7))=""
  1. ;V PAT ED
  1. S A=0 F S A=$O(^AUPNVPED("AD",APCLVIEN,A)) Q:A'=+A I $P($G(^AUPNVPED(A,0)),U,9) S X($P(^AUPNVPED(A,0),U,9))=""
  1. Q
  1. ALLCPTSP(V,RETVAL) ;EP - return in array RETVAL all cpts ien of visit V - used in VGEN
  1. NEW A,B,C,D
  1. S C=0
  1. ;V CPT
  1. S A=0 F S A=$O(^AUPNVCPT("AD",V,A)) Q:A'=+A S Z=$P($G(^AUPNVCPT(A,0)),U) I Z S C=C+1,RETVAL(C)=$$VAL^XBDIQ1(9000010.18,A,.01),RETVAL(C,"I")=Z
  1. ;V PROCEDURE
  1. S A=0 F S A=$O(^AUPNVPRC("AD",V,A)) Q:A'=+A S Z=$P($G(^AUPNVPRC(A,0)),U,16) I Z S C=C+1,RETVAL(C)=$$VAL^XBDIQ1(9000010.08,A,.16),RETVAL(C,"I")=Z
  1. ;VISIT E&M
  1. S A=$P(^AUPNVSIT(V,0),U,17) I A S C=C+1,RETVAL(C)=$$VAL^XBDIQ1(9000010,A,.17),RETVAL(C,"I")=A
  1. ;V TRAN CODES
  1. S A=0 F S A=$O(^AUPNVTC("AD",V,A)) Q:A'=+A S Z=$$VALI^XBDIQ1(9000010.33,A,.07) I Z S C=C+1,RETVAL(C)=$$VAL^XBDIQ1(9000010.33,A,.07),RETVAL(C,"I")=Z
  1. ;V PAT ED
  1. S A=0 F S A=$O(^AUPNVPED("AD",APCLVIEN,A)) Q:A'=+A S Z=$$VALI^XBDIQ1(9000010.16,A,.09) I Z S C=C+1,RETVAL(C)=$$VAL^XBDIQ1(9000010.16,A,.09),RETVAL(C,"I")=Z
  1. Q
  1. PMEAS ;
  1. NEW APCLX
  1. S APCLX=0 F S APCLX=$O(^AUPNVMSR("AD",APCLVIEN,APCLX)) Q:APCLX'=+APCLX D
  1. .Q:$P($G(^AUPNVMSR(APCLX,2)),U)
  1. .S APCLPRNT=$$VAL^XBDIQ1(9000010.01,APCLX,.01)
  1. .S APCLPCNT=APCLPCNT+1
  1. .S APCLPRNM(APCLPCNT)=APCLPRNT_" "_$$R($$VAL^XBDIQ1(9000010.01,APCLX,.01),$$VAL^XBDIQ1(9000010.01,APCLX,.04)) ;$P(^AUPNVMSR(APCLX,0),U,4)
  1. .S APCLPRNM(APCLPCNT,"I")=$P(^AUPNVMSR(APCLX,0),U)
  1. .Q
  1. Q
  1. R(T,V) ;
  1. I T'="HT",T'="WT",T'="BMI" Q V
  1. I V'["." Q V
  1. Q $TR($J(V,7,2)," ")