1 | SDACSCG ;ALB/TET - Print/Edit Computer Generated Appt Types ;3/18/92 14:18
|
---|
2 | ;;5.3;Scheduling;**16,22,132,202**;Aug 13, 1993
|
---|
3 | ;
|
---|
4 | Q
|
---|
5 | CK ; -- check the number of computer generated visits
|
---|
6 | N SDT,SDOE,CT
|
---|
7 | S (SDT,CT)=0
|
---|
8 | F S SDT=$O(^SCE("ACG",SDT)) Q:'SDT D
|
---|
9 | . S SDOE=0
|
---|
10 | . F S SDOE=$O(^SCE("ACG",SDT,SDOE)) Q:'SDOE S CT=CT+1
|
---|
11 | ;
|
---|
12 | I CT D
|
---|
13 | . W !?5,"There are ",CT," encounter(s) with a 'Computer Generated' appointment type.",*7,!
|
---|
14 | E D
|
---|
15 | . W !?5,"There are no 'Computer Generated' appointment type encounters."
|
---|
16 | Q
|
---|
17 | ;
|
---|
18 | PRINT ;print those CG types which need to be manually updated
|
---|
19 | S DGPGM="QUE^SDACSCG"
|
---|
20 | D ZIS^DGUTQ
|
---|
21 | Q:POP
|
---|
22 | ;
|
---|
23 | QUE ; -- queue entry point
|
---|
24 | N SDOE,SDOE0,SDT,DSAH,SDY,CT,Y,X,VA,VADM,VAERR,CT,%DT
|
---|
25 | S DASH="",$P(DASH,"-",79)=""
|
---|
26 | S (SDT,CT)=0,%DT="SX"
|
---|
27 | D HDR
|
---|
28 | F S SDT=$O(^SCE("ACG",SDT)) Q:'SDT D G:$D(DTOUT)!($D(DUOUT)) EXIT
|
---|
29 | . S Y=SDT D DD^%DT S SDY=Y
|
---|
30 | . S SDOE=0
|
---|
31 | . F S SDOE=$O(^SCE("ACG",SDT,SDOE)) Q:'SDOE D Q:$D(DTOUT)!($D(DUOUT))
|
---|
32 | . . S SDOE0=$G(^SCE(SDOE,0))
|
---|
33 | . . S DFN=+$P(SDOE0,U,2)
|
---|
34 | . . D DEM^VADPT
|
---|
35 | . . D:$Y+6>IOSL CR,HDR
|
---|
36 | . . Q:$D(DTOUT)!($D(DUOUT))
|
---|
37 | . . W !,SDY,?25,$S(VAERR=0:VADM(1),1:"UNKNOWN"),?60,VA("PID")
|
---|
38 | . . S CT=CT+1
|
---|
39 | I CT D:$Y+4>IOSL CR W !!,CT," MATCHES FOUND.",!
|
---|
40 | ;
|
---|
41 | EXIT ; -- exit processing
|
---|
42 | K %DT,CT,D,DA,DASH,DE,DFN,DFN0,DGPGM,DIC,DIE,DIRUT,DQ
|
---|
43 | K DR,DTOUT,DUOUT,FR,I,J,POP,SDA,SDAPTYP,SDBEG,SDCSNODE
|
---|
44 | K SDDIV,SDEND,SDUPDT,SDY,SDZN,SDTYPE,TO,VADM,VAEL,VAERR,VA,X,Y
|
---|
45 | Q
|
---|
46 | ;
|
---|
47 | CR ; -- end of page processing
|
---|
48 | Q:$E(IOST,1,2)'="C-"
|
---|
49 | W !!,"Press RETURN to continue or '^' to exit: "
|
---|
50 | R SDXX:DTIME S:'$T DTOUT=1
|
---|
51 | Q:$D(DTOUT)!(SDXX="")
|
---|
52 | I SDXX="^" S DUOUT=1 Q
|
---|
53 | W !?5,"Enter an '^' to exit the listing, or enter RETURN to continue."
|
---|
54 | G CR
|
---|
55 | ;
|
---|
56 | HDR ; -- header processing
|
---|
57 | W:$D(IOF) @IOF W !,"COMPUTER GENERATED APPOINTMENT TYPES"
|
---|
58 | W !,"ENCOUNTER DATE/TIME",?25,"PATIENT",?60,"PT ID",!,DASH,!!
|
---|
59 | Q
|
---|
60 | ;
|
---|
61 | EDIT ; -- edit computer generated appt types
|
---|
62 | N DIR,SDOUT,%DT
|
---|
63 | I '$O(^SCE("ACG",0)) W !!?5,"There are no 'Computer Generated' Appointment Types which need updating." G EDITQ
|
---|
64 | ;
|
---|
65 | W !
|
---|
66 | S DIR("A",1)="You may enter one of the following:"
|
---|
67 | S DIR("A",2)=" Encounter Date - edit 'Computer Generated' entries for a specific date"
|
---|
68 | S DIR("A",3)=" Patient Name (or SSN) - edit 'Computer Generated' entries for one patient"
|
---|
69 | S DIR("A",4)=" The default of 'ALL' - edit all entries which are 'Computer Generated'"
|
---|
70 | S DIR("A")="Select Encounter Date"
|
---|
71 | S DIR("B")="ALL"
|
---|
72 | S DIR(0)="F^1:30"
|
---|
73 | S %DT(0)="-DT"
|
---|
74 | S DIR("?")="^D QUE^SDACSCG"
|
---|
75 | D ^DIR K DIR
|
---|
76 | G:$D(DIRUT) EDITQ
|
---|
77 | ;
|
---|
78 | S SDOUT=0
|
---|
79 | D
|
---|
80 | .N SDZ
|
---|
81 | .I "ALLall"[Y D Q
|
---|
82 | ..D ALL
|
---|
83 | .S (X,SDZ)=Y,%DT="PX"
|
---|
84 | .D ^%DT
|
---|
85 | .I Y'=-1 D Q
|
---|
86 | ..S Y=SDZ
|
---|
87 | ..D DATE
|
---|
88 | .S Y=SDZ
|
---|
89 | .I Y?9N!(Y?1A4N)!(Y?.AP)!(Y?4N) D Q
|
---|
90 | ..D DPT
|
---|
91 | ;
|
---|
92 | I 'SDOUT G EDIT
|
---|
93 | ;
|
---|
94 | EDITQ D EXIT
|
---|
95 | Q
|
---|
96 | ;
|
---|
97 | DATE ;
|
---|
98 | N CT,%DT,Y,SDBEG,SDEND
|
---|
99 | S CT=0
|
---|
100 | S %DT="EPTXS"
|
---|
101 | S %DT(0)=-DT
|
---|
102 | D ^%DT S Y=+Y
|
---|
103 | IF $D(DTOUT) S SDOUT=1 G DATEQ
|
---|
104 | G DATEQ:Y=-1
|
---|
105 | ;
|
---|
106 | S SDBEG=$S(Y[".":Y-.000001,1:Y)
|
---|
107 | S SDEND=$S(Y[".":Y,1:Y_.999999)
|
---|
108 | D LOOP(SDBEG,SDEND)
|
---|
109 | ;
|
---|
110 | G:SDOUT DATEQ
|
---|
111 | W:'CT !,"There are no 'Computer Generated' appt types for selection.",*7,!
|
---|
112 | DATEQ Q
|
---|
113 | ;
|
---|
114 | ALL ; -- loop through and edit all computer generated appt types
|
---|
115 | N CT
|
---|
116 | S CT=0
|
---|
117 | ;
|
---|
118 | D LOOP()
|
---|
119 | ;
|
---|
120 | ALLQ Q
|
---|
121 | ;
|
---|
122 | DPT ; -- look up in patient file & loop through acg for selected dfn
|
---|
123 | ;
|
---|
124 | N DIC,D,CT,Y
|
---|
125 | S CT=0
|
---|
126 | S DIC="^DPT(",DIC(0)="EQMZ"
|
---|
127 | S D=$S(X?9N:"SSN",X?1A.4N:"B5",1:"B")
|
---|
128 | D IX^DIC
|
---|
129 | G DPTQ:Y'>0
|
---|
130 | ;
|
---|
131 | D LOOP(,,+Y)
|
---|
132 | ;
|
---|
133 | G:SDOUT DPTQ
|
---|
134 | W:'CT !,"There are no 'Computer Generated' appt types for selected entry.",*7,!
|
---|
135 | DPTQ Q
|
---|
136 | ;
|
---|
137 | LOOP(SDBEG,SDEND,SDFN) ;
|
---|
138 | N SDY,DFN,VA,VAERR,VAADM,SDT,SDOE
|
---|
139 | ;
|
---|
140 | IF '$G(SDBEG) N SDBEG S SDBEG=0
|
---|
141 | IF '$G(SDEND) N SDEND S SDEND=9999999
|
---|
142 | IF '$G(SDFN) N SDFN S SDFN=0
|
---|
143 | ;
|
---|
144 | S SDT=SDBEG
|
---|
145 | F S SDT=$O(^SCE("ACG",SDT)) Q:'SDT!(SDT>SDEND) D Q:SDOUT
|
---|
146 | . S SDOE=0
|
---|
147 | . F S SDOE=$O(^SCE("ACG",SDT,SDOE)) Q:'SDOE D Q:SDOUT
|
---|
148 | . . IF SDFN,SDFN'=+$P($G(^SCE(SDOE,0)),"^",2) Q
|
---|
149 | . . D DEM(SDOE),DEMW
|
---|
150 | . . D DIE(SDOE)
|
---|
151 | LOOPQ Q
|
---|
152 | ;
|
---|
153 | DEM(SDOE) ; -- get pt name,ssn and visit date
|
---|
154 | N SDOE0,Y,DFN
|
---|
155 | S SDOE0=$G(^SCE(SDOE,0))
|
---|
156 | S DFN=+$P(SDOE0,"^",2)
|
---|
157 | D DEM^VADPT
|
---|
158 | S Y=+SDOE0 D DD^%DT S SDY=Y
|
---|
159 | Q
|
---|
160 | ;
|
---|
161 | DEMW ; -- write patient demographics
|
---|
162 | W !!,SDY,?25,$S(VAERR=0:VADM(1),1:"UNKNOWN"),?60,VA("PID")
|
---|
163 | Q
|
---|
164 | ;
|
---|
165 | DIE(SDOE) ; -- do edit
|
---|
166 | N DR,DIE,DE,DQ
|
---|
167 | S DR=".1d;I $P(^(0),U,10)=10 S Y=""@99"";202///@;@99"
|
---|
168 | S DIE="^SCE("
|
---|
169 | S DA=SDOE
|
---|
170 | D ^DIE
|
---|
171 | S:$D(DTOUT)!($D(Y)'=0) SDOUT=1
|
---|
172 | S CT=CT+1
|
---|
173 | Q
|
---|
174 | ;
|
---|