Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: HLEVREP

HLEVREP.m

Go to the documentation of this file.
HLEVREP ;O-OIFO/LJA - Event Monitor REPORTS ;02/04/2004 14:42
 ;;1.6;HEALTH LEVEL SEVEN;**109**;Oct 13, 1995
 ;
SHOWONE ; Show entry in any Event Monitoring file...
 ;
 ;
CTRL ;
 ;
 D HD
 D EX
 F  Q:(IOSL-$Y)<4  W !
 QUIT:$$BTE^HLCSMON("Press RETURN to continue, '^' to exit... ")  ;->
CTRL1 D HD
 W !!,"You must now select one of the following files..."
 S FILE=$$FILE QUIT:FILE'>0  ;->
 W !
 D @("SHOW"_FILE)
 G CTRL1 ;->
 ;
 ;
 ;
SHOW7761 ; Show HL7 Monitor (#776.1) entries...
 N DIC,IEN
 D HDR("View 'HL7 Monitor file (#776.1)' Entries")
 ;
S7761 KILL DIC,IEN
 W !
 S IEN=$$ASKIEN(776.1) QUIT:IEN'>0  ;->
 W !!,"Loading report..."
 D LOAD7761(IEN)
 D BROWSE^DDBR($NA(^TMP($J,"HL7761")),"N","View 'HL7 Monitor file (#776.1)' Entries")
 KILL ^TMP($J,"HL7761")
 G S7761 ;->
 ;
LOAD7761(IEN) ; Load browswer global...
 KILL ^TMP($J,"HL7761")
 D BODY7761(IEN)
 D RUNS7761(IEN)
 Q
 ;
RUNS7761(EVIEN) ;
 N DATA,IEN,LASTDT,RUNS
 ;
 KILL ^TMP($J,"HLRUNS")
 ;
 ; Loop thru master job runs looking for event monitor checks...
 S LASTDT=":",RUNS=0
 F  S LASTDT=$O(^HLEV(776.2,"B",LASTDT),-1) Q:'LASTDT!(RUNS>6)  D
 .  S IEN=":"
 .  F  S IEN=$O(^HLEV(776.2,"B",+LASTDT,IEN),-1) Q:'IEN!(RUNS>6)  D
 .  .  S MIEN=$O(^HLEV(776.2,+IEN,51,"B",EVIEN,0)) QUIT:MIEN'>0  ;->
 .  .  S DATA=$G(^HLEV(776.2,+IEN,51,MIEN,0))
 .  .  S ^TMP($J,"HLRUNS",IEN)=$P(DATA,U,2)_U_$P(DATA,U,3) ; STATUS^TIME
 .  .  S RUNS=RUNS+1
 ;
 ; If none found...
 QUIT:'$D(^TMP($J,"HLRUNS"))  ;->
 ;
 ; Recent master job checks of monitor...
 D ADD7761(""),ADD7761("Recent Master Job Checks of this Monitor")
 D ADD7761($$REPEAT^XLFSTR("-",74))
 S IEN=0
 F  S IEN=$O(^TMP($J,"HLRUNS",IEN)) Q:'IEN  D
 .  S DATA=^TMP($J,"HLRUNS",IEN)
 .  D ADD7761($E($$SDT^HLEVX001($P(DATA,U,2))_$$REPEAT^XLFSTR(" ",17),1,17)_"  "_$$STAT2M^HLEVX001($P(DATA,U)))
 ;
 Q
 ;
BODY7761(IEN) ; Actual display code for entry...
 N NODE,P1,P2,P3,P4,P5,P6,PAR,PCE
 ;
 S NODE=$G(^HLEV(776.1,+IEN,0))
 F PCE=1:1:6 S @("P"_PCE)=$P(NODE,U,PCE)
 ;
 ; Store under field number...
 F PCE=1:1:8 S PAR(PCE)=$P($G(^HLEV(776.1,+IEN,40)),U,PCE)
 ;
 D SH7761("Monitor",$S(P1]"":P1,1:"---"))
 D SH7761("Description",$S(P3]"":P3,1:"---"))
 D SH7761("Status",$S(P2="A":"ACTIVE",1:"INACTIVE"))
 D SH7761("Requeue minutes",$S(P4:P4_"min",P4=0:"0 [Immediate Run]",1:"---"))
 D SH7761("M startup",$S(P6]"":P6,1:"---"))
 D XMYS(+IEN)
 W !,$$CJ^XLFSTR(" Parameter ""Variable"" Descriptors ",IOM,"-")
 F PCE=1:1:8 I PAR(PCE)]"" D
 .  W !,?25,"Parameter - "_PCE_" = ",PAR(PCE)
 ;
 D SHWP(776.1,IEN,41,"Parameter Notes")
 D SHWP(776.1,IEN,50,"Event Description")
 ;
 Q
 ;
XMYS(HLEVIENE) ; Add XMYs from monitor...
 N REC,TAG,XMY
 D ADDXMYS^HLEVAPI2(+HLEVIENE) QUIT:'$D(XMY)  ;->
 S VAL=""
 F  S VAL=$O(XMY(VAL)) Q:VAL']""  D
 .  I VAL["@" S REC(VAL)="" QUIT  ;->
 .  I VAL=+VAL S VAL=$P($G(^VA(200,+VAL,0)),U) S:VAL]"" REC(VAL)="" QUIT  ;->
 .  I $E(VAL,1,2)="G." S REC(VAL)=""
 KILL XMY
 QUIT:'$D(REC)  ;->
 S VAL=""
 S TAG=$E("                    Recipients:                ",1,35)
 F  S VAL=$O(REC(VAL)) Q:VAL']""  D
 .  S TAG=TAG_VAL
 .  D ADD7761(TAG)
 .  S TAG=$$REPEAT^XLFSTR(" ",35)
 Q
 ;
SHWP(FILE,IEN,HLN,TAG) ;
 N MIEN,TXT
 QUIT:$O(^HLEV(FILE,+IEN,HLN,0))'>0  ;-> No data...
 S TXT=$$CJ^XLFSTR(" "_TAG_" ",IOM,"-")
 D ADD7761(TXT)
 S MIEN=0
 F  S MIEN=$O(^HLEV(FILE,+IEN,HLN,MIEN)) Q:MIEN'>0  D
 .  D ADD7761(^HLEV(FILE,+IEN,HLN,MIEN,0))
 Q
 ;
SH7761(TAG,VAL) ;
 N TXT
 S TXT=$E($$REPEAT^XLFSTR(" ",80),1,(32-$L(TAG)-2))_TAG_":"
 S TXT=$E(TXT_$$REPEAT^XLFSTR(" ",45),1,35)_VAL
 D ADD7761(TXT)
 Q
 ;
ADD7761(TXT) ; Add TXT to browser global...
 N NO
 S NO=$O(^TMP($J,"HL7761",":"),-1)+1
 S ^TMP($J,"HL7761",+NO)=TXT
 Q
 ;
SHOW776 ; Show HL7 Monitor Job (#776) entries...
 N DIC,IEN
S776 KILL DIC,IEN
 S IEN=$$ASKIEN(776) QUIT:IEN'>0  ;->
 D VIEW776(+IEN)
 W !,$$REPEAT^XLFSTR("-",IOM)
 G S776 ;->
 ;
VIEW776(IEN) ; Actual display code for entry...
 ;
 W !!,"View Code to be placed here..."
 Q
 ;
 ;
SHOW7762 ; Show HL7 Monitor Master Job (#776.2) entries...
 N DIC,IEN
S7762 KILL DIC,IEN
 S IEN=$$ASKIEN(776.2) QUIT:IEN'>0  ;->
 D VIEW7762(+IEN)
 W !,$$REPEAT^XLFSTR("-",IOM)
 G S7762 ;->
 ;
VIEW7762 ; Actual display code for entry...
 ;
 W !!,"View Code to be placed here..."
 Q
 ;
 ;
SHOW7769 ; Show HL7 Monitor Parameters (#776.999) entries...
 D VIEW7769(1)
 W !,$$REPEAT^XLFSTR("-",IOM)
 Q
 ;
VIEW7769(BT) ; Actual display code for entry...
 N DATA,NODE,P1,P2,P3,P4,P5,P6,PCE,TAG,VAL
 ;
 S NODE=$G(^HLEV(776.999,1,0)) I NODE']"" D  QUIT  ;->
 .  W !,"No system entry exists..."
 ;
 F PCE=1:1:6 S @("P"_PCE)=$P(NODE,U,PCE)
 ;
 S NODE(1)=P1_U_"Name"
 S NODE(2)=$S(P2="A":"ACTIVE",1:"INACTIVE")_U_"Status - MASTER"
 S NODE(3)=P3_"min"_U_"Requeue minutes - MASTER"
 S NODE(4)=P4_"hr"_U_"Purge hours - RUNTIME DATA"
 S NODE(6)=$S(P6="A":"ACTIVE",1:"INACTIVE")_U_"Status - EVENT"
 ;
 W @IOF,$$CJ^XLFSTR("System Parameters",IOM)
 W !,$$REPEAT^XLFSTR("=",IOM)
 ;
 F PCE=1,"Status Fields",2,6,"Requeue Frequency for Master Job",3,"Purge Parameters (""Cutoff"" hours)",4 D
 .  I PCE'=+PCE D  QUIT  ;->
 .  .  W !!,$$CJ^XLFSTR(PCE,IOM)
 .  .  W !,$$CJ^XLFSTR($$REPEAT^XLFSTR("-",$L(PCE)+20),IOM)
 .  S DATA=NODE(PCE),VAL=$P(DATA,U),TAG=$P(DATA,U,2)
 .  S DATA=TAG_":   "_VAL
 .  W !,$$CJ^XLFSTR(DATA,IOM)
 ;
 I $G(BT) D TELL^HLEVMST0("","0^0^999")
 ;
 Q
 ;
 ;
ASKIEN(FILE,HLAYGO) ; Generic DIC lookup...
 N DIC,X,Y
 S DIC=FILE,DIC(0)="AEMQN"_$G(HLAYGO)
 S DIC("A")="Select "_$S(FILE=776:"EVENT ""RUN"" ENTRY",FILE=776.1:"EVENT MONITOR ENTRY",FILE=776.2:"MASTER JOB ""RUN"" ENTRY",FILE=776.999:"PARAMETER ENTRY",1:"??")_": "
 D ^DIC
 Q $S(+Y>0:+Y,1:"")
 ;
FILE() ; Get from user file to display information...
 N ANS,DIR,DIRUT,DTOUT,DUOUT,X,Y
 S DIR(0)="SO^1:HL7 Monitor file (#776.1);2:HL7 Monitor Parameters file (#776.999);3:HL7 Monitor Job file (#776);4:HL7 Monitor Master Job file (#776.2);5:Exit this option"
 S DIR("A")="Select OPTION"
 D ^DIR
 S ANS=+Y\1,ANS=$S(ANS>0&(ANS<5):+ANS,1:"")
 S ANS=$S(ANS:$P("7761^7769^776^7762",U,+ANS),1:"")
 Q ANS
 ;
HD W @IOF,$$CJ^XLFSTR("Display Event Monitoring Entries",IOM)
 W !,$$REPEAT^XLFSTR("=",IOM)
 QUIT
 ;
EX N I,T F I=1:1 S T=$T(EX+I) QUIT:T'[";;"  W !,$P(T,";;",2,99)
 ;;           This option displays entries from the following files:
 ;;   
 ;;                             SETUP-RELATED FILES
 ;;             ----------------------------------------------------
 ;;                       HL7 Monitor file (#776.1)
 ;;                       HL7 Monitor Parameters file (#776.999)
 ;;
 ;;                            RUNTIME-RELATED FILES
 ;;             ----------------------------------------------------
 ;;                       HL7 Monitor Job file (#776)
 ;;                       HL7 Monitor Master Job file (#776.2)
 Q
 ;
HDR(TXT,IEN) W @IOF,$$CJ^XLFSTR(TXT,IOM)
 N IOINHI,IOINORM,NAME,X,Y
 I $G(IEN) D
 .  S X="IOINHI;IOINORM" D ENDR^%ZISS
 .  S NAME=$P($G(^HLEV(776.1,+IEN,0)),U)
 .  W !,$$CJ^XLFSTR(IOINHI_NAME_" [#"_IEN_"]"_IOINORM,IOM)
 W !,$$REPEAT^XLFSTR("=",IOM)
 Q
 ;
EOR ;HLEVREP - Event Monitor REPORTS ;5/16/03 14:42