268 lines
8.1 KiB
Mathematica
268 lines
8.1 KiB
Mathematica
KMPDSSD ;OAK/RAK - CM Tools Status ;2/14/05 11:42
|
|
;;2.0;CAPACITY MANAGEMENT TOOLS;**3**;Mar 22, 2002
|
|
;
|
|
FORMAT(KMPDLN) ;-format text for display
|
|
;-----------------------------------------------------------------------------
|
|
; KMPDLN.... return number of lines - called by reference
|
|
;-----------------------------------------------------------------------------
|
|
;
|
|
Q:$G(KMPDNMSP)=""
|
|
;
|
|
N LN,VERSION,X S LN=0 K TMP
|
|
;
|
|
; if no kmpdutl routine
|
|
S X="KMPDUTL" X ^%ZOSF("TEST") I '$T D Q
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN,"The CM Tools Package is not installed!")
|
|
;
|
|
; version data
|
|
S VERSION=$$VERSION^KMPDUTL
|
|
;
|
|
; option data
|
|
D OPT("KMPD BACKGROUND DRIVER")
|
|
;
|
|
; bacground data
|
|
D BKGRND
|
|
;
|
|
; file data
|
|
D FILES
|
|
;
|
|
; routine version check
|
|
D ROUCHK^KMPDSSD1("D")
|
|
;
|
|
; node/cpu data
|
|
D CPU^KMPDSSD1
|
|
;
|
|
; mailgroup members
|
|
D MGRP^KMPDSSD1
|
|
;
|
|
; legend
|
|
D LEGEND
|
|
;
|
|
S KMPDLN=LN
|
|
;
|
|
Q
|
|
;
|
|
BKGRND ; hl7 background info
|
|
;
|
|
N DATA,DELTA,ENDT,I,STAT,STDT,Z
|
|
;
|
|
D PARAMS^KMPDUT("DATA") Q:'$D(DATA)
|
|
S DATA(3)=$G(DATA(3)),DATA(4)=$G(DATA(4))
|
|
S STDT=$P(DATA(3),U,5),ENDT=$P(DATA(3),U,6),DELTA=$P(DATA(3),U,7)
|
|
S:$E(DELTA)=" " $E(DELTA)="0"
|
|
; if hl7
|
|
I KMPDNMSP="H" D
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN,"")
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN," Hl7 Dly Bckgrnd Last Start.. "_$$FMTE^XLFDT(STDT))
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN," HL7 Dly Bckgrnd Last Stop... "_$$FMTE^XLFDT(ENDT))
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN," HL7 Dly Bkgrnd Total Time... "_DELTA)
|
|
.S STDT=$P(DATA(3),U,8),ENDT=$P(DATA(3),U,9),DELTA=$P(DATA(3),U,10)
|
|
.S:$E(DELTA)=" " $E(DELTA)="0"
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN,"")
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN," HL7 Wkly Backgrnd Last Start "_$$FMTE^XLFDT(STDT))
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN," HL7 Wkly Bckgrnd Last Stop.. "_$$FMTE^XLFDT(ENDT))
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN," HL7 Wkly Bckgrnd Total Time. "_DELTA)
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN," HL7 Purge Data After........ "_$P(DATA(3),U,11)_" weeks")
|
|
.D TRANSTO^KMPDUTL7(1,3,.Z)
|
|
.I '$D(Z) S LN=LN+1 D SET^VALM10(LN," HL7 Transmit Data to........ <>")
|
|
.E D
|
|
..S I=$O(Z("")) I I'="" S LN=LN+1 D SET^VALM10(LN," HL7 Transmit Data to........ "_I)
|
|
..F S I=$O(Z(I)) Q:I="" S LN=LN+1 D SET^VALM10(LN,$J(" ",32)_I)
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN,"")
|
|
;
|
|
; timing background info - if available
|
|
I KMPDNMSP="T" D
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN,"")
|
|
.I '$D(DATA(4)) S LN=LN+1 D SET^VALM10(LN," There is no Timing data to report") Q
|
|
.S STAT=$G(^KMPTMP("KMPD-CPRS"))
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN," TMG Collection Status....... "_$S(STAT:"Running",1:"STOPPED!"))
|
|
.S STDT=$P(DATA(4),U,5),ENDT=$P(DATA(4),U,6),DELTA=$P(DATA(4),U,7)
|
|
.S:$E(DELTA)=" " $E(DELTA)="0"
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN," TMG Dly Bckgrnd Last Start.. "_$$FMTE^XLFDT(STDT))
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN," TMG Dly Bckgrnd Last Stop... "_$$FMTE^XLFDT(ENDT))
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN," TMG Dly Bkgrnd Total Time... "_DELTA)
|
|
.S STDT=$P(DATA(4),U,8),ENDT=$P(DATA(4),U,9),DELTA=$P(DATA(4),U,10)
|
|
.S:$E(DELTA)=" " $E(DELTA)="0"
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN," TMG Purge Data After........ "_$P(DATA(4),U,11)_" weeks")
|
|
.D TRANSTO^KMPDUTL7(1,4,.Z)
|
|
.I '$D(Z) S LN=LN+1 D SET^VALM10(LN," TMG Transmit Data to........ <>")
|
|
.E D
|
|
..S I=$O(Z("")) I I'="" S LN=LN+1 D SET^VALM10(LN," TMG Transmit Data to........ "_I)
|
|
..F S I=$O(Z(I)) Q:I="" S LN=LN+1 D SET^VALM10(LN,$J(" ",32)_I)
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN,"")
|
|
;
|
|
Q
|
|
;
|
|
FILES ;-- file data
|
|
;
|
|
N TEXT,X
|
|
;
|
|
S LN=LN+1
|
|
D SET^VALM10(LN,$J(" ",35)_" # of Oldest Recent")
|
|
S LN=LN+1
|
|
D SET^VALM10(LN," File"_$J(" ",28)_"Entries Date Date")
|
|
S LN=LN+1
|
|
D SET^VALM10(LN," ------------------------- ------- ------- -------")
|
|
;
|
|
; if hl7
|
|
I KMPDNMSP="H" D
|
|
.; file name
|
|
.S TEXT=" 8973.1 - "_$P($G(^DIC(8973.1,0)),U)
|
|
.; number of entries
|
|
.S TEXT=TEXT_$J(" ",35-$L(TEXT))_$J($FN($P($G(^KMPD(8973.1,0)),U,4),",",0),7)
|
|
.; oldest date
|
|
.S X=$$FMTE^XLFDT(+$O(^KMPD(8973.1,"B",0)),2)
|
|
.S X=$S(X=0:"---",1:X)
|
|
.S TEXT=TEXT_$J(" ",45-$L(TEXT))_X
|
|
.; current date
|
|
.S X=$$FMTE^XLFDT(+$O(^KMPD(8973.1,"B","A"),-1),2)
|
|
.S X=$S(X=0:"---",1:X)
|
|
.S TEXT=TEXT_$J(" ",55-$L(TEXT))_X
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN,TEXT)
|
|
;
|
|
; if timing data
|
|
I KMPDNMSP="T" D
|
|
.; file name
|
|
.S TEXT=" 8973.2 - "_$P($G(^DIC(8973.2,0)),U)
|
|
.; number of entries
|
|
.S TEXT=TEXT_$J(" ",35-$L(TEXT))_$J($FN($P($G(^KMPD(8973.2,0)),U,4),",",0),7)
|
|
.; oldest date
|
|
.S X=$$FMTE^XLFDT($P(+$O(^KMPD(8973.2,"C",0)),"."),2)
|
|
.S X=$S(X=0:"---",1:X)
|
|
.S TEXT=TEXT_$J(" ",45-$L(TEXT))_X
|
|
.; most recent date
|
|
.S X=$$FMTE^XLFDT($P(+$O(^KMPD(8973.2,"ASTDTTM","A"),-1),"."),2)
|
|
.S X=$S(X=0:"---",1:X)
|
|
.S TEXT=TEXT_$J(" ",55-$L(TEXT))_X
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN,TEXT)
|
|
;
|
|
Q
|
|
;
|
|
LEGEND ;-- display legend
|
|
;
|
|
S LN=LN+1
|
|
D SET^VALM10(LN,"")
|
|
S LN=LN+1
|
|
D SET^VALM10(LN,"")
|
|
I KMPDNMSP="H" D
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN," HL7 = Health Level Seven")
|
|
I KMPDNMSP="T" D
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN," TMG = Timing Data")
|
|
;
|
|
Q
|
|
;
|
|
OPT(KMPDOPT) ;-- option data
|
|
;-----------------------------------------------------------------------------
|
|
; KMPDOPT... Option name - free text
|
|
;-----------------------------------------------------------------------------
|
|
;
|
|
Q:$G(KMPDOPT)=""
|
|
;
|
|
N DIR,DOW,FREQ,KMPDX,KMPDX1,OPTEXT,STATUS,TEXT,X,Y
|
|
;
|
|
S STATUS=$$TSKSTAT^KMPDUTL1(KMPDOPT)
|
|
;
|
|
; option not in system
|
|
Q:(+STATUS)=3
|
|
;
|
|
S OPTEXT=""
|
|
S:KMPDOPT="KMPD BACKGROUND DRIVER" OPTEXT="CM Tools Background Driver"
|
|
S:KMPDOPT="KMPR BACKGROUND DRIVER" OPTEXT="RUM Background Driver"
|
|
S:KMPDOPT="KMPS SAGG REPORT" OPTEXT="SAGG Master Background Task"
|
|
;
|
|
; if background option is missing
|
|
I (+STATUS)=3 D Q
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN," The "_OPTEXT_" option [KMPD BACKGROUND DRIVER] is missing!")
|
|
;
|
|
; background option is present
|
|
;
|
|
; if cm tools and not scheduled or no task id
|
|
I KMPDOPT="KMPD BACKGROUND DRIVER"&(+(STATUS)=3) D Q:'Y
|
|
.K DIR S DIR(0)="YO",DIR("B")="YES"
|
|
.S DIR("A")="Do you want to queue this option to run each night at 1:30am"
|
|
.W ! D ^DIR I 'Y D Q
|
|
..S LN=LN+1
|
|
..D SET^VALM10(LN," The "_OPTEXT_" ["_KMPDOPT_"] is not scheduled")
|
|
..S LN=LN+1
|
|
..D SET^VALM10(LN," to run!"),SET^VALM10(LN,"")
|
|
.D QUEBKG^KMPDUTL("KMPD BACKGROUND DRIVER","T+1@0130","1D",0)
|
|
;
|
|
; if not scheduled or no task id
|
|
I KMPDOPT="KMPR BACKGROUND DRIVER"&(+(STATUS)=3) D Q:'Y
|
|
.K DIR S DIR(0)="YO",DIR("B")="YES"
|
|
.S DIR("A")="Do you want to queue this option to run each night at 1am"
|
|
.W ! D ^DIR I 'Y D Q
|
|
.. S LN=LN+1
|
|
..D SET^VALM10(LN," The "_OPTEXT_" ["_KMPDOPT_"] is not scheduled")
|
|
..S LN=LN+1
|
|
..D SET^VALM10(LN," to run!"),SET^VALM10(LN,"")
|
|
.D QUEBKG^KMPRUTL1
|
|
;
|
|
; check status again in case it has been requeued
|
|
S STATUS=$$TSKSTAT^KMPDUTL1(KMPDOPT)
|
|
;
|
|
; not scheduled
|
|
I (+STATUS)=1 S LN=LN+1 D SET^VALM10(LN," The "_OPTEXT_" [KMPD BACKGROUND DRIVER] is not scheduled") Q
|
|
;
|
|
S TEXT=" "_OPTEXT
|
|
S TEXT=TEXT_$$REPEAT^XLFSTR(".",31-$L(TEXT))
|
|
S TEXT=TEXT_" "_KMPDOPT
|
|
S LN=LN+1
|
|
D SET^VALM10(LN,TEXT)
|
|
S LN=LN+1
|
|
D SET^VALM10(LN," QUEUED TO RUN AT............ "_$P(STATUS,U,3))
|
|
S LN=LN+1
|
|
D SET^VALM10(LN," RESCHEDULING FREQUENCY...... "_$P(STATUS,U,5))
|
|
;
|
|
; check to see if SAGG is not running on the weekend (Fri-Sun)
|
|
S DOW=$P(STATUS,U,4),FREQ=$P(STATUS,U,6)
|
|
I KMPDOPT="KMPS SAGG REPORT" I (DOW<0)!((DOW>0)&(DOW<5))!(FREQ<0)!(FREQ'="28D") D
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN," ***It is STRONGLY recommended that this job be")
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN," rescheduled to run over the weekend every 28 days.***")
|
|
;
|
|
S LN=LN+1
|
|
D SET^VALM10(LN," TASK ID..................... "_$P(STATUS,U,7))
|
|
; user info.
|
|
S TEXT=" QUEUED BY................... "_$P(STATUS,U,8)
|
|
; user
|
|
S TEXT=TEXT_" ("_$S($P(STATUS,U,9)["NOT ACTIVE":"Not Active - ",1:"Active")_")"
|
|
S LN=LN+1
|
|
D SET^VALM10(LN,TEXT)
|
|
; if user is not active
|
|
I $P(STATUS,U,9)="NOT ACTIVE" D
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN," ***The user that originally queued this task is no ")
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN," longer active. Therefore the 'SAGG Master Background")
|
|
.S LN=LN+1
|
|
.D SET^VALM10(LN," Task' [KMPS SAGG REPORT] must be scheduled again by")
|
|
.S LN=LN=1
|
|
.D SET^VALM10(LN," an active user.***")
|
|
;
|
|
Q
|