1 | PSSDI ;BIR/LDT/TSS - API FOR FILEMAN CALLS ;5 Sep 03
|
---|
2 | ;;1.0;PHARMACY DATA MANAGEMENT;**85,91,97,104,108,118**;9/30/97;Build 8
|
---|
3 | ;
|
---|
4 | DIC(PSSFILE,PSSAPP,DIC,X,DLAYGO,PSSSCRDT,PSSSCRUS,PSSVACL) ;
|
---|
5 | N PSSX1 ;ADDED BY TS ON 09.20.2006
|
---|
6 | S PSSDIY=""
|
---|
7 | I +$G(PSSFILE)'>0 S PSSDIY=-1 G Q
|
---|
8 | N PSRTEST S PSRTEST=$$TEST(PSSFILE)
|
---|
9 | I 'PSRTEST S PSSDIY=-1 G Q
|
---|
10 | K DIC("S")
|
---|
11 | I +$G(PSSSCRDT)>0 N PSSSUBSC,PSSPIECE D SCREEN
|
---|
12 | I $D(PSSVACL),$O(PSSVACL(0))'="" D VACL I $D(PSSX1) S DIC("S")=$S($G(DIC("S"))'="":DIC("S")_" ",1:"")_PSSX1 K PSSX1
|
---|
13 | I $G(PSSSCRUS)'="",$G(PSSFILE)=50 N PSSAPLP D
|
---|
14 | .S DIC("S")=$S($G(DIC("S"))'="":DIC("S")_" ",1:"")_"F PSSAPLP=1:1:$L(PSSSCRUS) I $P($G(^(2)),""^"",3)[$E(PSSSCRUS,PSSAPLP) Q"
|
---|
15 | I '$P(PSRTEST,"^",2) K DLAYGO I $G(DIC(0))'="" S DIC(0)=$TR(DIC(0),"L","") I $G(DIC(0))="" S PSSDIY=-1 G Q
|
---|
16 | I $G(DIC(0))="",$G(X)="" S PSSDIY=-1 G Q
|
---|
17 | K DTOUT,DUOUT D ^DIC
|
---|
18 | G Q
|
---|
19 | DO(PSSFILE,PSSAPP,DIC) ;
|
---|
20 | S PSSDIY=""
|
---|
21 | I +$G(PSSFILE)'>0 S PSSDIY=-1 G Q
|
---|
22 | N PSRTEST S PSRTEST=$$TEST(PSSFILE)
|
---|
23 | I 'PSRTEST S PSSDIY=-1 G Q
|
---|
24 | K DTOUT,DUOUT D DO^DIC1
|
---|
25 | Q
|
---|
26 | IX(PSSFILE,PSSAPP,DIC,D,X,DLAYGO) ;
|
---|
27 | S PSSDIY=""
|
---|
28 | I +$G(PSSFILE)'>0 S PSSDIY=-1 G Q
|
---|
29 | N PSRTEST S PSRTEST=$$TEST(PSSFILE)
|
---|
30 | I 'PSRTEST S PSSDIY=-1 G Q
|
---|
31 | I '$P(PSRTEST,"^",2) K DLAYGO I $G(DIC(0))'="" S DIC(0)=$TR(DIC(0),"L","") I $G(DIC(0))="" S PSSDIY=-1 G Q
|
---|
32 | I $G(DIC(0))="",$G(X)="" S PSSDIY=-1 G Q
|
---|
33 | K DTOUT,DUOUT D IX^DIC
|
---|
34 | Q
|
---|
35 | MIX(PSSFILE,PSSAPP,DIC,D,X,DLAYGO,PSSSCRDT,PSSSCRUS,PSSVACL) ;
|
---|
36 | N PSSX1 ;ADDED BY TS ON 09.20.2006
|
---|
37 | S PSSDIY=""
|
---|
38 | I +$G(PSSFILE)'>0 S PSSDIY=-1 G Q
|
---|
39 | N PSRTEST S PSRTEST=$$TEST(PSSFILE)
|
---|
40 | I 'PSRTEST S PSSDIY=-1 G Q
|
---|
41 | K DIC("S")
|
---|
42 | I +$G(PSSSCRDT)>0 N PSSSUBSC,PSSPIECE D SCREEN
|
---|
43 | I $D(PSSVACL),$O(PSSVACL(0))'="" D VACL I $D(PSSX1) S DIC("S")=$S($G(DIC("S"))'="":DIC("S")_" ",1:"")_PSSX1 K PSSX1
|
---|
44 | I $G(PSSSCRUS)'="",$G(PSSFILE)=50 N PSSAPLP D
|
---|
45 | .S DIC("S")=$S($G(DIC("S"))'="":DIC("S")_" ",1:"")_"F PSSAPLP=1:1:$L(PSSSCRUS) I $P($G(^(2)),""^"",3)[$E(PSSSCRUS,PSSAPLP) Q"
|
---|
46 | I '$P(PSRTEST,"^",2) K DLAYGO I $G(DIC(0))'="" S DIC(0)=$TR(DIC(0),"L","") I $G(DIC(0))="" S PSSDIY=-1 G Q
|
---|
47 | I $G(DIC(0))="",$G(X)="" S PSSDIY=-1 G Q
|
---|
48 | K DTOUT,DUOUT D MIX^DIC1
|
---|
49 | G Q
|
---|
50 | FILE(PSSFILE,PSSAPP,DIC,DA,X,DINUM,DLAYGO) ;
|
---|
51 | S PSSDIY=""
|
---|
52 | I +$G(PSSFILE)'>0 S PSSDIY=-1 G Q
|
---|
53 | N PSRTEST S PSRTEST=$$TEST(PSSFILE)
|
---|
54 | I 'PSRTEST S PSSDIY=-1 G Q
|
---|
55 | I '$P(PSRTEST,"^",2) S PSSDIY=-1 G Q
|
---|
56 | K DTOUT,DUOUT,DO D FILE^DICN
|
---|
57 | Q
|
---|
58 | DIE(PSSFILE,PSSAPP,DIE,DA,DR,DIDEL) ;
|
---|
59 | S PSSDIY=""
|
---|
60 | I +$G(PSSFILE)'>0 S PSSDIY=-1 G Q
|
---|
61 | N PSRTEST S PSRTEST=$$TEST(PSSFILE)
|
---|
62 | I 'PSRTEST S PSSDIY=-1 G Q
|
---|
63 | I '$P(PSRTEST,"^",2) S PSSDIY=-1 G Q
|
---|
64 | K DTOUT D ^DIE
|
---|
65 | Q
|
---|
66 | EN1(PSSFILE,PSSAPP,DIC,L,FLDS,BY,FR,TO,DHD) ;
|
---|
67 | S PSSDIY=""
|
---|
68 | I +$G(PSSFILE)'>0 S PSSDIY=-1 G Q
|
---|
69 | N PSRTEST S PSRTEST=$$TEST(PSSFILE)
|
---|
70 | I 'PSRTEST S PSSDIY=-1 G Q
|
---|
71 | D EN1^DIP
|
---|
72 | Q
|
---|
73 | EN(PSSFILE,PSSAPP,DIC,DR,DA,DIQ) ;
|
---|
74 | S PSSDIY=""
|
---|
75 | I +$G(PSSFILE)'>0 S PSSDIY=-1 G Q
|
---|
76 | N PSRTEST S PSRTEST=$$TEST(PSSFILE)
|
---|
77 | I 'PSRTEST S PSSDIY=-1 G Q
|
---|
78 | D EN^DIQ1
|
---|
79 | Q
|
---|
80 | FNAME(PSSFNO,PSSFILE) ;
|
---|
81 | ;Return the label for the field of the File or Subfile passed in
|
---|
82 | ;PSSFNO - Field number
|
---|
83 | ;PSSFILE - File or Subfile number
|
---|
84 | Q $$FNAME^PSS50E($G(PSSFNO),$G(PSSFILE))
|
---|
85 | ;
|
---|
86 | TEST(PSTFILE) ;
|
---|
87 | N CNT,PSSAPP2,PSFFLAG,PSFLOOP,PSFTEST,PSLNODE,PSRSLT S PSRSLT="0^0",PSFFLAG=0
|
---|
88 | F PSFLOOP=1:1 S PSFTEST=$P($T(FILE2+PSFLOOP),";;",2) Q:+$G(PSFTEST)'>0!PSFFLAG I +PSFTEST=PSTFILE S $P(PSRSLT,"^")=1 S PSLNODE=$T(FILE2+PSFLOOP) D
|
---|
89 | .F CNT=2:1:$L(PSLNODE,";;") S PSSAPP2=$P(PSLNODE,";;",CNT) Q:$P(PSRSLT,"^",2)=1 I PSSAPP2=$G(PSSAPP) S PSFFLAG=1,$P(PSRSLT,"^",2)=1
|
---|
90 | Q PSRSLT
|
---|
91 | ;
|
---|
92 | FILE2 ;For DIC call, IF PACKAGE IS LISTED, PACKAGE HAS WRITE ACCESS
|
---|
93 | ;;50;;PSX;;PSD;;PSJ;;PSN;;PSO;;PSGW;;PSS
|
---|
94 | ;;50.1;;PSX;;PSD;;PSJ;;PSN;;PSO;;PSGW;;PSS
|
---|
95 | ;;50.0214;;PSX;;PSD;;PSJ;;PSN;;PSO;;PSGW;;PSS
|
---|
96 | ;;50.037;;PSX;;PSD;;PSJ;;PSN;;PSO;;PSGW;;PSS
|
---|
97 | ;;50.065;;PSX;;PSD;;PSJ;;PSN;;PSO;;PSGW;;PSS
|
---|
98 | ;;50.0212;;PSX;;PSD;;PSJ;;PSN;;PSO;;PSGW;;PSS
|
---|
99 | ;;50.0441;;PSX;;PSD;;PSJ;;PSN;;PSO;;PSGW;;PSS
|
---|
100 | ;;50.01;;PSX;;PSD;;PSJ;;PSN;;PSO;;PSGW;;PSS
|
---|
101 | ;;50.02;;PSX;;PSD;;PSJ;;PSN;;PSO;;PSGW;;PSS
|
---|
102 | ;;50.0903;;PSX;;PSD;;PSJ;;PSN;;PSO;;PSGW;;PSS
|
---|
103 | ;;50.0904;;PSX;;PSD;;PSJ;;PSN;;PSO;;PSGW;;PSS
|
---|
104 | ;;50.4;;PSJ;;PSS
|
---|
105 | ;;50.606;;PSJ;;PSN;;PSS
|
---|
106 | ;;50.7;;PSJ;;PSO;;PSN;;PSS
|
---|
107 | ;;50.76;;PSJ;;PSO;;PSN;;PSS
|
---|
108 | ;;50.72;;PSJ;;PSO;;PSN;;PSS
|
---|
109 | ;;51;;PSJ;;PSS
|
---|
110 | ;;51.01;;PSJ;;PSS
|
---|
111 | ;;51.1;;PSJ;;PSS
|
---|
112 | ;;51.11;;PSJ;;PSS
|
---|
113 | ;;51.17;;PSJ;;PSS
|
---|
114 | ;;51.2;;PSJ;;PSS
|
---|
115 | ;;51.5;;PSS
|
---|
116 | ;;52.6;;PSJ;;PSN;;PSS
|
---|
117 | ;;52.61;;PSJ;;PSN;;PSS
|
---|
118 | ;;52.62;;PSJ;;PSN;;PSS
|
---|
119 | ;;52.63;;PSJ;;PSN;;PSS
|
---|
120 | ;;52.64;;PSJ;;PSN;;PSS
|
---|
121 | ;;52.7;;PSJ;;PSN;;PSS
|
---|
122 | ;;52.702;;PSJ;;PSN;;PSS
|
---|
123 | ;;52.703;;PSJ;;PSN;;PSS
|
---|
124 | ;;52.704;;PSJ;;PSN;;PSS
|
---|
125 | ;;54;;PSS;;PSO
|
---|
126 | ;;54.1;;PSS;;PSO
|
---|
127 | ;;9009032.3;;PSS
|
---|
128 | ;;9009032.5;;PSS
|
---|
129 | ;;
|
---|
130 | Q
|
---|
131 | ;
|
---|
132 | FILE3 ;For Lookup calls, check for Inactive Date Screen
|
---|
133 | ;;50;;I;;1
|
---|
134 | ;;50.606;;0;;2
|
---|
135 | ;;50.7;;0;;4
|
---|
136 | ;;51.2;;0;;5
|
---|
137 | ;;52.6;;I;;1
|
---|
138 | ;;52.7;;I;;1
|
---|
139 | ;;
|
---|
140 | Q
|
---|
141 | SCREEN ;Set screen if Inactive Date is passed in, and for File 50, addition screen if Application Packages Use is passed in
|
---|
142 | N PSSILOOP,PSSILOC,PSSINFLG,PSSINODE S PSSINFLG=0
|
---|
143 | F PSSILOOP=1:1 S PSSILOC=$P($T(FILE3+PSSILOOP),";;",2) Q:+$G(PSSILOC)'>0!PSSINFLG I +PSSILOC=PSSFILE S PSSINFLG=1 S PSSINODE=$T(FILE3+PSSILOOP) D
|
---|
144 | .S PSSSUBSC=$P(PSSINODE,";;",3),PSSPIECE=$P(PSSINODE,";;",4)
|
---|
145 | .I PSSSUBSC'="",PSSPIECE'="" S DIC("S")="I $P($G(^(PSSSUBSC)),""^"",PSSPIECE)=""""!(+$P($G(^(PSSSUBSC)),""^"",PSSPIECE)>+$G(PSSSCRDT))"
|
---|
146 | Q
|
---|
147 | VACL S PSSVACL1=0,PSSX=$S($D(PSSVACL("R")):"=",1:"'=") K PSSX1
|
---|
148 | F S PSSVACL1=$O(PSSVACL(PSSVACL1)) Q:PSSVACL1="" I PSSVACL1'="R",PSSVACL1'="P" S PSSX1=$S($G(PSSX1)="":"I $P(^PSDRUG(+Y,0),U,2)"_PSSX_""""_PSSVACL1_"""",1:PSSX1_$S(PSSX="=":"!",1:"&")_"($P(^PSDRUG(+Y,0),U,2)"_PSSX_""""_PSSVACL1_""""_")")
|
---|
149 | Q
|
---|
150 | Q K PSSVACL,PSSVACL1,PSSX,PSSX1,PSSFILE,PSSAPP,PSSINODE,PSSSCRUS Q
|
---|