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

APCLPS1.m

Go to the documentation of this file.
  1. APCLPS1 ; IHS/CMI/LAB - prescription cost report ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;
  1. ;Thanks to Pat Cox who wrote the original code for this report.
  1. ;
  1. S APCLL(1)=$$CTR($$USR)
  1. S APCLL(2)=$$CTR($$LOC())
  1. S APCLL(3)=$$CTR("PRESCRIPTION COST REPORT",80)
  1. S APCLL(4)=" "
  1. S APCLL(5)="This report can be used by a site to determine prescription cost"
  1. S APCLL(6)="for a user specified group of patients for a specified date"
  1. S APCLL(7)="range. The report will allow sites to prepare for the Medicare"
  1. S APCLL(8)="Part D Prescription Drug Coverage that begins in January 2006."
  1. S APCLL(9)=""
  1. D EN^DDIOL(.APCLL)
  1. K APCLL
  1. DATES K APCLED,APCLBD
  1. K DIR W ! S DIR(0)="DO^::EXP",DIR("A")="Enter Beginning Date"
  1. D ^DIR Q:Y<1 S APCLBD=Y
  1. K DIR S DIR(0)="DO^:DT:EXP",DIR("A")="Enter Ending Date"
  1. D ^DIR Q:Y<1 S APCLED=Y
  1. ;
  1. I APCLED<APCLBD D G DATES
  1. . W !!,$C(7),"Sorry, Ending Date MUST not be earlier than Beginning Date."
  1. ;
  1. ;
  1. INS ;
  1. K APCLINS
  1. K DIR
  1. S DIR(0)="S^I:With INSURANCE (Medicare, Medicaid or Private Insurance);N:With NO Insurance"
  1. S DIR("A")="Do want to include patients",DIR("B")="I" KILL DA D ^DIR
  1. KILL DIR
  1. I $D(DIRUT) G DATES
  1. S APCLINS=Y
  1. I APCLINS="N" G SOURCE
  1. INST ;
  1. K APCLITYP
  1. W !,"Please select the insurance types that the patient must have to be"
  1. W !,"included in the report. For example, if you want patients with Medicare"
  1. W !,"enter 1, if you want patients with both Medicare and Medicaid, enter 1,2."
  1. W !
  1. W !?10,"1 Medicare"
  1. W !?10,"2 Medicaid"
  1. W !?10,"3 Private Insurance"
  1. S DIR(0)="L^1:3",DIR("A")="Enter Insurance Types that the Patient must have",DIR("B")="1" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) G INS
  1. I Y[1 S APCLITYP("M")=""
  1. I Y[2 S APCLITYP("C")=""
  1. I Y[3 S APCLITYP("P")=""
  1. ;
  1. SOURCE ;SOURCE OF DOLLAR AMOUNT AWP OR ACTUAL ACQUISTION COST
  1. S APCLSRC=""
  1. K DIR
  1. S DIR("?")=" "
  1. S DIR("?",1)="AVERAGE WHOLESALE PRICE IS THE AWP TIMES THE QTY FOR THE PRESCRIPTION"
  1. S DIR("?",2)="ACTUAL ACQUISITION PRICE IS THE UNIT PRICE TIMES THE QTY FOR THE PRESCRIPTION"
  1. S DIR("?",3)="BILLED PRICE IS THE ACTUAL AMOUNT THE POINT OF SALE PACKAGE BILLED FOR THE RX"
  1. S DIR("?",4)="THIS BILLED PRICE INCLUDES THE DISPENSING FEE"
  1. S DIR("?",5)="RECEIVED PRICE IS THE PRICE THAT WAS ACTUALLY PAID FROM THE VENDOR"
  1. S DIR(0)="S^A:AVERAGE WHOLESALE PRICE;P:ACTUAL ACQUISITION PRICE;B:POS BILLED PRICE;R:POS RECEIVED PRICE"
  1. S DIR("A")="ENTER THE COST TO USE IN CALCULATING COSTS"
  1. D ^DIR K DIR
  1. I $D(DTOUT)!($D(DUOUT)) G INS
  1. I "APBR"'[Y G SOURCE
  1. S APCLSRC=Y
  1. ;
  1. DOLLAR ;
  1. S APCLDOLL=""
  1. K DIR
  1. S DIR(0)="N^::2"
  1. S DIR("A")="ENTER THE DOLLAR TRIGGER AMOUNT/MINIMUM TOTAL PRESCRIPTION COST"
  1. D ^DIR K DIR
  1. I $D(DTOUT)!($D(DUOUT)) G SOURCE
  1. I +Y'>0 G DOLLAR
  1. S APCLDOLL=+Y
  1. ;
  1. DSPDN ;
  1. S APCLDDN=""
  1. K DIR
  1. S DIR(0)="Y",DIR("A")="Do you wish to display the drug names on the list",DIR("B")="Y" KILL DA D ^DIR KILL DIR
  1. I $D(DIRUT) G DOLLAR
  1. S APCLDDN=Y
  1. ;
  1. SORT ;
  1. S APCLSORT=""
  1. K DIR
  1. S DIR(0)="S^P:Patient Name;H:Health Record (Chart) Number;I:Insurance Type;C:Total Prescription COST"
  1. S DIR("A")="How would you like the report sorted",DIR("B")="P" D ^DIR K DIR
  1. I $D(DIRUT) G DSPDN
  1. S APCLSORT=Y
  1. ;
  1. ZIS ; call xbdbque
  1. DEMO ;
  1. D DEMOCHK^APCLUTL(.APCLDEMO)
  1. I APCLDEMO=-1 G SORT
  1. S XBRP="PRINT^APCLPS1",XBRC="PROC^APCLPS1",XBRX="EOJ^APCLPS1",XBNS="APCL"
  1. D ^XBDBQUE
  1. D EOJ
  1. Q
  1. ;
  1. EOJ ;
  1. D EN^XBVK("APCL")
  1. D ^XBFMK
  1. Q
  1. ;
  1. PROC ;
  1. S APCLBTH=$H,APCLJOB=$J
  1. K ^XTMP("APCLPS1",APCLJOB,APCLBTH)
  1. D XTMP^APCLOSUT("APCLPS1","PRESCRIPTION COST REPORT")
  1. ;first get list of all patients with cost equal to less than APCLDOLL
  1. S APCLSD=$$FMADD^XLFDT(APCLBD,-1)
  1. F S APCLSD=$O(^PSRX("AD",APCLSD)) Q:(APCLSD="")!(APCLSD>APCLED) D
  1. .S APCLRXIN=0 F S APCLRXIN=$O(^PSRX("AD",APCLSD,APCLRXIN)) Q:APCLRXIN="" D
  1. ..S APCLRXFL="" F S APCLRXFL=$O(^PSRX("AD",APCLSD,APCLRXIN,APCLRXFL)) Q:APCLRXFL'=+APCLRXFL D
  1. ...S APCLRX0=^PSRX(APCLRXIN,0) Q:$$DEMO^APCLUTL($P(APCLRX0,U,2),$G(APCLDEMO))
  1. ...D ENP^XBDIQ1(52,APCLRXIN,"2;7;17;13;32.1;31;100;9999999.06","APCLRX(","I")
  1. ...D:+APCLRXFL ENP^XBDIQ1(52.1,APCLRXIN_","_APCLRXFL,"1;1.2;14;17;9999999.06","APCLRXR(","I")
  1. ...;B "L+"
  1. ...Q:APCLRX(100,"I")=13 ;DELETED
  1. ...I '+APCLRXFL D ;ORIGINAL RX
  1. ....Q:APCLRX(31,"I")']"" ;NOT RELEASED
  1. ....Q:APCLRX(32.1,"I")]"" ;RETURNED TO STOCK
  1. ....;HERE COMES THE POS STUFF
  1. ....D
  1. .....S APCLABSP=APCLRXIN_".00001"
  1. .....S APCLABSI=$O(^ABSPTL("B",APCLABSP,""),-1) ;THE LAST IEN FOR THIS ENTRY IN ABSP LOG OF TRANSACTIONS
  1. .....I '+APCLABSI S APCLBCOS=0,APCLCCOS=0 Q ;APCLBCOS IS THE BILLED POS AND APCLCCOS IS COLLECTED COST
  1. .....D ENP^XBDIQ1(9002313.57,APCLABSI,"505;14;4","APCLPTL(","I") ;4=RESPONSE 14=POS IN CLAIM,505=TOTAL PRICE
  1. .....S APCLBCOS=APCLPTL(505) ;TOTAL PRICE BILLED
  1. .....I '+APCLPTL(4,"I") S APCLCCOS=0 Q
  1. .....D ENP^XBDIQ1(9002313.0301,APCLPTL(4,"I")_","_APCLPTL(14,"I"),509,"ABSPR(")
  1. .....S APCLCCOS=+$TR(ABSPR(509),"$ ","") ;TOTAL PRICE ACTUALLY RECEIVED
  1. ....S APCLCOST=$S(APCLSRC="A":APCLRX(9999999.06),APCLSRC="B":APCLBCOS,APCLSRC="R":APCLCCOS,APCLSRC="P":APCLRX(17),1:""),QTY=APCLRX(7),APCLTCOS=$S("AP"[APCLSRC:APCLCOST*QTY,1:APCLCOST)
  1. ....;I HATE THIS BUT OF APCLSRC IS B OR R APCLCOST IS FOR FULL AMOUNT NO NEED TO MULTIPLY BY QTY
  1. ...I +APCLRXFL D ;ITS A REFILL
  1. ....Q:APCLRXR(17,"I")']"" ;NOT RELEASED
  1. ....Q:APCLRXR(14,"I")]"" ;RETURNED TO STOCK
  1. ....;HERE COMES THE POS STUFF
  1. ....D
  1. .....S APCLSUFF=.00001+(+APCLRXFL*.0001) ;GET THE SUFFIX TO ADD
  1. .....S APCLABSP=APCLRXIN_APCLSUFF
  1. .....S APCLABSI=$O(^ABSPTL("B",APCLABSP,""),-1) ;THE LAST IEN FOR THIS ENTRY IN ABSP LOG OF TRANSACTIONS
  1. .....I '+APCLABSI S APCLBCOS=0,APCLCCOS=0 Q ;APCLBCOS IS THE BILLED POS AND APCLCCOS IS COLLECTED COST
  1. .....D ENP^XBDIQ1(9002313.57,APCLABSI,"505;14;4","APCLPTL(","I") ;4=RESPONSE 14=POS IN CLAIM,505=TOTAL PRICE
  1. .....S APCLBCOS=APCLPTL(505) ;TOTAL PRICE BILLED
  1. .....I '+APCLPTL(4,"I") S APCLCCOS=0 Q
  1. .....D ENP^XBDIQ1(9002313.0301,APCLPTL(4,"I")_","_APCLPTL(14,"I"),509,"ABSPR(")
  1. .....S APCLCCOS=+$TR(ABSPR(509),"$ ","") ;TOTAL PRICE ACTUALLY RECEIVED
  1. ....;S APCLCOST=$S(APCLSRC="A":APCLRXR(9999999.06),1:APCLRXR(1.2)),QTY=APCLRXR(1),APCLTCOS=APCLCOST*QTY
  1. ....S APCLCOST=$S(APCLSRC="A":APCLRX(9999999.06),APCLSRC="B":APCLBCOS,APCLSRC="R":APCLCCOS,APCLSRC="P":APCLRX(17),1:""),QTY=APCLRX(7),APCLTCOS=$S("AP"[APCLSRC:APCLCOST*QTY,1:APCLCOST)
  1. ...Q:'$G(APCLTCOS) ;NOT GOT ONE
  1. ...S APCLDFN=APCLRX(2,"I")
  1. ...S APCLPINS=$$INSTD(APCLDFN,APCLSD,APCLINS,.APCLITYP) I 'APCLPINS K APCLTCOS Q ;quit if the patient did not have insurance on this prescription date
  1. ...S APCLSV="" D GETSORT I APCLSV="" S APCLSV="--"
  1. ...S ^(0)=$G(^XTMP("APCLPS1",APCLJOB,APCLBTH,APCLSV,APCLRX(2,"I"),0))+APCLTCOS
  1. ...S ^XTMP("APCLPS1",APCLJOB,APCLBTH,APCLSV,APCLRX(2,"I"),"DRUGS",$$VAL^XBDIQ1(52,APCLRXIN,6))=""
  1. ...F X=2:1:4 I $P(APCLPINS,U,X)]"" S ^XTMP("APCLPS1",APCLJOB,APCLBTH,APCLSV,APCLDFN,"INS",$P(APCLPINS,U,X))=""
  1. ...K APCLTCOS
  1. ;now loop through and eliminate anyone without the dollar amt specified
  1. S APCLSV="" F S APCLSV=$O(^XTMP("APCLPS1",APCLJOB,APCLBTH,APCLSV)) Q:APCLSV="" D
  1. .S APCLDFN=0 F S APCLDFN=$O(^XTMP("APCLPS1",APCLJOB,APCLBTH,APCLSV,APCLDFN)) Q:APCLDFN'=+APCLDFN D
  1. ..I ^XTMP("APCLPS1",APCLJOB,APCLBTH,APCLSV,APCLDFN,0)<APCLDOLL K ^XTMP("APCLPS1",APCLJOB,APCLBTH,APCLSV,APCLDFN)
  1. Q
  1. ;
  1. ;
  1. GETSORT ;
  1. S APCLSV=""
  1. I APCLSORT="P" S APCLSV=$P(^DPT(APCLDFN,0),U)
  1. I APCLSORT="H" S APCLSV=$$HRN^AUPNPAT(APCLDFN,DUZ(2))
  1. I APCLSORT="C" S APCLSV=APCLTCOS
  1. I APCLSORT="I" D
  1. .I $$MCR^AUPNPAT(APCLDFN,APCLSD) S APCLSV="Mcare"
  1. .I $$MCD^AUPNPAT(APCLDFN,APCLSD) S APCLSV=APCLSV_$S(APCLSV="":"",1:"/")_"Mcaid"
  1. .I $$PI^AUPNPAT(APCLDFN,APCLSD) S APCLSV=APCLSV_$S(APCLSV="":"",1:"/")_"PI"
  1. .I APCLSV="" S APCLSV="No Insurance"
  1. Q
  1. INSTD(P,D,I,T) ;
  1. I $G(P)="" Q 0
  1. I $G(D)="" Q 0
  1. NEW MCD,MCR,PI
  1. S MCD=$$MCD(P,D)
  1. S MCR=$$MCR(P,D)
  1. S PI=$$PI(P,D)
  1. I I="N",($P(MCD,U)+$P(MCR,U,1)+$P(PI,U,1)) Q 0 ;pt has ins and they want ones that don't
  1. I I="N",'($P(MCD,U)+$P(MCR,U,1)+$P(PI,U,1)) Q 1_"^No insurance" ;want pts with no insurance and this patient has no insurance
  1. I $D(T("M")),'MCR Q 0
  1. I $D(T("P")),'PI Q 0
  1. I $D(T("C")),'MCD Q 0
  1. Q 1_U_$S(MCR:$P(MCR,U,2),1:"")_U_$S(MCD:$P(MCD,U,2),1:"")_U_$S(PI:$P(PI,U,2),1:"")
  1. ;
  1. CTR(X,Y) ;EP - Center X in a field Y wide.
  1. Q $J("",$S($D(Y):Y,1:IOM)-$L(X)\2)_X
  1. ;----------
  1. EOP ;EP - End of page.
  1. Q:$E(IOST)'="C"
  1. Q:IO'=IO(0)
  1. Q:$D(ZTQUEUED)!'(IOT="TRM")!$D(IO("S"))
  1. NEW DIR
  1. K DIRUT,DFOUT,DLOUT,DTOUT,DUOUT
  1. W !
  1. S DIR("A")="End of Report. Press Enter",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. LOC() ;EP - Return location name from file 4 based on DUZ(2).
  1. Q $S($G(DUZ(2)):$S($D(^DIC(4,DUZ(2),0)):$P(^(0),U),1:"UNKNOWN"),1:"DUZ(2) UNDEFINED OR 0")
  1. ;----------
  1. PRINT ;EP - called from xbdbque
  1. ;
  1. S APCLPG=0 K APCLQUIT
  1. I '$D(^XTMP("APCLPS1",APCLJOB,APCLBTH)) D HEADER W !!,"No data to report.",! G DONE
  1. D HEADER
  1. S APCLSV="" F S APCLSV=$O(^XTMP("APCLPS1",APCLJOB,APCLBTH,APCLSV)) Q:APCLSV=""!($D(APCLQUIT)) D
  1. .S APCLDFN=0 F S APCLDFN=$O(^XTMP("APCLPS1",APCLJOB,APCLBTH,APCLSV,APCLDFN)) Q:APCLDFN'=+APCLDFN!($D(APCLQUIT)) D
  1. ..I $Y>(IOSL-4) D HEADER Q:$D(APCLQUIT)
  1. ..W !,$P(^DPT(APCLDFN,0),U)
  1. ..W ?32,$$HRN^AUPNPAT(APCLDFN,DUZ(2))
  1. ..S APCLI="",APCLC=0 F S APCLI=$O(^XTMP("APCLPS1",APCLJOB,APCLBTH,APCLSV,APCLDFN,"INS",APCLI)) Q:APCLI=""!($D(APCLQUIT)) D
  1. ...S APCLC=APCLC+1
  1. ...W:APCLC>1 ! W ?41,APCLI
  1. ...I APCLC=1 W ?70,$FN(^XTMP("APCLPS1",APCLJOB,APCLBTH,APCLSV,APCLDFN,0),"",2)
  1. ..Q:'APCLDDN
  1. ..S APCLD="" F S APCLD=$O(^XTMP("APCLPS1",APCLJOB,APCLBTH,APCLSV,APCLDFN,"DRUGS",APCLD)) Q:APCLD=""!($D(APCLQUIT)) D
  1. ...W !?3,APCLD
  1. D DONE
  1. Q
  1. G:'APCLPG HEADER1
  1. K DIR I $E(IOST)="C",IO=IO(0) W ! S DIR(0)="EO" D ^DIR K DIR I Y=0!(Y="^")!($D(DTOUT)) S APCLQUIT="" Q
  1. HEADER1 ;
  1. W:$D(IOF) @IOF S APCLPG=APCLPG+1
  1. W !?3,$P(^VA(200,DUZ,0),U,2),?35,$$FMTE^XLFDT(DT),?70,"Page ",APCLPG,!
  1. W !,$$CTR("*** PRESCRIPTION COST REPORT ***",80),!
  1. S X="Prescription Dates: "_$$FMTE^XLFDT(APCLBD)_" to "_$$FMTE^XLFDT(APCLED) W $$CTR(X,80),!
  1. S X="Source: "_$S(APCLSRC="A":"AVERAGE WHOLESALE PRICE",APCLSRC="P":"ACTUAL ACQUISITION PRICE",APCLSRC="B":"POS BILLED PRICE",APCLSRC="R":"POS RECEIVED PRICE",1:"??") W $$CTR(X,80),!
  1. S X="Dollar Trigger Amount: "_APCLDOLL W $$CTR(X,80),!
  1. S X=$S(APCLINS="N":"Patient's with NO Insurance",1:"")
  1. I X="" D
  1. .I $D(APCLITYP("M")) S X="Mcare"
  1. .I $D(APCLITYP("C")) S X=X_$S(X="":"",1:"/")_"Mcaid"
  1. .I $D(APCLITYP("P")) S X=X_$S(X="":"",1:"/")_"PI"
  1. S X="Insurance: "_X W $$CTR(X,80),!
  1. W !," Name",?32,"Chart #",?41,"Eligibility Dates",?70,"Total Rx",!?70,"Costs"
  1. W !,$TR($J("",80)," ","-")
  1. Q
  1. DONE ;
  1. K ^XTMP("APCLPS1",APCLJOB,APCLBTH)
  1. D EOP
  1. Q
  1. MCR(P,D) ;EP - Is patient P medicare eligible on date D. 1 = yes, 0 = no.
  1. ; I = IEN in ^AUPNMCR multiple.
  1. I '$G(P) Q 0
  1. I '$G(D) Q 0
  1. NEW I,Y
  1. S Y=0,U="^"
  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 I=0
  1. F S I=$O(^AUPNMCR(P,11,I)) Q:I'=+I D
  1. . Q:$P(^AUPNMCR(P,11,I,0),U)>D
  1. . I $P(^AUPNMCR(P,11,I,0),U,2)]"",$P(^(0),U,2)<D Q
  1. . S Y=1_U_"MCR: "_$$DATE($P(^AUPNMCR(P,11,I,0),U,1))_"-"_$$DATE($P(^AUPNMCR(P,11,I,0),U,2))
  1. .Q
  1. MCRX ;
  1. Q Y
  1. ;
  1. ;----------
  1. ; MCD: Input - P = DFN
  1. ; D = Date
  1. ; Output - 1 = Yes, patient is/was MCaid eligible on date D.
  1. ; 0 = No, or unable.
  1. ;
  1. ; Examples: I $$MCD^AUPNPAT(DFN,2930701)
  1. ; S AGMCD=$$MCD^AUPNPAT(DFN,DT)
  1. ;
  1. MCD(P,D) ;EP - Is patient P medicaid eligible on date D.
  1. ; I = IEN.
  1. ; J = Node 11 IEN in ^AUPNMCD.
  1. I '$G(P) Q 0
  1. I '$G(D) Q 0
  1. NEW I,J,Y
  1. S Y=0,U="^"
  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 I=0 F S I=$O(^AUPNMCD("B",P,I)) Q:I'=+I D
  1. .Q:'$D(^AUPNMCD(I,11))
  1. .S J=0 F S J=$O(^AUPNMCD(I,11,J)) Q:J'=+J D
  1. ..Q:J>D
  1. ..I $P(^AUPNMCD(I,11,J,0),U,2)]"",$P(^(0),U,2)<D Q
  1. ..S Y=1_U_"MCD: "_$$DATE($P(^AUPNMCD(I,11,J,0),U,1))_"-"_$$DATE($P(^AUPNMCD(I,11,J,0),U,2))
  1. ..Q
  1. .Q
  1. ;
  1. MCDX ;
  1. Q Y
  1. ;
  1. ;
  1. ;----------
  1. ; PI: Input - P = DFN
  1. ; D = Date
  1. ; Output - 1 = Yes, patient is/was PI eligible on date D.
  1. ; 0 = No, or unable.
  1. ;
  1. ; Examples: I $$PI^AUPNPAT(DFN,2930701)
  1. ; S AGPI=$$PI^AUPNPAT(DFN,DT)
  1. ;
  1. PI(P,D) ;EP - Is patient P private insurance eligible on date D. 1= yes, 0=no.
  1. ; I = IEN
  1. ; Y = 1:yes, 0:no
  1. ; X = Pointer to INSURER file.
  1. I '$G(P) Q 0
  1. I '$G(D) Q 0
  1. NEW I,Y,X
  1. S Y=0,U="^"
  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 I=0
  1. F S I=$O(^AUPNPRVT(P,11,I)) Q:I'=+I D
  1. . Q:$P(^AUPNPRVT(P,11,I,0),U)=""
  1. . S X=$P(^AUPNPRVT(P,11,I,0),U) Q:X=""
  1. . Q:$P(^AUTNINS(X,0),U)["AHCCCS"
  1. . Q:$P(^AUPNPRVT(P,11,I,0),U,6)>D
  1. . I $P(^AUPNPRVT(P,11,I,0),U,7)]"",$P(^(0),U,7)<D Q
  1. . S Y=1_U_"PI: "_$$DATE($P(^AUPNPRVT(P,11,I,0),U,6))_"-"_$$DATE($P(^AUPNPRVT(P,11,I,0),U,7))
  1. .Q
  1. PIX ;
  1. Q Y
  1. DATE(D) ;EP
  1. I D="" Q ""
  1. Q $E(D,4,5)_"/"_$E(D,6,7)_"/"_(1700+($E(D,1,3)))
  1. ;