1 | WVLABWP ;HCIOFO/FT-Display Report Data from Lab Package ;4/6/99 14:02
|
---|
2 | ;;1.0;WOMEN'S HEALTH;**6**;Sep 30, 1998
|
---|
3 | ;
|
---|
4 | EN7901 ; Determine which report to show (i.e., Cytology or Surgical Pathology)
|
---|
5 | ; Called from WVPROC
|
---|
6 | D EX^WVRADWP ;kill any previous report text that might be leftover
|
---|
7 | Q:'$G(DA)
|
---|
8 | N LRDFN,LRSS,WVDATE,WVLABACC,WVNODE,WVNODE2
|
---|
9 | S WVNODE=$G(^WV(790.1,+DA,0))
|
---|
10 | Q:WVNODE=""
|
---|
11 | S WVNODE2=$G(^WV(790.1,+DA,2))
|
---|
12 | Q:WVNODE2=""
|
---|
13 | S WVLABACC=$P(WVNODE2,U,17) ;lab accession number (e.g., CY 99 1)
|
---|
14 | Q:WVLABACC=""
|
---|
15 | S WVDATE=$P(WVNODE2,U,19) ;lab accession date (reverse date/time)
|
---|
16 | Q:'WVDATE
|
---|
17 | S LRDFN=$P(WVNODE2,U,18) ;lab patient ien
|
---|
18 | Q:'LRDFN
|
---|
19 | S LRSS=$P(WVNODE2,U,20) ;lab patient subscript
|
---|
20 | Q:LRSS=""
|
---|
21 | D HS
|
---|
22 | Q
|
---|
23 | HS ; Health Summary variable setup
|
---|
24 | N GMTS1,GMTS2,MAX
|
---|
25 | S GMTS1=WVDATE-1,GMTS2=WVDATE+1,MAX=100
|
---|
26 | I LRSS="CY" D CY ;cytology
|
---|
27 | I LRSS="SP" D SP ;surgical pathology
|
---|
28 | K ^TMP("LRA",$J),^TMP("LRCY",$J)
|
---|
29 | Q
|
---|
30 | CY ; Call Health Summary extract routine GMTSLRPE to get cytology data.
|
---|
31 | ; Input: LRDFN - FILE 63 ien
|
---|
32 | ; GMTS1 - reverse start date/time (most recent date)
|
---|
33 | ; GMTS2 - reverse end date/time (least recent date)
|
---|
34 | ; MAX - maximum # of occurences to return
|
---|
35 | ; Returns ^TMP("LRCY",$J)
|
---|
36 | K ^TMP("LRCY",$J)
|
---|
37 | I $T(XTRCT^GMTSLRPE)']"" Q ;HS routine doesn't exist
|
---|
38 | D XTRCT^GMTSLRPE
|
---|
39 | Q:'$D(^TMP("LRCY",$J))
|
---|
40 | D WEEDCY
|
---|
41 | Q:'$D(^TMP("LRCY",$J))
|
---|
42 | D ^WVLABWPC ;move data from HS array to WH array
|
---|
43 | Q
|
---|
44 | WEEDCY ; Weed out reports, save only report for lab accession number
|
---|
45 | ; associated with this WH entry.
|
---|
46 | N WVLOOP
|
---|
47 | S WVLOOP=0
|
---|
48 | F S WVLOOP=$O(^TMP("LRCY",$J,WVLOOP)) Q:'WVLOOP D
|
---|
49 | .I $P($G(^TMP("LRCY",$J,WVLOOP,0)),U,2)'=WVLABACC D
|
---|
50 | ..K ^TMP("LRCY",$J,WVLOOP)
|
---|
51 | ..Q
|
---|
52 | .Q
|
---|
53 | Q
|
---|
54 | SP ; Call Health Summary extract routine GMTSLRAE to get surgical
|
---|
55 | ; pathology data.
|
---|
56 | ; Input: LRDFN - FILE 63 ien
|
---|
57 | ; GMTS1 - reverse start date/time (most recent date)
|
---|
58 | ; GMTS2 - reverse end date/time (least recent date)
|
---|
59 | ; MAX - maximum # of occurences to return
|
---|
60 | ; Returns ^TMP("LRA",$J)
|
---|
61 | K ^TMP("LRA",$J)
|
---|
62 | I $T(XTRCT^GMTSLRAE)']"" Q ;HS routine doesn't exist
|
---|
63 | D XTRCT^GMTSLRAE
|
---|
64 | Q:'$D(^TMP("LRA",$J))
|
---|
65 | D WEEDSP
|
---|
66 | Q:'$D(^TMP("LRA",$J))
|
---|
67 | D ^WVLABWPS ;move data from HS array to WH array
|
---|
68 | Q
|
---|
69 | WEEDSP ; Weed out reports, save only report for lab accession number
|
---|
70 | ; associated with this WH entry.
|
---|
71 | N WVLOOP
|
---|
72 | S WVLOOP=0
|
---|
73 | F S WVLOOP=$O(^TMP("LRA",$J,WVLOOP)) Q:'WVLOOP D
|
---|
74 | .I $P($G(^TMP("LRA",$J,WVLOOP,0)),U,2)'=WVLABACC D
|
---|
75 | ..K ^TMP("LRA",$J,WVLOOP)
|
---|
76 | ..Q
|
---|
77 | .Q
|
---|
78 | Q
|
---|
79 | MAIL(DFN,WVLABAN,WVPROV,LRSS) ; Send mail message to case manager when
|
---|
80 | ; lab test is added to WV LAB TESTS file (#790.08).
|
---|
81 | ; Called from WVLRLINK
|
---|
82 | ; DFN -> Patient ien
|
---|
83 | ; WVLABAN -> Lab Accession# (e.g., CY 99 1)
|
---|
84 | ; WVPROV -> File 200 IEN (provider/requestor)
|
---|
85 | ; LRSS -> File 63 subscript (e.g., CY or SP)
|
---|
86 | Q:'$G(DFN)!($G(WVLABAN)="")!($G(LRSS)="")
|
---|
87 | N WVCMGR,WVLOOP,WVMSG,XMDUZ,XMSUB,XMTEXT
|
---|
88 | S WVCMGR=+$$GET1^DIQ(790,DFN,.1,"I") ;get case manager
|
---|
89 | S:WVCMGR XMY(WVCMGR)=""
|
---|
90 | ; if no case manager, then get default case manager(s)
|
---|
91 | I 'WVCMGR S WVLOOP=0 F S WVLOOP=$O(^WV(790.02,WVLOOP)) Q:'WVLOOP D
|
---|
92 | .S WVCMGR=$$GET1^DIQ(790.02,WVLOOP,.02,"I")
|
---|
93 | .S:WVCMGR XMY(WVCMGR)=""
|
---|
94 | .Q
|
---|
95 | Q:$O(XMY(0))'>0 ;no case manager(s)
|
---|
96 | S XMDUZ=.5 ;message sender
|
---|
97 | S XMSUB="Lab test released for a WH patient"
|
---|
98 | S WVMSG(1)="A "_$S(LRSS="CY":"Cytology ",LRSS="SP":"Surgical Pathology ",1:"")_"lab test was verified for:"
|
---|
99 | S WVMSG(2)=" "
|
---|
100 | S WVMSG(3)=" Patient: "_$P($G(^DPT(DFN,0)),U,1)_" (SSN: "_$$SSN^WVUTL1(DFN)_")"
|
---|
101 | S WVMSG(4)=" LAB Accession #: "_WVLABAN
|
---|
102 | S WVMSG(5)="Test Requestor/Provider: "_$S(+WVPROV:$$GET1^DIQ(200,+WVPROV,.01,"E"),1:"UNKNOWN")
|
---|
103 | S WVMSG(6)=" "
|
---|
104 | S WVMSG(7)="Please use the 'Save Lab Test as Procedure' option in the WOMEN'S"
|
---|
105 | S WVMSG(8)="HEALTH package to save this lab test data as a WH procedure or"
|
---|
106 | S WVMSG(9)="remove it from the list of lab tests to address."
|
---|
107 | S XMTEXT="WVMSG("
|
---|
108 | D ^XMD
|
---|
109 | Q
|
---|
110 | MOVE(WVDFN,WVNODE,WVNIEN) ; Send mail message when a lab accession is
|
---|
111 | ; moved from one patient to another.
|
---|
112 | ; WVDFN -> DFN
|
---|
113 | ; WVNODE -> zero node of File 790.1
|
---|
114 | ; WVNIEN -> ien of File 790.4 entry (i.e., notification entry exists)
|
---|
115 | N WVCMGR,WVLOOP,WVPN,WVMSG
|
---|
116 | N XMDUZ,XMSUB,XMTEXT,XMY
|
---|
117 | S WVCMGR=+$$GET1^DIQ(790,WVDFN,.1,"I") ;get case manager
|
---|
118 | S:WVCMGR XMY(WVCMGR)=""
|
---|
119 | ; if no case manager, then get default case manager(s)
|
---|
120 | I 'WVCMGR S WVLOOP=0 F S WVLOOP=$O(^WV(790.02,WVLOOP)) Q:'WVLOOP D
|
---|
121 | .S WVCMGR=$$GET1^DIQ(790.02,WVLOOP,.02,"I")
|
---|
122 | .S:WVCMGR XMY(WVCMGR)=""
|
---|
123 | .Q
|
---|
124 | Q:$O(XMY(0))'>0 ;no case manager(s)
|
---|
125 | S WVPN=$E($P(WVNODE,U,1),1,2),WVPN=$$PN^WVLRLINK(WVPN) ;procedure name
|
---|
126 | S XMDUZ=.5 ;message sender
|
---|
127 | S XMSUB="Lab Accession Patient Switch"
|
---|
128 | ;
|
---|
129 | S WVMSG(1)="The wrong patient was originally associated with a lab test. That lab test"
|
---|
130 | S WVMSG(2)="was saved as a Women's Health procedure entry. Lab personnel have corrected"
|
---|
131 | S WVMSG(3)="the lab test entry by associating the correct patient to that test."
|
---|
132 | S WVMSG(4)="This message is to inform you that the following Women's Health procedure"
|
---|
133 | S WVMSG(5)="is no longer associated with a lab test."
|
---|
134 | S WVMSG(6)=" "
|
---|
135 | S WVMSG(7)=" Patient: "_$P($G(^DPT(WVDFN,0)),U,1)_" (SSN: "_$$SSN^WVUTL1(WVDFN)_")"
|
---|
136 | S WVMSG(8)=" WH Accession #: "_$P(WVNODE,U,1)_" Procedure Type: "_$S(WVPN]"":WVPN,1:"Unknown")
|
---|
137 | S WVMSG(9)=" "
|
---|
138 | S WVMSG(10)="The RESULT/DIAGNOSIS value for this entry was changed to 'Error/disregard'."
|
---|
139 | S WVMSG(11)="Please use the 'Edit a Procedure' option in the WOMEN'S HEALTH package to"
|
---|
140 | S WVMSG(12)="review this procedure entry and make any necessary changes/notes."
|
---|
141 | I WVNIEN D
|
---|
142 | .S WVMSG(13)=" "
|
---|
143 | .S WVMSG(14)="Also, a notification entry was created for this procedure. Please use the"
|
---|
144 | .S WVMSG(15)="'Edit a Notification' option in the WOMEN'S HEALTH package to edit this"
|
---|
145 | .S WVMSG(16)="notification entry."
|
---|
146 | .Q
|
---|
147 | S XMTEXT="WVMSG("
|
---|
148 | D ^XMD
|
---|
149 | I $D(ZTQUEUED) S ZTREQ="@"
|
---|
150 | Q
|
---|