[613] | 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
|
---|