1 | PSJDDUT2 ;BIR/LDT-INPATIENT MEDICATIONS DD UTILITY ;21 AUG 97 / 7:56 AM
|
---|
2 | ;;5.0; INPATIENT MEDICATIONS ;;16 DEC 97
|
---|
3 | ;
|
---|
4 | ENDLP ;Called from Inpatient User Parameters file (53.45), Label Printer
|
---|
5 | ;field .07 (Replaces ENDLP^PSGSET)
|
---|
6 | S PSGION=$S($D(ION):ION,1:"HOME") K %ZIS S %ZIS="QN",IOP=X D ^%ZIS I POP S IOP=PSGION D ^%ZIS K %ZIS,IOP,PSGION S X="" Q
|
---|
7 | D EN^DDIOL($S(X=$E(ION,1,$L(X)):$E(ION,$L(X)+1,$L(ION)),1:" "_ION),"","?0") S X=ION D ^%ZISC K %ZIS,PSGION,IOP Q
|
---|
8 | ;
|
---|
9 | ADTM ;Called from Unit Dose Multiple of the Pharmacy Patient file (55.06),
|
---|
10 | ;Admin Times field 41
|
---|
11 | S PSJHLP(1)="THE TIMES MUST BE TWO (2) OR FOUR (4) DIGITS, SEPARATED WITH DASHES"
|
---|
12 | S PSJHLP(2)="(-), AND BE IN ASCENDING ORDER. (IE. 01-05-13)"
|
---|
13 | D WRITE
|
---|
14 | Q
|
---|
15 | ;
|
---|
16 | ;
|
---|
17 | SITE ;Called from Inpatient Site file (59.4), field .01 (Replaces ^PSGRPNT)
|
---|
18 | S Q=0 F QQ=-1:1 S Q=$O(^PS(59.4,Q)) Q:'Q
|
---|
19 | I 'QQ S PSJHLP(1)="THIS IS YOUR ONLY SITE!",PSJHLP(1,"F")="$C(7),!!",PSJHLP(2)="(You must create another site before you can delete this one.)",PSJHLP(2,"F")="!" D WRITE Q
|
---|
20 | ;
|
---|
21 | ENMARD() ; validate MAR SELECTION DEFAULT string in WARD PARMS file (59.6).
|
---|
22 | ;(Replaces ENMARD^PSJUTL())
|
---|
23 | N PSJANS,PSJX1,PSJX2,RANGE,Q
|
---|
24 | S RANGE="1:6" F PSJX1=1:1:6 S RANGE(PSJX1)=""
|
---|
25 | S:$E(X)="-" X=+RANGE_X S:$E($L(X))="-" X=X_$P(RANGE,":",2)
|
---|
26 | S PSJANS="" F Q=1:1:$L(X,",") S PSJX1=$P(X,",",Q) D FS Q:'$D(PSJANS)
|
---|
27 | Q:'$G(PSJANS) 0
|
---|
28 | S PSJANS=$E(PSJANS,1,$L(PSJANS)-1) F Q=1:1:$L(PSJANS,",") D Q:'$D(PSJANS)
|
---|
29 | .I $P(PSJANS,",",Q)=1,$L(PSJANS,",")>1 D EN^DDIOL("All Medications (1) may not be selected in combination with other types.","","!!") K PSJANS Q
|
---|
30 | .D EN^DDIOL($P(PSJANS,",",Q)_" - "_$P($T(@$P(PSJANS,",",Q)),";;",2),"","!?47")
|
---|
31 | S:$G(PSJANS) X=PSJANS Q $G(PSJANS)
|
---|
32 | ;
|
---|
33 | FS ;
|
---|
34 | I $S(PSJX1?1.N1"-"1.N:0,PSJX1'?1.N:1,'$D(RANGE(PSJX1)):1,1:","_PSJANS[PSJX1) K PSJANS Q
|
---|
35 | I PSJX1'["-" S PSJANS=PSJANS_PSJX1_"," Q
|
---|
36 | S PSJX2=+PSJX1,PSJANS=PSJANS_PSJX2_","
|
---|
37 | F S PSJX2=$O(RANGE(PSJX2)) K:$S(X="":1,","_PSJANS[PSJX2:1,1:PSJX2>$P(PSJX1,"-",2)) PSJANS Q:'$D(PSJANS) S PSJANS=PSJANS_PSJX2_"," Q:PSJX2=$P(PSJX1,"-",2)
|
---|
38 | Q
|
---|
39 | ;
|
---|
40 | ENMARDH ;Help text for MAR default answer. (Replaces ENMARDH^PSJUTL)
|
---|
41 | S PSJHLP(1)="Enter the number corresponding to the type of orders to be included on"
|
---|
42 | S PSJHLP(1,"F")="!!?2"
|
---|
43 | S PSJHLP(2)="MARs printed for this ward. Multiple types (except 1) may be selected"
|
---|
44 | S PSJHLP(3)="using ""-"" or "","" as delimiters."
|
---|
45 | S PSJHLP(4)="Choose from: "
|
---|
46 | S PSJHLP(4,"F")="!!"
|
---|
47 | S PSJHLP(5)="1 - All Medications"
|
---|
48 | S PSJHLP(5,"F")="!?13"
|
---|
49 | S PSJHLP(6)="2 - Non-IV Medications only"
|
---|
50 | S PSJHLP(6,"F")="!?13"
|
---|
51 | S PSJHLP(7)="3 - IV Piggybacks"
|
---|
52 | S PSJHLP(7,"F")="!?13"
|
---|
53 | S PSJHLP(8)="4 - LVPs"
|
---|
54 | S PSJHLP(8,"F")="!?13"
|
---|
55 | S PSJHLP(9)="5 - TPNs"
|
---|
56 | S PSJHLP(9,"F")="!?13"
|
---|
57 | S PSJHLP(10)="6 - Chemotherapy Medications (IV)"
|
---|
58 | S PSJHLP(10,"F")="!?13"
|
---|
59 | D WRITE
|
---|
60 | Q
|
---|
61 | ;
|
---|
62 | ENSTH ;Executable help for type of schedule. (Replaces ENSTH^PSJSV0)
|
---|
63 | N PSJX S PSJX=1
|
---|
64 | S PSJHLP(PSJX)="The TYPE OF SCHEDULE determines how the schedule will be processed."
|
---|
65 | S PSJHLP(PSJX,"F")="!!?2",PSJX=PSJX+1
|
---|
66 | S PSJHLP(PSJX)="A CONTINUOUS schedule is one in which an action is to take place on a"
|
---|
67 | S PSJHLP(PSJX,"F")="!!?2",PSJX=PSJX+1
|
---|
68 | S PSJHLP(PSJX)="regular basis, such as 'three times a day' or 'once every two days'."
|
---|
69 | S PSJHLP(PSJX,"F")="!",PSJX=PSJX+1
|
---|
70 | S PSJHLP(PSJX)="A DAY OF THE WEEK schedule is one in which the action is to take"
|
---|
71 | S PSJHLP(PSJX,"F")="!?2",PSJX=PSJX+1
|
---|
72 | S PSJHLP(PSJX)="place only on specific days of the week. This type of schedule"
|
---|
73 | S PSJHLP(PSJX,"F")="!",PSJX=PSJX+1
|
---|
74 | S PSJHLP(PSJX)="should have admin times entered with it. If not, the start time of"
|
---|
75 | S PSJHLP(PSJX,"F")="!",PSJX=PSJX+1
|
---|
76 | S PSJHLP(PSJX)="the order is used as the admin time. Whenever this type is chosen,"
|
---|
77 | S PSJHLP(PSJX,"F")="!",PSJX=PSJX+1
|
---|
78 | S PSJHLP(PSJX)="the name of the schedule must be in the form of 'MO-WE-FR'."
|
---|
79 | S PSJHLP(PSJX,"F")="!",PSJX=PSJX+1
|
---|
80 | G:$S('$D(PSJPP):1,PSJPP="":1,1:PSJPP="PSJ") HOT
|
---|
81 | S PSJHLP(PSJX)="A DAY OF THE WEEK-RANGE schedule is one in which the action to take"
|
---|
82 | S PSJHLP(PSJX,"F")="!?2",PSJX=PSJX+1
|
---|
83 | S PSJHLP(PSJX)="place only on specific days of the week, but at no specific time of"
|
---|
84 | S PSJHLP(PSJX,"F")="!",PSJX=PSJX+1
|
---|
85 | S PSJHLP(PSJX)="day (no admin times). Whenever this type is chosen, the name of the"
|
---|
86 | S PSJHLP(PSJX,"F")="!",PSJX=PSJX+1
|
---|
87 | S PSJHLP(PSJX)="schedule must be in the form of 'MO-WE-FR'."
|
---|
88 | S PSJHLP(PSJX,"F")="!",PSJX=PSJX+1
|
---|
89 | HOT S PSJHLP(PSJX)="A ONE-TIME schedule is one in which the action is to take place once"
|
---|
90 | S PSJHLP(PSJX,"F")="!?2",PSJX=PSJX+1
|
---|
91 | S PSJHLP(PSJX)="only at a specific date and time."
|
---|
92 | S PSJHLP(PSJX,"F")="!",PSJX=PSJX+1
|
---|
93 | I $S('$D(PSJPP):1,PSJPP="":1,1:PSJPP="PSJ") D WRITE Q
|
---|
94 | S PSJHLP(PSJX)="A RANGE schedule is one in which the action will take place within a"
|
---|
95 | S PSJHLP(PSJX,"F")="!?2",PSJX=PSJX+1
|
---|
96 | S PSJHLP(PSJX)="given date range."
|
---|
97 | S PSJHLP(PSJX,"F")="!",PSJX=PSJX+1
|
---|
98 | S PSJHLP(PSJX)="A SHIFT schedule is one in which the action will take place within a"
|
---|
99 | S PSJHLP(PSJX,"F")="!?2",PSJX=PSJX+1
|
---|
100 | S PSJHLP(PSJX)="given range of times of day."
|
---|
101 | S PSJHLP(PSJX,"F")="!",PSJX=PSJX+1
|
---|
102 | D WRITE
|
---|
103 | Q
|
---|
104 | WRITE ;Calls EN^DDIOL to write text
|
---|
105 | D EN^DDIOL(.PSJHLP) K PSJHLP
|
---|
106 | Q
|
---|
107 | 1 ;;All Medications
|
---|
108 | 2 ;;Non-IV Medications only
|
---|
109 | 3 ;;IV Piggybacks
|
---|
110 | 4 ;;LVPs
|
---|
111 | 5 ;;TPNs
|
---|
112 | 6 ;;Chemotherapy Medications (IV)
|
---|