| [613] | 1 | PSOREF1 ;IHS/DSD/JCM-ASKS ALL QUESTIONS FOR REFILL RX ORDER ENTRY ;12/08/92  7:54 PM
 | 
|---|
 | 2 |  ;;7.0;OUTPATIENT PHARMACY;**26**;DEC 1997
 | 
|---|
 | 3 |  ;External reference ^PSDRUG( supported by DBIA 221
 | 
|---|
 | 4 | START ;
 | 
|---|
 | 5 |  S (PSOREF("DFLG"),PSOREF("FIELD"),PSOREF1)=0
 | 
|---|
 | 6 |  S X="T-6M",%DT="X" D ^%DT
 | 
|---|
 | 7 |  S (PSOID,PSOREF("ISSUE DATE"))=$S($P(^PSRX(PSOREF("IRXN"),0),"^",13)<Y:Y,1:$P(^PSRX(PSOREF("IRXN"),0),"^",13))
 | 
|---|
 | 8 |  S:$G(PSORX("BAR CODE"))&($G(PSOBBC1("FROM"))="NEW") PSOREF("ISSUE DATE")=DT
 | 
|---|
 | 9 |  K X,X1,X2
 | 
|---|
 | 10 |  S PSOREF("CS")=0,PSODRUG("DEA")=$P(^PSDRUG($P(^PSRX(PSOREF("IRXN"),0),"^",6),0),"^",3)
 | 
|---|
 | 11 |  F DEA=1:1 Q:$E(PSODRUG("DEA"),DEA)=""  I $E(+PSODRUG("DEA"),DEA)>1,$E(+PSODRUG("DEA"),DEA)<6 S $P(PSOREF("CS"),"^")=1 S:$E(+PSODRUG("DEA"),DEA)=2 $P(PSOREF("CS"),"^",2)=1
 | 
|---|
 | 12 |  ;
 | 
|---|
 | 13 |  ;
 | 
|---|
 | 14 | 1 S PSONEW("DAYS SUPPLY")=$P(^PSRX(PSOREF("IRXN"),0),"^",8),PSONEW("# OF REFILLS")=$P(^(0),"^",9)
 | 
|---|
 | 15 |  S PSOREF("FLD")=1 D FILLDT^PSODIR2(.PSOREF) ; Get Fill date
 | 
|---|
 | 16 |  G:PSOREF("DFLG") END G:PSOREF("FIELD") @PSOREF("FIELD")
 | 
|---|
 | 17 |  ;
 | 
|---|
 | 18 | 2 S PSOREF("FLD")=2,PSORX("MAIL/WINDOW")="MAIL" D MW^PSODIR2(.PSOREF)
 | 
|---|
 | 19 |  G:PSOREF("DFLG") END G:PSOREF("FIELD") @PSOREF("FIELD")
 | 
|---|
 | 20 |  ;
 | 
|---|
 | 21 | 3 I $G(DUZ("AG"))="I" S PSOREF("FLD")=3 D CLERK^PSODIR2(.PSOREF) ; Get Clerk Code
 | 
|---|
 | 22 |  G:PSOREF("DFLG") END G:PSOREF("FIELD") @PSOREF("FIELD")
 | 
|---|
 | 23 |  ;
 | 
|---|
 | 24 | 4 I $G(DUZ("AG"))="I" S PSOREF("FLD")=4 D EXP^PSODIR2(.PSOREF) ; Get Expiration Date - Indian Health Service ONLY
 | 
|---|
 | 25 |  G:PSOREF("DFLG") END G:PSOREF("FIELD") @PSOREF("FIELD")
 | 
|---|
 | 26 |  ;
 | 
|---|
 | 27 | END ;
 | 
|---|
 | 28 |  K PSOREF1
 | 
|---|
 | 29 |  Q
 | 
|---|
 | 30 | JUMP ;
 | 
|---|
 | 31 |  S PSOREF("FIELD")=$S(+Y=22:1,+Y=11:2,+Y=16:3,+Y=29:4,1:PSOREF("FLD"))
 | 
|---|
 | 32 |  I PSOREF("FIELD")>PSOREF("FLD") W !,$C(7),"Cannot jump ahead ..",! S PSOREF("FIELD")=PSOREF("FLD")
 | 
|---|
 | 33 |  Q
 | 
|---|
 | 34 |  ;
 | 
|---|
 | 35 | EN(PSOREF)         ;
 | 
|---|
 | 36 |  D START
 | 
|---|
 | 37 |  Q
 | 
|---|
 | 38 | PROFILE ;
 | 
|---|
 | 39 |  S (PSORX("REFILL"),PSORX("RENEW"))=0,PSOX=""
 | 
|---|
 | 40 |  D ^PSOBUILD
 | 
|---|
 | 41 |  I '$G(PSOSD) W !,"This patient has no prescriptions" S:'$D(DFN) DFN=PSODFN D GMRA^PSODEM G PROFILEX
 | 
|---|
 | 42 |  S (PSODRG,PSOX)="" F  S PSODRG=$O(PSOSD(PSODRG)) Q:PSODRG=""  F  S PSOX=$O(PSOSD(PSODRG,PSOX)) Q:PSOX=""  S:$P(PSOSD(PSODRG,PSOX),"^",3)="" PSORX("RENEW")=1 S:$P(PSOSD(PSODRG,PSOX),"^",4)="" PSORX("REFILL")=1
 | 
|---|
 | 43 |  K PSOX
 | 
|---|
 | 44 | PROFILEX Q
 | 
|---|