source: FOIAVistA/trunk/r/ORDER_ENTRY_RESULTS_REPORTING-OR-OCX--ORRC--ORRJ/ORY195A.m@ 1757

Last change on this file since 1757 was 628, checked in by George Lilly, 15 years ago

initial load of FOIAVistA 6/30/08 version

File size: 3.1 KB
Line 
1ORY195A ;SLC/DAN Post-install for patch 195 ;10/7/04 11:49
2 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**195**;Dec 17, 1997
3 ;
4 ;DBIA SECTION
5 ;10063 - %ZTLOAD
6 ;10141 - XPDUTL
7 ;10070 - XMD
8 ;10035 - ^DPT("CN" references
9 ;10061 - VADPT
10 ;
11Q ;Entry point to queue process during install
12 N ZTRTN,ZTDESC,ZTIO,ZTDTH,ZTSK
13 S ZTRTN="DQ^ORY195A",ZTDESC="OR*3*195 LAB CHILD ORDER CHECK ROUTINE",ZTIO="",ZTDTH=$H
14 D ^%ZTLOAD I '$G(ZTSK) D BMES^XPDUTL("POST INSTALL NOT QUEUED - RUN DQ^ORY195A AFTER INSTALL FINISHES") Q
15 D BMES^XPDUTL("Lab Child Order Check queued as task # "_$G(ZTSK))
16 Q
17 ;
18DQ ;
19 D SRCH,MAIL
20 Q
21 ;
22SRCH ;Search for lab orders without locations
23 N LAB,LOC,IEN,CHD,ORD,SUB,ORLIST
24 K ^TMP($J,"TEXT"),^TMP($J,"ERR")
25 S LAB=$O(^ORD(100.98,"B","LAB",0)) Q:'+LAB ;quit if no lab display group
26 S LOC="" F S LOC=$O(^DPT("CN",LOC)) Q:LOC="" S IEN=0 F S IEN=$O(^DPT("CN",LOC,IEN)) Q:'+IEN D
27 .K ^TMP("ORR",$J)
28 .D EN^ORQ1(IEN_";DPT(",LAB,2) ;Get active lab orders
29 .S SUB=0 F S SUB=$O(^TMP("ORR",$J,ORLIST,SUB)) Q:'+SUB S ORD=+^(SUB) I $D(^OR(100,ORD,2)) D
30 ..I '$P(^OR(100,ORD,0),U,17) Q ;Quit if not delayed order
31 ..S CHD=0 F S CHD=$O(^OR(100,ORD,2,CHD)) Q:'+CHD I $P(^OR(100,CHD,0),U,10)="" S ^TMP($J,"ERR",LOC,CHD)=+$P(^OR(100,CHD,0),U,2)
32 K ^TMP("ORR",$J),^TMP($J,"TEXT")
33 Q
34 ;
35MAIL ;Send message with findings
36 N CNT,XMSUB,XMTEXT,XMDUZ,XMY,XMZ,LOC,ORD,DFN,VADM
37 S CNT=1
38 S ^TMP($J,"TEXT",CNT)="The search for active lab orders without a location has finished.",CNT=CNT+1
39 S ^TMP($J,"TEXT",CNT)="",CNT=CNT+1
40 I '$D(^TMP($J,"ERR")) S ^TMP($J,"TEXT",CNT)="No problems were found so no additional work is required.",CNT=CNT+1
41 I $D(^TMP($J,"ERR")) D
42 .S ^TMP($J,"TEXT",CNT)="Complex lab orders (e.g. CBC Q12Hx3) that were delayed were not being",CNT=CNT+1
43 .S ^TMP($J,"TEXT",CNT)="assigned a location upon release. As a result, the lab orders were not",CNT=CNT+1
44 .S ^TMP($J,"TEXT",CNT)="appearing on the lab collection lists.",CNT=CNT+1
45 .S ^TMP($J,"TEXT",CNT)="",CNT=CNT+1
46 .S ^TMP($J,"TEXT",CNT)="The following patients have active lab orders without a location.",CNT=CNT+1
47 .S ^TMP($J,"TEXT",CNT)="It is very likely that these tests have not been done. Please review",CNT=CNT+1
48 .S ^TMP($J,"TEXT",CNT)="each order to ensure that the test has been done. You may need to DC the",CNT=CNT+1
49 .S ^TMP($J,"TEXT",CNT)="existing order and enter a new order so the test appears on the",CNT=CNT+1
50 .S ^TMP($J,"TEXT",CNT)="collection list.",CNT=CNT+1
51 .S ^TMP($J,"TEXT",CNT)="",CNT=CNT+1
52 .S ^TMP($J,"TEXT",CNT)="Please note that existing delayed complex lab orders will release correctly.",CNT=CNT+1
53 .S LOC="" F S LOC=$O(^TMP($J,"ERR",LOC)) Q:LOC="" S ^TMP($J,"TEXT",CNT)="",CNT=CNT+1,^TMP($J,"TEXT",CNT)="Location: "_LOC,CNT=CNT+1,^(CNT)="",CNT=CNT+1 S ORD=0 F S ORD=$O(^TMP($J,"ERR",LOC,ORD)) Q:'+ORD D
54 ..K VADM
55 ..S DFN=^TMP($J,"ERR",LOC,ORD)
56 ..D DEM^VADPT
57 ..S ^TMP($J,"TEXT",CNT)=VADM(1)_" ("_$E(+VADM(2),6,9)_") ORDER #: "_ORD,CNT=CNT+1,^TMP($J,"TEXT",CNT)=" ORDER TEXT: "_$G(^OR(100,ORD,8,1,.1,1,0)),CNT=CNT+1
58 S XMDUZ="PATCH OR*3*195 LAB CHILD ORDERS CHECK",XMY(.5)="" S:$G(DUZ) XMY(DUZ)=""
59 S XMTEXT="^TMP($J,""TEXT"",",XMSUB="PATCH OR*3*195 Lab Order Check COMPLETED"
60 D ^XMD
61 Q
Note: See TracBrowser for help on using the repository browser.