| 1 | PSONEW1 ;BIR/DSD - new Rx order entry ;10/17/92 | 
|---|
| 2 | ;;7.0;OUTPATIENT PHARMACY;**46,104,117,143**;DEC 1997 | 
|---|
| 3 | ;External reference ^PS(55 supported by DBIA 2228 | 
|---|
| 4 | ; | 
|---|
| 5 | START ; | 
|---|
| 6 | S (PSONEW("DFLG"),PSONEW("FIELD"),PSONEW1)=0 | 
|---|
| 7 | ; | 
|---|
| 8 | 1 S PSONEW("FLD")=1 S PSONEW("FIELD")=0 | 
|---|
| 9 | I $P($G(PSOPAR),"^",7)'=1 D MANUAL^PSONRXN ; Get Manual Rx number | 
|---|
| 10 | G:PSONEW("QFLG")!PSONEW("DFLG") END G:PSONEW("FIELD") @PSONEW("FIELD") | 
|---|
| 11 | ; | 
|---|
| 12 | 2 S PSONEW("FLD")=2 D PTSTAT^PSODIR1(.PSONEW) ; Get Patient Status | 
|---|
| 13 | G:PSONEW("DFLG") END G:PSONEW("FIELD") @PSONEW("FIELD") | 
|---|
| 14 | ; | 
|---|
| 15 | 3 S PSONEW("FLD")=3 D ^PSODRG  ; Get drug and related information | 
|---|
| 16 | G:PSONEW("DFLG") END D EN^PSODIAG  ; get ICD diagnosis codes for order | 
|---|
| 17 | G:PSONEW("DFLG") END G:PSONEW("FIELD") @PSONEW("FIELD") | 
|---|
| 18 | ; | 
|---|
| 19 | 31 S PSONEW("FLD")=31 D DOSE^PSODIR(.PSONEW) ; Get Dosing | 
|---|
| 20 | G:PSONEW("DFLG") END G:PSONEW("FIELD") @PSONEW("FIELD") | 
|---|
| 21 | ; | 
|---|
| 22 | 32 I '$G(PSONEW("ENT")) W !,"Incomplete Dosaging Data!",! K DIRUT G 31 | 
|---|
| 23 | S PSONEW("FLD")=32 D INS^PSODIR(.PSONEW) ; Get Patient Instructions | 
|---|
| 24 | G:PSONEW("DFLG") END G:PSONEW("FIELD") @PSONEW("FIELD") | 
|---|
| 25 | I $P($G(^PS(55,PSODFN,"LAN")),"^") D SINS^PSODIR(.PSONEW) | 
|---|
| 26 | ; | 
|---|
| 27 | 4 D EN^PSOFSIG(.PSONEW) I $O(SIG(0)) S SIGOK=1 | 
|---|
| 28 | ;S PSONEW("FLD")=4 D SIG^PSODIR1(.PSONEW) ; Get Rx directions | 
|---|
| 29 | ;G:PSONEW("DFLG") END G:PSONEW("FIELD") @PSONEW("FIELD") | 
|---|
| 30 | ; | 
|---|
| 31 | 7 S PSONEW("FLD")=7 D DAYS^PSODIR1(.PSONEW) ; Get days supply | 
|---|
| 32 | G:PSONEW("DFLG") END G:PSONEW("FIELD") @PSONEW("FIELD") | 
|---|
| 33 | ; | 
|---|
| 34 | 5 S PSONEW("FLD")=5 D QTY^PSODIR1(.PSONEW) ; Get quantity | 
|---|
| 35 | G:PSONEW("DFLG") END G:PSONEW("FIELD") @PSONEW("FIELD") | 
|---|
| 36 | ; | 
|---|
| 37 | 6 I $P($G(PSOPAR),"^",15) S PSONEW("FLD")=6 D COPIES^PSODIR1(.PSONEW) ; Get label copies | 
|---|
| 38 | G:PSONEW("DFLG") END G:PSONEW("FIELD") @PSONEW("FIELD") | 
|---|
| 39 | ; | 
|---|
| 40 | 8 S PSONEW("FLD")=8 D REFILL^PSODIR1(.PSONEW) ; Get # of refills | 
|---|
| 41 | G:PSONEW("DFLG") END G:PSONEW("FIELD") @PSONEW("FIELD") | 
|---|
| 42 | ; | 
|---|
| 43 | 9 S PSONEW("FLD")=9 D PROV^PSODIR(.PSONEW) ; Get Provider | 
|---|
| 44 | G:PSONEW("DFLG") END G:PSONEW("FIELD") @PSONEW("FIELD") | 
|---|
| 45 | G:$G(DUZ("AG"))'="I" 11 | 
|---|
| 46 | ; | 
|---|
| 47 | 10 Q:$G(DUZ("AG"))'="I"  S PSONEW("FLD")=10 D EXP^PSODIR2(.PSONEW) ; Get Expiration Date - Indian Health Service ONLY | 
|---|
| 48 | G:PSONEW("DFLG") END G:PSONEW("FIELD") @PSONEW("FIELD") | 
|---|
| 49 | ; | 
|---|
| 50 | 11 S PSONEW("FLD")=11 D CLINIC^PSODIR2(.PSONEW) ; Get Clinic | 
|---|
| 51 | G:PSONEW("DFLG") END G:PSONEW("FIELD") @PSONEW("FIELD") | 
|---|
| 52 | ; | 
|---|
| 53 | 12 S PSONEW("FLD")=12 D MW^PSODIR2(.PSONEW) ; Get Mail/Window Info | 
|---|
| 54 | G:PSONEW("DFLG") END G:PSONEW("FIELD") @PSONEW("FIELD") | 
|---|
| 55 | ; | 
|---|
| 56 | 13 S PSONEW("FLD")=13 D RMK^PSODIR2(.PSONEW) ; Get Remarks | 
|---|
| 57 | G:PSONEW("DFLG") END G:PSONEW("FIELD") @PSONEW("FIELD") | 
|---|
| 58 | ; | 
|---|
| 59 | 14 S PSONEW("FLD")=14 D ISSDT^PSODIR2(.PSONEW) ; Get Issue Date | 
|---|
| 60 | G:PSONEW("DFLG") END G:PSONEW("FIELD") @PSONEW("FIELD") | 
|---|
| 61 | ; | 
|---|
| 62 | 15 S PSONEW("FLD")=15 D FILLDT^PSODIR2(.PSONEW) ; Get Fill date | 
|---|
| 63 | G:PSONEW("DFLG") END G:PSONEW("FIELD") @PSONEW("FIELD") | 
|---|
| 64 | ; | 
|---|
| 65 | 16 S PSONEW("FLD")=16 D CLERK^PSODIR2(.PSONEW) ; Get Clerk Code | 
|---|
| 66 | G:PSONEW("DFLG") END G:PSONEW("FIELD") @PSONEW("FIELD") | 
|---|
| 67 | ; | 
|---|
| 68 | END ; | 
|---|
| 69 | K PSONEW1 | 
|---|
| 70 | Q | 
|---|
| 71 | ; | 
|---|
| 72 | JUMP ; | 
|---|
| 73 | S PSONEW("FIELD")=$S(+Y=.01:1,+Y=3:2,+Y=6:3,+Y=10:4,+Y=7:5,+Y=10.6:6,+Y=8:7,+Y=9:8,+Y=4:9,+Y=29:10,+Y=5:11,+Y=11:12,+Y=12:13,+Y=1:14,+Y=22:15,+Y=16:16,+Y=113:31,+Y=114:32,1:PSONEW("FLD")) | 
|---|
| 74 | I PSONEW("FIELD")>PSONEW("FLD") W !,$C(7),"Cannot jump ahead ..",! S PSONEW("FIELD")=PSONEW("FLD") | 
|---|
| 75 | Q | 
|---|