source: WorldVistAEHR/trunk/r/VDEF-VDEF/VDEFMNU.m@ 1579

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

initial load of WorldVistAEHR

File size: 6.7 KB
RevLine 
[613]1VDEFMNU ;INTEGIC/YG & BPOIFO/JG - Edit VDEF parameters & status ; 20 Dec 2005 12:57 PM
2 ;;1.0;VDEF;**3**;Dec 28, 2004;
3 ;Per VHA Directive 2004-038, this routine should not be modified.
4 ;
5 ; IA's: #4322 - ^HLCS(870,<link>,0)
6 ; #1373 - Lookup to file #101
7 ; #10063 - $$JOB^%ZTLOAD
8 ;
9 Q ; No bozos
10 ;
11SITE ; Edit Site-Wide Parameters
12 N DA,DIC,DIE,DR S DIE=579.5,DA=1,DR=".01;.02;" D ^DIE
13 Q
14 ;
15REQUEST ; Edit Request Queue Parameters
16 N DIC,DLAYGO,X,Y,DIE,DA,DR
17REQUEST1 K DIC S DIC=579.3,DIC(0)="AQE",DIC("A")="Select Request Queue: " W ! D ^DIC Q:Y=-1
18 K DIC S DIE=579.3,DA=$P(Y,U),DR=".04;.05;.02" D ^DIE
19 G REQUEST1
20 ;
21REQOFF ; Toggle Requestor On/Off
22 N DIC,DLAYGO,X,Y,DIE,DA,DR
23REQOFF1 K DIC S DIC=579.1,DIC(0)="AQE",DIC("A")="Select Requestor: " W ! D ^DIC Q:Y=-1
24 I $$GET1^DIQ(579.1,$P(Y,U)_",",.05,"I")="A" D
25 . W !,!,"Inactivating a requestor has a significant effect on the synchronization"
26 . W !,"of VistA and remote system(s). All VDEF requests made while the requestor"
27 . W !,"is inactive will be PERMANENTLY lost. Make sure you really want to"
28 . W !,"turn it off.",!
29 K DIC S DIE=579.1,DA=$P(Y,U),DR=".05" D ^DIE
30 G REQOFF1
31 ;
32QUEOFF ; Toggle Request Processor Queue on/off
33 N DIC,DLAYGO,X,Y,DIE,DA,DR,QUEUE,STAT,TMTASK
34QUEOFF1 K DIC S DIC=579.3,DIC(0)="AQE",DIC("A")="Select Request Queue: " W ! D ^DIC Q:Y=-1
35 K DIC S QUEUE=$P(Y,U) S DIE=579.3,DA=QUEUE,DR=".09" D ^DIE
36 ;
37 ; Get the new status of the Request Processor
38 S STAT=$$GET1^DIQ(579.3,QUEUE_",",.09,"I")
39 ;
40 ; Start the Request Processor
41 I STAT="R" D REQ^VDEFCONT(QUEUE)
42 ;
43 ; Stop the Request Processor
44 I STAT="S" D
45 . S TMTASK=$$GET1^DIQ(579.3,QUEUE_",",.08,"I") S:TMTASK'="" X=$$ASKSTOP^%ZTLOAD(TMTASK)
46 . S TMTASK=$$GET1^DIQ(579.3,QUEUE_",",.11,"I") S:TMTASK'="" X=$$ASKSTOP^%ZTLOAD(TMTASK)
47 G QUEOFF1
48 ;
49SCHED ; Schedule processor
50 N DIC,DLAYGO,X,Y,SIEN,DIE,DA,DR,QUEUE,STAT,TMTASK,ENTRY
51SCHED1 K DIC S DIC=579.3,DIC(0)="AQE",DIC("A")="Select Request Queue: " W ! D ^DIC Q:Y=-1
52 K DIC S QUEUE=$P(Y,U) D DISP S DA(1)=QUEUE,DIC="^VDEFHL7(579.3,"_QUEUE_",2,"
53 S DIC(0)="AQEL",DIC("A")="Select Entry: " D ^DIC G SCHED1:Y=-1
54 S ENTRY=$P(Y,U),DIE=DIC,DA=ENTRY
55 S DR=".01;.02;.03;D SCHFORM^VDEFMNU;.04;D SCHFORM^VDEFMNU;.05" D ^DIE
56 W ! D DISP
57 ;
58 ; Now reschedule the processor task back
59 S ZTSK=$P(^VDEFHL7(579.3,QUEUE,0),U,8) D ISQED^%ZTLOAD
60 ;
61 ; If old task not found or not running, start it.
62 I $G(ZTSK("E"))'="" D REQ^VDEFCONT(QUEUE) G SCHED1
63 I ZTSK(0)=0 D REQ^VDEFCONT(QUEUE) G SCHED1
64 ;
65 ; Task is scheduled, so reschedule it.
66 K ZTDESC,ZTIO,ZTRTN,ZTSAVE S ZTDTH=$H D REQ^%ZTLOAD
67 G SCHED1
68 ;
69SCHFORM W !,"Enter time in military form as HH:MM"
70 Q
71 ;
72DISP ; Display scheduling rules.
73 I '$O(^VDEFHL7(579.3,QUEUE,2,0)) W !,"No Scheduling Rules currently defined for this queue"
74 E S SIEN=0 D
75 . W !,"Currently defined Scheduling Rules are :"
76 . F S SIEN=$O(^VDEFHL7(579.3,QUEUE,2,SIEN)) Q:'SIEN D
77 .. W !,$$GET1^DIQ(579.32,SIEN_","_QUEUE_",",.01,"E")
78 .. W ") On ",$$GET1^DIQ(579.32,SIEN_","_QUEUE_",",.02,"E")
79 .. W " the request processor is "
80 .. S STAT=$$GET1^DIQ(579.32,SIEN_","_QUEUE_",",.03,"E")
81 .. W STAT," from ",$$GET1^DIQ(579.32,SIEN_","_QUEUE_",",.04,"I")
82 .. W " to ",$$GET1^DIQ(579.32,SIEN_","_QUEUE_",",.05,"I")
83 Q
84 ;
85CUSTOD ; Edit Custodial Package Status
86 N DIC,DLAYGO,X,Y,DIE,DA,DR,PACK
87CUSTOD1 K DIC S DIC=579.6,DIC(0)="AQE",DIC("A")="Select Custodial Package: "
88 W ! D ^DIC Q:Y=-1 S PACK=$P(Y,U)
89 I $P(Y,U,2)="REGISTRATION" D G CUSTOD1
90 . W !,"Registration custodial package can't be edited"
91 I $$GET1^DIQ(579.6,PACK_",",.02,"I")="A" D
92 . W !!,"Inactivating a custodial package has a significant effect on the"
93 . W !,"synchronization of VistA and remote system(s). All VDEF requests for HL7"
94 . W !,"messages associated with this custodial package made while the package is"
95 . W !,"inactivated will be PERMANENTLY lost. Make sure you really want to turn"
96 . W !,"this custodial package off.",!
97 K DIC S DIE=579.6,DA=PACK,DR=".02" D ^DIE
98 G CUSTOD1
99 ;
100EVENT ; Edit VDEF API Event Status
101 N DIC,DLAYGO,X,Y,DIE,DA,DR,EVENT
102EVENT1 K DIC S DIC("W")="N Z,DESC S Z=^(0),DESC=$G(^(1)) W:$P(Z,U,9)'="""" DESC_"" ""_""Status: ""_$S($P(Z,U,11)=""A"":""ACTIVE"",1:""INACTIVE""),!,?8,""Pkg: ""_$P($G(^DIC(9.4,$P($G(^VDEFHL7(579.6,$P(Z,U,9),0),-1),U),0)),U)"
103 S DIC=577,DIC(0)="AQES",DIC("A")="Select VDEF API Event: "
104 W ! D ^DIC Q:Y=-1 S EVENT=$P(Y,U)
105 I $$GET1^DIQ(577,EVENT_",",.2,"I")="A" D
106 . W !!,"Inactivating a VDEF API event will cause all requests for that"
107 . W !,"API to be PERMANENTLY lost. Make sure you really want to turn"
108 . W !,"this API event off.",!
109 K DIC S DIE=577,DA=EVENT,DR=".2" D ^DIE
110 G EVENT1
111 ;
112REPORT ; Display VDEF status/parameters
113 N LL,LLN,SUBS,LINX,TNN,TNF,IEN,NZ,VDI,VDJ,VDK,VDA,PROT,STATS,%H,Y
114REPORT1 W @IOF,?22,"VDEF Status - " S %H=$H D YX^%DTC W Y
115 W !,"Logical Link Status" K LINX
116 S VDI=0 F S VDI=$O(^VDEFHL7(577,VDI)) Q:VDI="" D
117 . K RES S PROT=$P($G(^VDEFHL7(577,VDI,0)),U,7) Q:PROT=""
118 . D GETS^DIQ(101,PROT_",","775*","I","RES")
119 . S VDJ=0 F S VDJ=$O(RES(101.0775,VDJ)) Q:VDJ="" D
120 .. S SUBS=RES(101.0775,VDJ,.01,"I")
121 .. I SUBS S LLN=$$GET1^DIQ(101,SUBS_",",770.7,"E") I LLN'="" S LINX(LLN)=1
122 S LLN=0 F S LLN=$O(LINX(LLN)) Q:LLN="" D
123 . W !?2,LLN,": " S LL=$O(^HLCS(870,"B",LLN,"")) Q:LL=""
124 . N ZTSK S ZTSK=$P($G(^HLCS(870,LL,0)),U,12)
125 . I ZTSK'="" D STAT^%ZTLOAD W:$G(ZTSK(1))=2 "running task #",ZTSK K ZTSK
126 . E W "stopped or caught up"
127 W !!,"Requestor Status"
128 S IEN=0 F S IEN=$O(^VDEFHL7(579.1,IEN)) Q:'IEN D
129 . S NZ=^VDEFHL7(579.1,IEN,0) W !?2,$P(NZ,U),": "
130 . W $S($P(NZ,U,5)="A":"Activated",1:"Inactivated")
131 . W ?32,"Dest.: ",$P(^VDEFHL7(579.2,$P(NZ,U,3),0),U)
132 . W ?52,"Req. Queue: ",$P(^VDEFHL7(579.3,$P(NZ,U,4),0),U,1)
133 W !!,"Request Processor Status"
134 S IEN=0 F S IEN=$O(^VDEFHL7(579.3,IEN)) Q:'IEN D
135 . S NZ=^VDEFHL7(579.3,IEN,0) W !?2,$P(NZ,U),": "
136 . W $S($P(NZ,U,9)="R":"Running",1:"Suspended")
137 . N ZTSK S TNN=$P(NZ,U,11),ZTSK=TNN D STAT^%ZTLOAD
138 . W !?2,"Current Task # [Proc]: ",TNN
139 . W " ["_$$CNV^XLFUTL($$JOB^%ZTLOAD(TNN),16)_"]"
140 . W " Task status: "
141 . I 'ZTSK(0) W "Undefined"
142 . E W $S(ZTSK(1)=0:"Undefined",ZTSK(1)=1:"Active-Pending",ZTSK(1)=2:"Active-Running",ZTSK(1)=3:"Finished",ZTSK(1)=4:"Available",ZTSK(1)=5:"Interrupted",1:"Unknown")
143 . S NZ=$G(^VDEFHL7(579.3,IEN,1,0))
144 . I NZ="" W !?2,"No requests in the queue"
145 . E W !?2,"Requests waiting for purge: ",$P(NZ,U,4)," Last request#: ",$P(NZ,U,3)
146 . S STATS="" W !?2
147 . F STAT="C","Q","E" D
148 .. S (VDJ,VDK)=0 F VDJ=0:1:100+(STAT="Q"*900) S VDK=$O(^VDEFHL7(579.3,"C",STAT,IEN,VDK)) Q:VDK=""
149 .. W $S(STAT="C":"Checked Out",STAT="Q":" Queued Up",STAT="E":" Errored Out")
150 .. W $S(VDJ<(100+(STAT="Q"*900)):"("_VDJ_")",1:"(> "_(100+(STAT="Q"*900))_")")
151 ;
152 ; Loop added for dashboard monitoring
153 R !!,"Hit <return/enter> to continue or '^' to terminate: ",VDA:5
154 Q:VDA="^" G REPORT1
Note: See TracBrowser for help on using the repository browser.