1 | PXQUTL ;ISL/JVS - FUNCTION CALLS FOR DEBUGGING UTILITIES;8/29/96 10:34 ;3/26/97 09:25
|
---|
2 | ;;1.0;PCE PATIENT CARE ENCOUNTER;**4,14,29,121**;Aug 12, 1996
|
---|
3 | ;
|
---|
4 | LCFLE() ;--LOCATION FILES
|
---|
5 | N LOCCNT,IHSCNT
|
---|
6 | ;--COUNT FROM LOCATION FILE 4
|
---|
7 | S LOCCNT=$P($G(^DIC(4,0)),"^",3)
|
---|
8 | ;--COUNT FROM IHS LOCATION FILE 9999999.06
|
---|
9 | S IHSCNT=$P($G(^AUTTLOC(0)),"^",3)
|
---|
10 | Q LOCCNT_"^"_IHSCNT
|
---|
11 | ;
|
---|
12 | PTFLE() ;--PATIENT FILES
|
---|
13 | N DPTCNT,IHSCNT
|
---|
14 | ;--COUNT FROM DPT FILE 2
|
---|
15 | S DPTCNT=$P($G(^DPT(0)),"^",3)
|
---|
16 | ;--COUNT FORM AUPNPAT FILE 9000010
|
---|
17 | S IHSCNT=$P($G(^AUPNPAT(0)),"^",3)
|
---|
18 | Q DPTCNT_"^"_IHSCNT
|
---|
19 | ;
|
---|
20 | RE(ENTRY) ;--RECORD ENTRY TO BE PRINTED
|
---|
21 | Q:$G(ENTRY)="" ""
|
---|
22 | I $L(ENTRY)>80 S ENTRY=$E(ENTRY,1,78)_""""
|
---|
23 | S PXQRECI=PXQRECI+1
|
---|
24 | S ^TMP("PXQRECORD",$J,PXQRECI,ENTRY)=""
|
---|
25 | Q ""
|
---|
26 | ;
|
---|
27 | READ ;--READ
|
---|
28 | N VAR,I,ANS,DX,DY
|
---|
29 | W !,"**************************************************************"
|
---|
30 | S (DX,DY)=0 X ^%ZOSF("XY")
|
---|
31 | S I=0
|
---|
32 | I '$G(CNT) S CNT=0
|
---|
33 | F S I=$O(^TMP("PXQRECORD",$J,I)) Q:I="" D
|
---|
34 | .S VAR=$O(^TMP("PXQRECORD",$J,I,0))
|
---|
35 | .;--NEW 3/25/97
|
---|
36 | .I VAR["^" S VAR=$TR(VAR,"?!","11")
|
---|
37 | .;--END OF NEW
|
---|
38 | .I VAR'["?"&(VAR'["!") W !,$O(^TMP("PXQRECORD",$J,I,0))
|
---|
39 | .I VAR["?"!(VAR["!") W !,@$O(^TMP("PXQRECORD",$J,I,0))
|
---|
40 | .S CNT=CNT+1
|
---|
41 | .;I $Y>(IOSL-2) D
|
---|
42 | .I CNT>(IOSL-4) S CNT=0 D
|
---|
43 | ..I IOST["C-" R !,"ENTER to continue",ANS:DTIME
|
---|
44 | ..I $G(ANS)="^" S I=9999999999999
|
---|
45 | ..S (DX,DY)=0 X ^%ZOSF("XY")
|
---|
46 | K ^TMP("PXQRECORD",$J),PXQPRM
|
---|
47 | I IOST["C-",$G(ANS)'="^" R !," END OF DISPLAY",ANS:DTIME
|
---|
48 | ;I IOST["C-",$G(ANS)'="^" W !," END OF DISPLAY"
|
---|
49 | Q
|
---|
50 | ASKPAT() ;Ask user for a patient
|
---|
51 | ;DIC on file 9000001
|
---|
52 | N DIR,DIC,Y,X,DA
|
---|
53 | S DIR(0)="PO^9000001:AEMQ"
|
---|
54 | S DIR("A")="Patient Name"
|
---|
55 | D ^DIR
|
---|
56 | Q $S(+Y>0:+Y,1:-1)
|
---|
57 | ;
|
---|
58 | ;
|
---|
59 | ASKNUM() ;Ask user for a VISIT
|
---|
60 | ;DIC on file 9000010
|
---|
61 | N DIR,DIC,Y,X,DA
|
---|
62 | I $D(^DISV(DUZ,"PXQREP3")) S DIR("B")=$G(^DISV(DUZ,"PXQREP3"))
|
---|
63 | S DIR(0)="P^9000010:AEMQ"
|
---|
64 | S DIR("A")="Enter VISIT (UNIQUE ID or `1239)"
|
---|
65 | D ^DIR
|
---|
66 | Q $S(+Y>0:+Y,1:-1)
|
---|
67 | ;
|
---|
68 | ASKNUM1() ;Ask user for a VISIT
|
---|
69 | ;DIC on file 9000010
|
---|
70 | N DIC,Y,X,DA
|
---|
71 | I $D(^DISV(DUZ,"PXQREP3")) S DIR("B")=$G(^DISV(DUZ,"PXQREP3"))
|
---|
72 | S DIR(0)="P^9000010:AEMQ"
|
---|
73 | S DIR("A")="Enter VISIT (UNIQUE ID or `1239)"
|
---|
74 | D ^DIR
|
---|
75 | Q $S(+Y>0:+Y,1:-1)
|
---|
76 | ;
|
---|
77 | ASKENC() ;Ask user for a ENCOUNTER
|
---|
78 | ;DIC on file 409.68
|
---|
79 | N DIR,DIC,Y,X,DA
|
---|
80 | S DIR(0)="P^409.68:AEMQ"
|
---|
81 | S DIR("A")="Enter ENCOUNTER (`2344)"
|
---|
82 | D ^DIR
|
---|
83 | Q $S(+Y>0:+Y,1:-1)
|
---|
84 | ;
|
---|
85 | ;
|
---|
86 | SOR(IEN) ;--SOURCE IF SELECTED FROM MENU
|
---|
87 | Q:'$G(IEN) ""
|
---|
88 | W $$RE^PXQUTL("!")
|
---|
89 | W $$RE^PXQUTL("----------------VISIT "_IEN_"---SOURCES-------------")
|
---|
90 | ;
|
---|
91 | ;
|
---|
92 | ;
|
---|
93 | S DATEC=$P($G(^AUPNVSIT(IEN,0)),"^",2) D
|
---|
94 | .S Y=DATEC D DD^%DT S DATEC=Y
|
---|
95 | W $$RE^PXQUTL("?5,""CREATED : ""_DATEC")
|
---|
96 | ;
|
---|
97 | ;
|
---|
98 | S DATEE=$P($G(^AUPNVSIT(IEN,0)),"^",13) D
|
---|
99 | .S Y=DATEE D DD^%DT S DATEE=Y
|
---|
100 | W $$RE^PXQUTL("?5,""EDITED : ""_DATEE")
|
---|
101 | ;
|
---|
102 | ;
|
---|
103 | S USER=$S(+$P($G(^AUPNVSIT(IEN,0)),"^",23)>0:$P(^VA(200,+$P($G(^AUPNVSIT(IEN,0)),"^",23),0),"^",1),1:"")
|
---|
104 | W $$RE^PXQUTL("?5,""USER : ""_USER")
|
---|
105 | ;
|
---|
106 | ;
|
---|
107 | I $D(^DIC(19,+$P($G(^AUPNVSIT(IEN,0)),"^",24),0)) D
|
---|
108 | .S OPTION=$S(+$P($G(^AUPNVSIT(IEN,0)),"^",24)>0:$P(^DIC(19,+$P($G(^AUPNVSIT(IEN,0)),"^",24),0),"^",2),1:"")
|
---|
109 | .W $$RE^PXQUTL("?5,""OPTION : ""_OPTION")
|
---|
110 | ;
|
---|
111 | I $D(^ORD(101,+$P($G(^AUPNVSIT(IEN,0)),"^",25),0)) D
|
---|
112 | .S PROTOCOL=$S(+$P($G(^AUPNVSIT(IEN,0)),"^",25)>0:$P(^ORD(101,+$P($G(^AUPNVSIT(IEN,0)),"^",25),0),"^",2),1:"")
|
---|
113 | .W $$RE^PXQUTL("?5,""PROTOCOL: ""_PROTOCOL")
|
---|
114 | ;
|
---|
115 | ;
|
---|
116 | I $D(^DIC(9.4,+$P($G(^AUPNVSIT(IEN,812)),"^",2),0)) D
|
---|
117 | .S PACKAGE=$S(+$P($G(^AUPNVSIT(IEN,812)),"^",2)>0:$P(^DIC(9.4,+$P($G(^AUPNVSIT(IEN,812)),"^",2),0),"^",1),1:"")
|
---|
118 | .W $$RE^PXQUTL("?5,""PACKAGE : ""_PACKAGE")
|
---|
119 | ;
|
---|
120 | ;
|
---|
121 | I $P($G(^AUPNVSIT(IEN,812)),"^",3) D
|
---|
122 | .I $D(^PX(839.7,$P($G(^AUPNVSIT(IEN,812)),"^",3),0)) D
|
---|
123 | ..S SOURCE=$S(+$P($G(^AUPNVSIT(IEN,812)),"^",3)>0:$P(^PX(839.7,+$P($G(^AUPNVSIT(IEN,812)),"^",3),0),"^",1),1:"")
|
---|
124 | ..W $$RE^PXQUTL("?5,""SOURCE : ""_SOURCE")
|
---|
125 | ;
|
---|
126 | W $$RE^PXQUTL("______________________________________________________")
|
---|
127 | Q ""
|
---|
128 | ;
|
---|
129 | SDV ;--IF AN APPOINTMENT ON THAT DAY
|
---|
130 | N JUNK,PATIENT,ENTRY,CNT,CS,DAY,DAY2,ERR,POINT,STOP
|
---|
131 | N PXC,PXCC,PXCCC,PXCCCC,ICPTSTR
|
---|
132 | S (PXC,PXCC,PXCCC,PXCCCC,ICPTSTR)=""
|
---|
133 | I $G(BROKEN),'$G(DFN),'$G(PATIENT),'$G(DATE) Q
|
---|
134 | I $G(DFN) S PATIENT=DFN
|
---|
135 | I '$G(DFN) S (PATIENT,DFN)=$P(^AUPNVSIT(IEN,0),"^",5)
|
---|
136 | Q:'$G(PATIENT)
|
---|
137 | I '$G(BROKEN) S DATE=$P(^AUPNVSIT(IEN,0),"^",1)
|
---|
138 | S CNT=0
|
---|
139 | S DAY=$P(DATE,".",1)
|
---|
140 | F S DAY=$O(^SDV("C",PATIENT,DAY)) Q:DAY'[$P(DATE,".",1) S CNT=CNT+1 D
|
---|
141 | .W $$RE^PXQUTL("!")
|
---|
142 | .W !
|
---|
143 | .S REF="^SDV(DAY)"
|
---|
144 | .F S REF=$Q(@REF) Q:REF'[DAY S DAY2=$P($P(REF,"(",2),",") I '$G(ERR),$P($G(^SDV(DAY2,0)),"^",2)=PATIENT,REF'["""CS"",""B""," S ENTRY=REF_" = "_@REF W $$RE^PXQUTL(ENTRY) I REF["""PR""" D CPT2
|
---|
145 | .;---
|
---|
146 | .W $$RE^PXQUTL(" ")
|
---|
147 | .S CS=0 F S CS=$O(^SDV(DAY2,"CS",CS)) Q:CS'>0 D
|
---|
148 | ..Q:$P($G(^SDV(DAY2,0)),"^",2)'=PATIENT
|
---|
149 | ..S POINT=$P($G(^SDV(DAY2,"CS",CS,0)),"^",1)
|
---|
150 | ..S STOP=$G(^DIC(40.7,POINT,0))
|
---|
151 | ..W $$RE^PXQUTL("STOP CODE "_POINT_" = "_STOP)
|
---|
152 | .S PXC=0 F S PXC=$O(PXQSDV(PXC)) Q:PXC="" Q:'$D(PXQSDV) D
|
---|
153 | ..S PXCC=$O(PXQSDV(PXC,0))
|
---|
154 | ..;S PXCCC=$E($P($G(^ICPT(PXC,0)),"^",2),1,30)
|
---|
155 | ..;S PXCCCC=$P($G(^ICPT(PXC,0)),"^",1)
|
---|
156 | ..S ICPTSTR=$$CPT^ICPTCOD(PXC,DAY)
|
---|
157 | ..S PXCCC=$E($P(ICPTSTR,"^",3),1,30)
|
---|
158 | ..S PXCCCC=$P(ICPTSTR,"^",2)
|
---|
159 | ..S ENTRY="CPT "_$G(PXCCCC)_" - "_$G(PXCCC)_" = "_$G(PXCC)_" TIMES"
|
---|
160 | ..W $$RE^PXQUTL(ENTRY)
|
---|
161 | D CPT
|
---|
162 | K PXQSDV,DATE
|
---|
163 | W $$RE^PXQUTL(" ")
|
---|
164 | Q
|
---|
165 | CPT ;--PROCEDURES
|
---|
166 | I $D(^AUPNVCPT("AD",VISIT)),CNT=0 W $$RE^PXQUTL("THERE ARE PROCEDURES IN PCE BUT NO RECORD IN SCHEDULING **")
|
---|
167 | Q
|
---|
168 | CPT2 ;--COUNT PROCEDURES
|
---|
169 | N PXQC,PXQQ
|
---|
170 | S PXQQ=0
|
---|
171 | F I=1:1:5 S PXQC=$P(@REF,"^",I) I PXQC]"" D
|
---|
172 | .I $D(PXQSDV(PXQC)) S PXQQ=$O(PXQSDV(PXQC,0))
|
---|
173 | .K PXQSDV(PXQC,PXQQ)
|
---|
174 | .S PXQSDV(PXQC,(PXQQ+1))=""
|
---|
175 | .S PXQQ=0
|
---|
176 | Q
|
---|
177 | ;
|
---|
178 | ;
|
---|
179 | EXP(ROOT,IEN) ;---EXPAND ENTRIES
|
---|
180 | N I,REF,REF2,ENTRY
|
---|
181 | I ROOT["SCE",$P($G(^SCE(IEN,0)),"^",6)']"",$G(PXQPRM)=1 D
|
---|
182 | .W $$RE^PXQUTL(" ~~~~ERROR~~~")
|
---|
183 | .W $$RE^PXQUTL("** There is more Than 1 PARENT OUTPATIENT ENCOUNTER pointing to the same VISIT**")
|
---|
184 | .W $$RE^PXQUTL(" ")
|
---|
185 | I ROOT["SCE"&($P($G(^SCE(IEN,0)),"^",6)']"") S PXQPRM=1
|
---|
186 | I $G(BROKEN),ROOT["AUPNVCPT" S (DFN,PATIENT)=$P($G(^AUPNVCPT(IEN,0)),"^",2)
|
---|
187 | I $G(BROKEN),ROOT["SCE",'$G(DATE) S DATE=$P($G(^SCE(IEN,0)),"^",1),(DFN,PATIENT)=$P($G(^SCE(IEN,0)),"^",2)
|
---|
188 | S REF=$P(ROOT,"""",1)_IEN_")"
|
---|
189 | S REF2=$P(ROOT,"""",1)_IEN
|
---|
190 | F S REF=$Q(@REF) Q:REF'[REF2 S ENTRY=REF_" = "_@REF W $$RE^PXQUTL($G(ENTRY))
|
---|
191 | W $$RE^PXQUTL(" ")
|
---|
192 | Q ""
|
---|