1 | WVUTL4 ;HCIOFO/FT,JR IHS/ANMC/MWR - UTIL: DATE DEFAULTS, OTH VALUES; ;7/16/98 09:44
|
---|
2 | ;;1.0;WOMEN'S HEALTH;;Sep 30, 1998
|
---|
3 | ;;* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
|
---|
4 | ;; UTILITY: DEFAULT "COMPLETE BY" DATES FOR NOTIFS AND PROCEDURES,
|
---|
5 | ;; STATUS TEXT, DIAG TEXT, NORMAL VALUE, COLP VALUE, MARGIN? VALUE.
|
---|
6 | ;
|
---|
7 | ;
|
---|
8 | NDELQ() ;EP
|
---|
9 | ;---> FOR NOTIFICATIONS:
|
---|
10 | ;---> COMPUTE DEFAULT "COMPLETE BY (DATE)" - DATE AT WHICH A
|
---|
11 | ;---> NOTIFICATION BECOMES DELINQUENT. CALLED BY WV NOTIF-EDITBLK-1.
|
---|
12 | ;---> DEFAULT IS CREATED WHEN SCREEN IS FIRST LOADED.
|
---|
13 | ;---> CODE HERE SETS X=EITHER 1: PRINT DATE (IF PRINTABLE), OR
|
---|
14 | ;---> 2: DATE NOTIFICATION OPENED, OR
|
---|
15 | ;---> 3: TODAY'S DATE
|
---|
16 | ;---> THEN $$NDELQ1() IS CALLED TO ADD 30 DAYS UNTIL DELINQUENT.
|
---|
17 | ;---> REQUIRED VARIABLE: DA (IEN OF NOTIFICATION).
|
---|
18 | N X
|
---|
19 | Q:'$D(DA) ""
|
---|
20 | Q:'DA ""
|
---|
21 | Q:'$D(^WV(790.4,DA,0)) ""
|
---|
22 | S X=$P(^WV(790.4,DA,0),U,11)
|
---|
23 | S:'X X=$P(^WV(790.4,DA,0),U,2)
|
---|
24 | S:'X X=DT
|
---|
25 | Q $$NDELQ1
|
---|
26 | ;
|
---|
27 | NDELQ1() ;EP
|
---|
28 | ;---> FOR NOTIFICATIONS:
|
---|
29 | ;---> COMPUTE "COMPLETE BY (DATE)". CALLED BY UPDATE/EDIT OF
|
---|
30 | ;---> "PRINT DATE:" IN WV NOTIF-EDITBLK-1.
|
---|
31 | ;---> X1=EITHER NEW PRINT DATE, OR DATE NOTIF OPENED, OR TODAY.
|
---|
32 | ;---> X2=30 DAYS ADDED TILL NOTIFICATION BECOMES DELINQUENT.
|
---|
33 | ;---> REQUIRED VARIABLE: X=PRINT DATE, OR DATE OPENED, OR TODAY.
|
---|
34 | N %H,X1,X2
|
---|
35 | Q:'$D(X) ""
|
---|
36 | Q:'X ""
|
---|
37 | S X1=X,X2=30
|
---|
38 | D C^%DTC
|
---|
39 | Q X
|
---|
40 | ;
|
---|
41 | PDELQ(DA,DUZ2) ;EP
|
---|
42 | ;---> FOR PROCEDURES:
|
---|
43 | ;---> COMPUTE DEFAULT "COMPLETE BY (DATE)" - DATE AT WHICH A
|
---|
44 | ;---> PROCEDURE BECOMES DELINQUENT. CALLED BY WV PROC-EDITBLK-1.
|
---|
45 | ;---> DEFAULT IS CREATED WHEN SCREEN IS FIRST LOADED.
|
---|
46 | ;---> CODE HERE FIRST RETRIEVES STORED DATE OF PROCEDURE, THEN CALLS
|
---|
47 | ;---> $$DELQ1 TO COMPUTE "COMPLETE BY (DATE)".
|
---|
48 | ;---> REQUIRED VARIABLE: DA (IEN OF PROCEDURE), DUZ2=DUZ(2).
|
---|
49 | Q:'$G(DA)!('$G(DUZ2)) ""
|
---|
50 | Q:'$D(^WV(790.1,DA,0)) ""
|
---|
51 | Q:'$P(^WV(790.1,DA,0),U,12) ""
|
---|
52 | Q $$PDELQ1(DA,$P(^WV(790.1,DA,0),U,12),DUZ2)
|
---|
53 | ;
|
---|
54 | PDELQ1(WVDA,WVDT,WVDUZ2) ;EP
|
---|
55 | ;---> FOR PROCEDURES:
|
---|
56 | ;---> COMPUTE "COMPLETE BY (WVDT)". CALLED BY UPWVDT/EDIT OF
|
---|
57 | ;---> "WVDT OF PROCEDURE" IN WV PROC-EDITBLK-1.
|
---|
58 | ;---> X1=WVDT OF PROCEDURE, X2=DEFAULT NUMBER OF WVDAYS THE
|
---|
59 | ;---> PROCEDURE IS ALLOWED TO REMAIN OPEN BEFORE BECOMING DELINQUENT.
|
---|
60 | ;---> REQUIRED VARIABLE: WVDA=IEN OF PROCEDURE, WVDT=DATE OF PROCEDURE,
|
---|
61 | ;---> WVDUZ2=DUZ(2).
|
---|
62 | N %H,X,X1,X2
|
---|
63 | Q:'$G(WVDA)!('$G(WVDT)) ""
|
---|
64 | Q:'$D(^WV(790.1,WVDA,0)) ""
|
---|
65 | S X2=$P(^WV(790.1,WVDA,0),U,4),X1=WVDT
|
---|
66 | Q:'X2 ""
|
---|
67 | Q:'$D(^WV(790.02,WVDUZ2,X2)) ""
|
---|
68 | S X2=$P(^WV(790.02,WVDUZ2,X2),U,3)
|
---|
69 | D C^%DTC
|
---|
70 | Q X
|
---|
71 | ;
|
---|
72 | STATUS() ;EP
|
---|
73 | ;---> PROVIDES STATUS (OPEN, DELINQUENT, OR CLOSED).
|
---|
74 | ;---> Y MUST EQUAL ZERO NODE OF NOTIFICATION.
|
---|
75 | ;---> REQUIRED VARIABLE: Y=ZERO NODE OF PROCEDURE, DT=FFDATE
|
---|
76 | Q:'$D(Y) "UNKNOWN"
|
---|
77 | Q:$P(Y,U,14)="c" "CLOSED"
|
---|
78 | Q:$P(Y,U,13)]""&($P(Y,U,13)<DT) "DELINQ"
|
---|
79 | Q "OPEN"
|
---|
80 | ;
|
---|
81 | DIAG(IEN) ;EP
|
---|
82 | ;---> RETURN TEXT OF RESULT/DIAGNOSIS.
|
---|
83 | ;---> REQUIRED VARIABLE X=IEN IN WV RESULTS/DIAGNOSIS FILE 790.31.
|
---|
84 | Q:'$G(IEN) "NOT ENTERED"
|
---|
85 | Q:'$D(^WV(790.31,IEN,0)) "UNKNOWN POINTER"
|
---|
86 | Q $P(^WV(790.31,IEN,0),U)
|
---|
87 | ;
|
---|
88 | PRIOR() ;EP
|
---|
89 | ;---> PROVIDE PRIORITY FOR THIS RESULT/DIAGNOSIS (DEFAULT=10).
|
---|
90 | ;---> REQUIRED VARIABLE X=IEN IN WV RESULTS/DIAGNOSIS FILE.
|
---|
91 | Q:'$D(X)!(X']"") 10
|
---|
92 | Q:'$D(^WV(790.31,X,0)) 10
|
---|
93 | Q:'$P(^WV(790.31,X,0),U,2) 10
|
---|
94 | Q $P(^WV(790.31,X,0),U,2)
|
---|
95 | ;
|
---|
96 | NORMAL(X) ;EP
|
---|
97 | ;---> PROVIDE NORMAL/ABNORMAL FOR THIS RESULT/DIAGNOSIS.
|
---|
98 | ;---> WILL RETURN 0 IF NORMAL, 1 IF ABNORMAL (DEFAULT=1),
|
---|
99 | ;---> 2 IF NO RESULT (EITHER THE PROCEDURE HAS NO RESULT OR
|
---|
100 | ;---> THE RESULT/DIAGNOSIS HAS "NO RESULT" FOR FIELD #.21).
|
---|
101 | ;---> REQUIRED VARIABLE X=IEN IN WV RESULTS/DIAGNOSIS FILE.
|
---|
102 | Q:'$D(X)!(X']"") 2
|
---|
103 | Q:'$D(^WV(790.31,X,0)) 2
|
---|
104 | Q:$P(^WV(790.31,X,0),U,21)="" 2
|
---|
105 | Q $P(^WV(790.31,X,0),U,21)
|
---|
106 | ;
|
---|
107 | COLP(DA) ;EP
|
---|
108 | ;---> DETERMINE WHETHER OR NOT THE CURRENT PROCEDURE REQUIRES
|
---|
109 | ;---> PAGE 2 OF PROCEDURE EDIT SCREENS FOR COLPOSCOPY RESULTS.
|
---|
110 | ;---> RETURNS 1 IF COLP-TYPE RESULTS, OTHERWISE 0.
|
---|
111 | ;---> DA=IEN OF PROCEDURE IN PROC FILE #790.1.
|
---|
112 | N Y
|
---|
113 | Q:'$G(DA) 0
|
---|
114 | Q:'$D(^WV(790.1,DA,0)) 0
|
---|
115 | S Y=$P(^WV(790.1,DA,0),U,4)
|
---|
116 | Q:'Y 0
|
---|
117 | Q:'$D(^WV(790.2,Y,0)) 0
|
---|
118 | Q:$P(^WV(790.2,Y,0),U,3)<1 0
|
---|
119 | Q 1
|
---|
120 | ;
|
---|
121 | COLPA(DA) ;EP
|
---|
122 | ;---> LOOK FOR ASSOCIATED COLPOSCOPY, RETURN ITS ACC# AND DATE.
|
---|
123 | N X,Y
|
---|
124 | Q:'$G(DA) ""
|
---|
125 | S Y=$$COLP0(DA)
|
---|
126 | Q:Y="" "None"
|
---|
127 | S X=$P(Y,U)_" on "_$$SLDT2^WVUTL5($P(Y,U,12))
|
---|
128 | I $P(Y,U,5) Q X_"^"_$P(^WV(790.31,$P(Y,U,5),0),U)
|
---|
129 | Q X_"^"_"Not entered"
|
---|
130 | ;
|
---|
131 | COLP0(DA) ;EP
|
---|
132 | ;---> IF THERE IS AN ASSOC'D COLP, RETURN ITS ZERO NODE.
|
---|
133 | N Y
|
---|
134 | Q:'$G(DA) ""
|
---|
135 | Q:'$D(^WV(790.1,DA,0)) ""
|
---|
136 | Q:'$D(^WV(790.1,"ACOLP",DA)) ""
|
---|
137 | S Y=$O(^WV(790.1,"ACOLP",DA,0)),Y=$O(^WV(790.1,"ACOLP",DA,Y,0))
|
---|
138 | Q:'$D(^WV(790.1,Y,0)) ""
|
---|
139 | Q ^WV(790.1,Y,0)
|
---|
140 | ;
|
---|
141 | MARGIN(DA) ;EP
|
---|
142 | ;---> DETERMINE WHETHER THE "MARGINS CLEAR?" QUESTION (PAGE 2 OF
|
---|
143 | ;---> PROCEDURE EDIT) SHOULD BE ASKED FOR THIS PROCEDURE.
|
---|
144 | N Y
|
---|
145 | Q:'$G(DA) 0
|
---|
146 | Q:'$D(^WV(790.1,DA,0)) 0
|
---|
147 | S Y=$P(^WV(790.1,DA,0),U,4)
|
---|
148 | Q:'Y 0
|
---|
149 | Q:'$D(^WV(790.2,Y,0)) 0
|
---|
150 | Q:$P(^WV(790.2,Y,0),U,11)<1 0
|
---|
151 | Q 1
|
---|
152 | ;
|
---|
153 | STAGE(STAGE) ;EP
|
---|
154 | ;---> RETURN THE TEXT OF THE STAGE OF CARCINOMA.
|
---|
155 | Q:'$G(STAGE) ""
|
---|
156 | Q:'$D(^DD(790.1,.31,0)) "^DD MISSING"
|
---|
157 | Q $P($P(^DD(790.1,.31,0),STAGE_":",2),";")
|
---|