1 | WVUTL2 ;HCIOFO/FT,JR IHS/ANMC/MWR - UTIL: ZIS, XREF, PROSCREEN; ;9/1/98 11:37
|
---|
2 | ;;1.0;WOMEN'S HEALTH;;Sep 30, 1998
|
---|
3 | ;;* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
|
---|
4 | ;; UTILITY: ZIS, MUMPS XREFS ON NORMAL/ABNORMAL AND ON STATUS.
|
---|
5 | ;; PROCSCRN-SCREEN ON RESULT/DIAGNOSIS BASED ON PROCEDURE.
|
---|
6 | ;
|
---|
7 | ;
|
---|
8 | ZIS(WVPOP,WVQUE,WVDEF,WVPRMPT,WVMES) ;EP
|
---|
9 | ;---> CALL TO ^%ZIS
|
---|
10 | ;---> PARAMETERS:
|
---|
11 | D ; 1 - WVPOP (RETURNED) WVPOP=1 IF POP=1 (FAIL OR QUIT).
|
---|
12 | ; 2 - WVQUE=1 (OPTIONAL) SET=1 IF JOB SHOULD WV QUEUEABLE.
|
---|
13 | ; 3 - WVDEF=DEFAULT (OPTIONAL) IF EXISTS, EQUALS DEFAULT DEVICE.
|
---|
14 | ; 4 - WVPRMPT (OPTIONAL) IF EXISTS, EQUALS PROMPT.
|
---|
15 | ; 5 - WVMES (OPTIONAL) A MESSAGE TO DISPLAY IF QUEUED.
|
---|
16 | ;
|
---|
17 | ;---> EXAMPLE: D ZIS^WVUTL2(.WVPOP,1,"HOME")
|
---|
18 | ;
|
---|
19 | ZIS1 ;EP FOR LOOP BACK FROM FAILED WVQUE.
|
---|
20 | S WVPOP=0
|
---|
21 | ;
|
---|
22 | ;---> WVPRMPT=WVPRMPT.
|
---|
23 | S %ZIS("A")=$S($D(WVPRMPT):WVPRMPT,1:" Select DEVICE: ")
|
---|
24 | ;
|
---|
25 | ;---> WVDEF=DEFAULT PRINTER.
|
---|
26 | ;---> IF NO WVDEF, SET WVDEF="P" FOR CLOSEST PRINTER.
|
---|
27 | D
|
---|
28 | .I '$D(WVDEF) S %ZIS="P" Q
|
---|
29 | .S %ZIS("B")=WVDEF,%ZIS=""
|
---|
30 | ;
|
---|
31 | ;---> IF WVQUE=1,JOB MAY BE QUEUED.
|
---|
32 | I $G(WVQUE)]"" I WVQUE S %ZIS=%ZIS_"Q"
|
---|
33 | ;
|
---|
34 | W ! D ^%ZIS S:POP WVPOP=1
|
---|
35 | ;---> QUIT IF WVPOP (DUOUT OR DTOUT) OR IF NOT WVQUED.
|
---|
36 | G:WVPOP!('$D(IO("Q"))) ZISEXIT
|
---|
37 | ;
|
---|
38 | I IO=IO(0) W !?5,"Cannot queue to screen or slave printer!",! G ZIS1
|
---|
39 | ;
|
---|
40 | ;---> NEXT LINE: LINE LABEL "ZISQ" ADDED FOR ENTRY WHERE DEVICE
|
---|
41 | ;---> INFO HAS ALREADY BEEN ASKED AND USER WVQUED OUTPUT.
|
---|
42 | ZISQ ;EP
|
---|
43 | ;---> NEXT LINES: JOB WAS QUEUED, THEREFORE SET WVPOP=1 SO THAT THE
|
---|
44 | ;---> CALLING ROUTINE WILL QUIT (AND LET TASKMAN FINISH THIS JOB).
|
---|
45 | S WVPOP=1
|
---|
46 | I '$D(ZTRTN) D G ZISEXIT
|
---|
47 | .W !?5,*7,"NO ROUTINE NAMED FOR QUEUEING -- CONTACT PROGRAMMER."
|
---|
48 | I '$D(ZTDESC) S ZTDESC=ZTRTN
|
---|
49 | S WVMES=$S($D(WVMES):WVMES,1:"W !?5,""Request Queued."",!")
|
---|
50 | ;
|
---|
51 | S ZTIO=$S($D(ION):ION,1:"")
|
---|
52 | I ZTIO]"" D
|
---|
53 | .I $D(IO("DOC")) S ZTIO=ZTIO_";"_IOST_";"_IO("DOC") Q
|
---|
54 | .S ZTIO=ZTIO_";"_IOST_";"_IOM_";"_IOSL
|
---|
55 | S ZTDTH=$H
|
---|
56 | D ^%ZTLOAD,^%ZISC
|
---|
57 | ;---> SET WVPOP=1 TO TELL CALLING ROUTINE TO QUIT (LET TASKMAN FINISH).
|
---|
58 | S WVPOP=1
|
---|
59 | X:$D(ZTSK) WVMES H 2
|
---|
60 | ;
|
---|
61 | ZISEXIT ;EP
|
---|
62 | K WVMES,ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE,ZTSK
|
---|
63 | Q
|
---|
64 | ;
|
---|
65 | ;
|
---|
66 | XREFP05 ;EP
|
---|
67 | ;---> CALLED BY MUMPS "ABNML" XREF ON FIELD .05 IN FILE 790.1.
|
---|
68 | ;---> REINDEX RESULTS FIELD .05 IN WV PROCEDURE FILE, BY DATE
|
---|
69 | ;---> (PIECE 12), WHEN RESULT/DIAGNOSIS IS "ABNORMAL" (AS STORED IN
|
---|
70 | ;---> PIECE 21 OF THE POINTED TO WV RESULTS/DIAGNOSIS ENTRY).
|
---|
71 | ;---> X=IEN WV RESULT/DIAGNOSIS, DA=ENTRY IN WV PROCEDURE FILE.
|
---|
72 | Q:'$P(^WV(790.1,DA,0),U,12)
|
---|
73 | I $P(^WV(790.31,X,0),U,21) S ^WV(790.1,"ABNML",$P(^WV(790.1,DA,0),U,12),DA)="" Q
|
---|
74 | K ^WV(790.1,"ABNML",$P(^WV(790.1,DA,0),U,12),DA)
|
---|
75 | Q
|
---|
76 | ;
|
---|
77 | XREFP12 ;EP
|
---|
78 | ;---> CALLED BY MUMPS "ABNML1" XREF ON FIELD .12 IN FILE 790.1.
|
---|
79 | ;---> LOGIC TO REINDEX RESULTS FIELD .05 IN WV PROCEDURE FILE WHEN
|
---|
80 | ;---> DATE OF PROCEDURE .12 FIELD IS CHANGED. X=NEWDATE, DA=ENTRY.
|
---|
81 | ;---> SEE XREFP05 ABOVE.
|
---|
82 | I '$P(^WV(790.1,DA,0),U,5) S ^WV(790.1,"ABNML",X,DA)="" Q
|
---|
83 | I $P(^WV(790.31,$P(^WV(790.1,DA,0),U,5),0),U,21) S ^WV(790.1,"ABNML",X,DA)="" Q
|
---|
84 | K ^WV(790.1,"ABNML",X,DA)
|
---|
85 | Q
|
---|
86 | ;
|
---|
87 | REXREFN ;EP
|
---|
88 | ;---> CALLED BY MUMPS XREF ON FIELD .02 IN FILE 790.4.
|
---|
89 | ;---> LOGIC TO REINDEX STATUS FIELD .14 IN WV NOTIFICATION FILE
|
---|
90 | ;---> WHEN DATE NOTIFICATION OPENED .02 FIELD IS CHANGED.
|
---|
91 | ;---> X=NEWDATE, DA=ENTRY.
|
---|
92 | ;---> NOTE: IF STATUS IS NULL XREF FOR "AOPEN" GETS SET HERE.
|
---|
93 | I $P(^WV(790.4,DA,0),U,2) K ^WV(790.4,"AOPEN",$P(^(0),U,2),DA)
|
---|
94 | I "o"[$P(^WV(790.4,DA,0),U,14) S ^WV(790.4,"AOPEN",X,DA)=""
|
---|
95 | Q
|
---|
96 | ;
|
---|
97 | ;
|
---|
98 | PROCSCRN ;EP
|
---|
99 | ;---> SCREEN WHEN SELECTING RESULTS/DIAGNOSIS FOR PROCEDURES.
|
---|
100 | ;---> CALLED BY DIC("S")="D PROCSCRN^WVUTL2" IN SCREEN FOR SEVERAL
|
---|
101 | ;---> FIELDS IN WV PROCEDURE FILE.
|
---|
102 | ;---> REQUIRED VARIABLES: WVPN=IEN OF PROCEDURE TYPE
|
---|
103 | ;---> Y=IEN OF RES/DIAG BEING SCREENED
|
---|
104 | ;---> EACH LINE MAKES THE RES/DIAG AVAILABLE FOR SELECTION IF:
|
---|
105 | ;---> 1ST LINE: IF SCREEN VARIABLES ARE UNDEFINED (IE, ALL SELECTABLE).
|
---|
106 | ;---> 2ND LINE: IF RES/DIAG IS FOR ALL & THIS PROCEDURE IS NOT EXCLUDED
|
---|
107 | ;---> 3RD LINE: IF A "P" XREF FOR THIS PROCEDURE AND RES/DIAG EXISTS.
|
---|
108 | ;---> 4TH LINE: OTHERWISE RES/DIAG FAILS SCREEN AND IS NOT SELECTABLE.
|
---|
109 | Q:'$D(WVPN)!('$D(Y))
|
---|
110 | Q:$P(^WV(790.31,Y,0),U,20)
|
---|
111 | Q:$D(^WV(790.31,"P",WVPN,Y))
|
---|
112 | I 0
|
---|
113 | Q
|
---|
114 | ;
|
---|
115 | PAPSCRN ;EP
|
---|
116 | ;---> SCREEN CALLED BY FILEMAN ^DD(790.1,.3
|
---|
117 | ;---> SCREEN WHEN SELECTING THE PAP THAT INITIATED THIS COLPOSCOPY.
|
---|
118 | ;---> CALLED BY DIC("S")="D PAPSCRN^WVUTL2" IN FIELD .3 OF
|
---|
119 | ;---> WV PROCEDURE FILE: FIRST CHECK IF THE PROCEDURE IS FOR THIS
|
---|
120 | ;---> PATIENT, THEN MAKE SURE IT'S A PAP.
|
---|
121 | Q:$P(^(0),U,2)=WVDFN&($P(^(0),U,4)=1)
|
---|
122 | I 0
|
---|
123 | Q
|
---|
124 | ;
|
---|