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
|
---|