1 | ORY216 ;SLC/MKB - Clean-up existing Allergy orders ;3/16/04 14:28
|
---|
2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**216**;Dec 17, 1997
|
---|
3 | ;
|
---|
4 | POST ; -- postinit
|
---|
5 | N ORDG,ORX S ORDG=+$O(^ORD(100.98,"B","ALG",0)) Q:ORDG'>0
|
---|
6 | S $P(^ORD(100.98,ORDG,0),U,4)="" ;clear Default Dialog
|
---|
7 | S ORX("GMRAOR ALLERGY ENTER/EDIT")="" D EN^ORYDLG(216,.ORX)
|
---|
8 | D TASK
|
---|
9 | Q
|
---|
10 | ;
|
---|
11 | TASK ; -- queue job to complete ART orders
|
---|
12 | Q:$G(^XTMP("ORGMRA","PAT"))<0 ;already done
|
---|
13 | N ZTDESC,ZTRTN,ZTIO,ZTSAVE,ZTDTH,ZTSK,ORMSG
|
---|
14 | S ORMSG(1)="A background job has been queued to complete any currently active"
|
---|
15 | S ORMSG(2)="Allergy/Adverse Reaction orders." D MES^XPDUTL(.ORMSG)
|
---|
16 | S ZTDESC="Mark ART orders as complete",ZTRTN="EN^ORY216"
|
---|
17 | S ZTIO="",ZTDTH=$H,ZTSAVE("DUZ")="" D ^%ZTLOAD K ORMSG
|
---|
18 | S ORMSG="Task "_$S($G(ZTSK):"#"_ZTSK,1:"not")_" started."
|
---|
19 | D MES^XPDUTL(ORMSG)
|
---|
20 | I '$G(ZTSK) D BMES^XPDUTL("Use TASK^ORY216 to queue this job to complete ART orders as soon as possible!")
|
---|
21 | Q
|
---|
22 | ;
|
---|
23 | EN ; -- main loop to complete ART orders on:
|
---|
24 | ; ^OR(100,"ACT",ORVP,invORLOG,ORDG,ORIFN)
|
---|
25 | ;
|
---|
26 | N ORDG,ORNOW,ORVP,ORLOG,ORIFN
|
---|
27 | S ORDG=+$O(^ORD(100.98,"B","ALG",0)) Q:ORDG'>0
|
---|
28 | S ORNOW=+$E($$NOW^XLFDT,1,12),ORVP=$G(^XTMP("ORGMRA","PAT")) I '$D(^(0)) D
|
---|
29 | . S ^XTMP("ORGMRA",0)=$$FMADD^XLFDT(ORNOW,90)_U_ORNOW_"^ART orders completion"
|
---|
30 | F S ORVP=$O(^OR(100,"ACT",ORVP)) Q:ORVP="" D Q:$G(ZTSTOP)
|
---|
31 | . S ORLOG=0 F S ORLOG=$O(^OR(100,"ACT",ORVP,ORLOG)) Q:ORLOG'>0 D
|
---|
32 | .. S ORIFN=0 F S ORIFN=+$O(^OR(100,"ACT",ORVP,ORLOG,ORDG,ORIFN)) Q:ORIFN'>0 D
|
---|
33 | ... Q:$P($G(^OR(100,ORIFN,3)),U,3)=2 ;already completed
|
---|
34 | ... D STATUS^ORCSAVE2(ORIFN,2) S $P(^OR(100,ORIFN,6),U,6)=ORNOW
|
---|
35 | . S ^XTMP("ORGMRA","PAT")=ORVP
|
---|
36 | . I $D(ZTQUEUED) S:$$S^%ZTLOAD ZTSTOP=1 Q:$G(ZTSTOP)
|
---|
37 | I '$G(ZTSTOP) S ^XTMP("ORGMRA","PAT")=-1 D MAIL ;done
|
---|
38 | Q
|
---|
39 | ;
|
---|
40 | MAIL ; -- Send completion message to user who initiated conversion
|
---|
41 | N XMSUB,XMTEXT,XMDUZ,XMY,XMZ,XMMG,ORTXT,DIFROM
|
---|
42 | S XMDUZ="PATCH OR*3*216 ART ORDERS COMPLETION",XMY(.5)="" S:$G(DUZ) XMY(DUZ)=""
|
---|
43 | S ORTXT(1)="The task triggered by patch OR*3*216"_$S($G(ZTSK):" (Task #"_ZTSK_")",1:"")_" to complete ART orders"
|
---|
44 | S ORTXT(2)="finished at "_$$FMTE^XLFDT($$NOW^XLFDT)_"."
|
---|
45 | S XMTEXT="ORTXT(",XMSUB="PATCH OR*3*216 ART ORDERS COMPLETED"
|
---|
46 | D ^XMD
|
---|
47 | Q
|
---|