[613] | 1 | ORY260 ; SLC/STAFF - Patch OR*3.0*260 post init ;8/21/06 13:13
|
---|
| 2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**260**;Dec 17, 1997;Build 26
|
---|
| 3 | POST ; post-init to patch OR*3.0*260
|
---|
| 4 | ; fix any string formatted date/times in CR index
|
---|
| 5 | ; remove Treatment type from graphing
|
---|
| 6 | N DA,DIR,ORMSG,ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE K DIR,ORMSG
|
---|
| 7 | S ORMSG(1)="A task is being queued in the background to identify"
|
---|
| 8 | S ORMSG(2)="any Start or Start dates where times have trailing zeros."
|
---|
| 9 | S ORMSG(3)=""
|
---|
| 10 | S ORMSG(4)="These indexes will be reset with the correct canonic"
|
---|
| 11 | S ORMSG(5)="values by this background job. A mail message will be"
|
---|
| 12 | S ORMSG(6)="sent to the initiator of this patch at completion."
|
---|
| 13 | S ORMSG(7)=""
|
---|
| 14 | S ORMSG(8)=""
|
---|
| 15 | S ZTRTN="DQ^ORY260",ZTIO=""
|
---|
| 16 | S ZTDESC="Clean up - Patch 260",ZTDTH=$H,ZTSAVE("DUZ")=""
|
---|
| 17 | D ^%ZTLOAD
|
---|
| 18 | S ORMSG(9)="The task number is "_$G(ZTSK)
|
---|
| 19 | D MES^XPDUTL(.ORMSG) I '$D(ZTQUEUED) D
|
---|
| 20 | . N DIR,Y
|
---|
| 21 | . S DIR(0)="E",DIR("A")="Press return - installation is complete."
|
---|
| 22 | . D ^DIR
|
---|
| 23 | Q
|
---|
| 24 | ;
|
---|
| 25 | DQ ; dequeued
|
---|
| 26 | N BEGIN,CNT,DFN,ITEM,NODE,OK,START,STOP K ^TMP("ORPXRM",$J),^TMP("ORTXT",$J)
|
---|
| 27 | S BEGIN=$$NOW^XLFDT
|
---|
| 28 | S CNT=0
|
---|
| 29 | S DFN=0
|
---|
| 30 | F S DFN=$O(^PXRMINDX(100,"PI",DFN)) Q:DFN<1 D
|
---|
| 31 | . S ITEM=0
|
---|
| 32 | . F S ITEM=$O(^PXRMINDX(100,"PI",DFN,ITEM)) Q:ITEM<1 D
|
---|
| 33 | .. S START=""
|
---|
| 34 | .. F S START=$O(^PXRMINDX(100,"PI",DFN,ITEM,START)) Q:START="" D
|
---|
| 35 | ... S STOP=""
|
---|
| 36 | ... F S STOP=$O(^PXRMINDX(100,"PI",DFN,ITEM,START,STOP)) Q:STOP="" D
|
---|
| 37 | .... S OK=1
|
---|
| 38 | .... I START'=+START S OK=0
|
---|
| 39 | .... I OK,$E(STOP)'="U",STOP'=+STOP S OK=0
|
---|
| 40 | .... I OK Q
|
---|
| 41 | .... S NODE=""
|
---|
| 42 | .... F S NODE=$O(^PXRMINDX(100,"PI",DFN,ITEM,START,STOP,NODE)) Q:NODE="" D
|
---|
| 43 | ..... S ^TMP("ORPXRM",$J,NODE)=DFN_U_ITEM_U_START_U_STOP
|
---|
| 44 | ..... S CNT=CNT+1
|
---|
| 45 | ..... ;W !,NODE,?20,$P($G(^OR(100,+NODE,0)),U,8),?35,$P($G(^OR(100,+NODE,0)),U,9),?55,START
|
---|
| 46 | S ^TMP("ORTXT",$J,4)="-- "_CNT_" nodes to check --" ; overwrite on finish
|
---|
| 47 | S ^TMP("ORTXT",$J,5)=" "
|
---|
| 48 | S CNT=5
|
---|
| 49 | S NODE=""
|
---|
| 50 | F S NODE=$O(^TMP("ORPXRM",$J,NODE)) Q:NODE="" D
|
---|
| 51 | . D FIX(NODE,.CNT)
|
---|
| 52 | S ^TMP("ORTXT",$J,4)="-- "_(CNT-5)_" changes made --"
|
---|
| 53 | K ^TMP("ORPXRM",$J)
|
---|
| 54 | D TREMOVE("ORWG GRAPH VIEW") ; removes treatment type from graphing
|
---|
| 55 | D MAIL(BEGIN)
|
---|
| 56 | K ^TMP("ORTXT",$J)
|
---|
| 57 | Q
|
---|
| 58 | ;
|
---|
| 59 | FIX(NODE,CNT) ;
|
---|
| 60 | N DA,DATE1,DATE2,DFN,DIE,DR,ITEM,LINE,START,STOP,VALUES,ZERO
|
---|
| 61 | S VALUES=$G(^TMP("ORPXRM",$J,NODE))
|
---|
| 62 | S DFN=$P(VALUES,U)
|
---|
| 63 | S ITEM=$P(VALUES,U,2)
|
---|
| 64 | S DATE1=$P(VALUES,U,3)
|
---|
| 65 | S DATE2=$P(VALUES,U,4)
|
---|
| 66 | K ^PXRMINDX(100,"PI",DFN,ITEM,DATE1,DATE2,NODE)
|
---|
| 67 | K ^PXRMINDX(100,"IP",ITEM,DFN,DATE1,DATE2,NODE)
|
---|
| 68 | S DIE="^OR(100,"
|
---|
| 69 | S DA=+NODE
|
---|
| 70 | S ZERO=$G(^OR(100,DA,0))
|
---|
| 71 | S START=+$P(ZERO,U,8) I START=0 S START="@"
|
---|
| 72 | S STOP=+$P(ZERO,U,9) I STOP=0 S STOP="@"
|
---|
| 73 | S DR=""
|
---|
| 74 | I START'=DATE1 S DR="21///"_START
|
---|
| 75 | I START="@",$P(ZERO,U,8)="" S DR=""
|
---|
| 76 | I STOP'=DATE2 D
|
---|
| 77 | . I STOP="@",$E(DATE2)="U" Q
|
---|
| 78 | . I $L(DR) S DR=DR_";22///"_STOP Q
|
---|
| 79 | . S DR="22///"_STOP Q
|
---|
| 80 | I '$L(DR) Q
|
---|
| 81 | S LINE="Node: "_NODE
|
---|
| 82 | I DR["21///" S LINE=LINE_"; Start: "_DATE1_" -> "_START
|
---|
| 83 | I DR["22///" S LINE=LINE_"; Stop: "_DATE2_" -> "_STOP
|
---|
| 84 | D ^DIE
|
---|
| 85 | S CNT=CNT+1
|
---|
| 86 | S ^TMP("ORTXT",$J,CNT)=LINE
|
---|
| 87 | Q
|
---|
| 88 | ;
|
---|
| 89 | TREMOVE(PARAM) ;
|
---|
| 90 | N ENTITY,INST,LINES,OK,VALUES K LINES,VALUES
|
---|
| 91 | D XENVAL^ORWGAPIX(.VALUES,PARAM)
|
---|
| 92 | I '$L($O(VALUES(""))) Q
|
---|
| 93 | S ENTITY=""
|
---|
| 94 | F S ENTITY=$O(VALUES(ENTITY)) Q:ENTITY="" D
|
---|
| 95 | . S INST=""
|
---|
| 96 | . F S INST=$O(VALUES(ENTITY,INST)) Q:INST="" D
|
---|
| 97 | .. D XGETWP^ORWGAPIX(.LINES,ENTITY,PARAM,INST)
|
---|
| 98 | .. D FIXLINES(.LINES,.OK)
|
---|
| 99 | .. I 'OK D FIXIT(.LINES,ENTITY,PARAM,INST)
|
---|
| 100 | Q
|
---|
| 101 | ;
|
---|
| 102 | FIXLINES(LINES,OK) ;
|
---|
| 103 | N I,LINE,NLINE,NLINES,NNUM,NUM,PART K NLINES
|
---|
| 104 | S OK=1,NNUM=0
|
---|
| 105 | S NUM=0
|
---|
| 106 | F S NUM=$O(LINES(NUM)) Q:NUM<1 D
|
---|
| 107 | . S LINE=$G(LINES(NUM,0))
|
---|
| 108 | . I '$L(LINE) Q
|
---|
| 109 | . S NLINE=LINE
|
---|
| 110 | . I LINE["~9000010.15" D
|
---|
| 111 | .. S NLINE="",OK=0
|
---|
| 112 | .. F I=1:1:999 S PART=$P(LINE,"|",I) Q:PART="" D
|
---|
| 113 | ... I PART["~9000010.15" Q
|
---|
| 114 | ... S NLINE=NLINE_PART_"|"
|
---|
| 115 | . I NLINE="" Q
|
---|
| 116 | . S NNUM=NNUM+1
|
---|
| 117 | . S NLINES(NNUM,0)=NLINE
|
---|
| 118 | I OK Q
|
---|
| 119 | K LINES
|
---|
| 120 | M LINES=NLINES
|
---|
| 121 | Q
|
---|
| 122 | ;
|
---|
| 123 | FIXIT(LINES,ENTITY,PARAM,INST) ;
|
---|
| 124 | D XDEL^ORWGAPIX(ENTITY,PARAM,INST)
|
---|
| 125 | I $L($O(LINES(""))) D XEN^ORWGAPIX(ENTITY,PARAM,INST,.LINES)
|
---|
| 126 | Q
|
---|
| 127 | ;
|
---|
| 128 | MAIL(BEGIN) ; -- Send completion message to user who initiated cleanup
|
---|
| 129 | N TIMES,XMSUB,XMTEXT,XMDUN,XMDUZ,XMY,XMZ K XMY
|
---|
| 130 | S XMDUZ="PATCH OR*3.0*260 CLEAN-UP",XMY(.5)="" S:$G(DUZ) XMY(DUZ)=""
|
---|
| 131 | S TIMES="Started: "_$$FMTE^XLFDT(BEGIN)_"; Completed: "_$$FMTE^XLFDT($$NOW^XLFDT)_"."
|
---|
| 132 | S ^TMP("ORTXT",$J,1)="Clean up for patch OR*3.0*260"
|
---|
| 133 | S ^TMP("ORTXT",$J,2)=TIMES
|
---|
| 134 | S ^TMP("ORTXT",$J,3)="Order Node Date Cleanup:"
|
---|
| 135 | S XMTEXT="^TMP(""ORTXT"","_$J_","
|
---|
| 136 | S XMSUB="PATCH OR*3.0*260 Clean Up COMPLETED"
|
---|
| 137 | D ^XMD
|
---|
| 138 | Q
|
---|