1 | ORY195A ;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 | ;
|
---|
11 | Q ;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 | ;
|
---|
18 | DQ ;
|
---|
19 | D SRCH,MAIL
|
---|
20 | Q
|
---|
21 | ;
|
---|
22 | SRCH ;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 | ;
|
---|
35 | MAIL ;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
|
---|