| 1 | HLCSRPT1 ;ISC-SF/RAH-TRANS LOG PENDING MSG LIST;05/12/03  11:43 AM | 
|---|
| 2 | ;;1.6;HEALTH LEVEL SEVEN;**19,50,107**;Oct 13, 1995 | 
|---|
| 3 | ; | 
|---|
| 4 | Q | 
|---|
| 5 | ; | 
|---|
| 6 | EN ; Entry Point for Pending Message Search. | 
|---|
| 7 | D LNKSRCH Q:$D(STOP) | 
|---|
| 8 | I HLCSLS=1 D SEARCH1 Q | 
|---|
| 9 | D SEARCH2 | 
|---|
| 10 | Q | 
|---|
| 11 | ; | 
|---|
| 12 | ; | 
|---|
| 13 | SEARCH1 ; | 
|---|
| 14 | W !!," . . . PLEASE WAIT, THIS CAN TAKE AWHILE . . .",! | 
|---|
| 15 | S HLCSI=0,HLCSIO="" S HLCSLN=0 | 
|---|
| 16 | F  S HLCSIO=$O(^HLMA("AC",HLCSIO)) Q:(HLCSIO="")  D | 
|---|
| 17 | . S HLCSN=HLCSI,HLCSJ=0 | 
|---|
| 18 | . F  S HLCSJ=$O(^HLMA("AC",HLCSIO,HLCSLINK,HLCSJ)) Q:(HLCSJ="")  D | 
|---|
| 19 | .. I '$D(^HLMA(HLCSJ,0)) Q | 
|---|
| 20 | .. I '$D(^HLMA("AG",1,HLCSJ)) Q | 
|---|
| 21 | .. S HLCSX=^HLMA(HLCSJ,0),HLCSDTE=$P(HLCSX,U,1) | 
|---|
| 22 | .. S HLCSLNK="          " | 
|---|
| 23 | .. I $D(^HLCS(870,HLCSLINK,0)) S HLCSLNK=$P(^HLCS(870,HLCSLINK,0),U,1) | 
|---|
| 24 | .. S HLCSEVN1=$P(HLCSX,U,13) I HLCSEVN1'="",($D(^HL(771.2,HLCSEVN1,0))) S HLCSEVN1=$P(^HL(771.2,HLCSEVN1,0),U,1) | 
|---|
| 25 | .. S HLCSEVN2=$P(HLCSX,U,14) I HLCSEVN2'="",($D(^HL(779.001,HLCSEVN2,0))) S HLCSEVN2=$P(^HL(779.001,HLCSEVN2,0),U,1) | 
|---|
| 26 | .. I HLCSEVN1="" S HLCSEVN1="   " | 
|---|
| 27 | .. I HLCSEVN2="" S HLCSEVN2="   " | 
|---|
| 28 | .. I $L(HLCSEVN1)<3 S HLCSEVN1=HLCSEVN1_"   ",HLCSEVN1=$E(HLCSEVN1,1,3) | 
|---|
| 29 | .. I $L(HLCSEVN2)<3 S HLCSEVN2=HLCSEVN2_"   ",HLCSEVN2=$E(HLCSEVN2,1,3) | 
|---|
| 30 | .. S HLCSEVN=HLCSEVN1_":"_HLCSEVN2 | 
|---|
| 31 | .. D FORMAT^HLCSRPT | 
|---|
| 32 | .. Q | 
|---|
| 33 | . Q | 
|---|
| 34 | I '$D(^TMP("TLOG",$J,1)) W !!,HLCSNREC,!! S DIR(0)="E" D ^DIR K DIR Q | 
|---|
| 35 | I VERS22'="YES" S HLCSTITL="IEN RECORD #   MESSAGE ID #         Log Link   Msg:Evn IO Sndg Apl Rcvr Apl HDR" | 
|---|
| 36 | E  S HLCSTITL="MESSAGE ID #         D/T Entered   Log Link   Msg:Evn IO Sndg Apl Rcvr Apl     " | 
|---|
| 37 | I VERS22'="YES" D FAKR | 
|---|
| 38 | D DISPLAY^HLCSRPT K ^TMP("TLOG",$J) | 
|---|
| 39 | Q | 
|---|
| 40 | ; | 
|---|
| 41 | SEARCH2 ; | 
|---|
| 42 | W !!," . . . PLEASE WAIT, THIS CAN TAKE AWHILE . . .",! | 
|---|
| 43 | S HLCSI=0,HLCSIO="" S HLCSLN=0 | 
|---|
| 44 | F  S HLCSIO=$O(^HLMA("AC",HLCSIO)) Q:(HLCSIO="")  D | 
|---|
| 45 | . S HLCSN=HLCSI,HLCSJ=0,HLCSLINK=0 | 
|---|
| 46 | . F  S HLCSLINK=$O(^HLMA("AC",HLCSIO,HLCSLINK)) Q:(HLCSLINK="")  D | 
|---|
| 47 | .. F  S HLCSJ=$O(^HLMA("AC",HLCSIO,HLCSLINK,HLCSJ)) Q:(HLCSJ="")  D | 
|---|
| 48 | ... I '$D(^HLMA(HLCSJ,0)) Q | 
|---|
| 49 | ... I '$D(^HLMA("AG",1,HLCSJ)) Q | 
|---|
| 50 | ... S HLCSX=^HLMA(HLCSJ,0),HLCSDTE=$P(HLCSX,U,1) | 
|---|
| 51 | ... S HLCSLNK="          " | 
|---|
| 52 | ... I $D(^HLCS(870,HLCSLINK,0)) S HLCSLNK=$P(^HLCS(870,HLCSLINK,0),U,1) | 
|---|
| 53 | ... S HLCSEVN1=$P(HLCSX,U,13) I HLCSEVN1'="",($D(^HL(771.2,HLCSEVN1,0))) S HLCSEVN1=$P(^HL(771.2,HLCSEVN1,0),U,1) | 
|---|
| 54 | ... S HLCSEVN2=$P(HLCSX,U,14) I HLCSEVN2'="",($D(^HL(779.001,HLCSEVN2,0))) S HLCSEVN2=$P(^HL(779.001,HLCSEVN2,0),U,1) | 
|---|
| 55 | ... I HLCSEVN1="" S HLCSEVN1="   " | 
|---|
| 56 | ... I HLCSEVN2="" S HLCSEVN2="   " | 
|---|
| 57 | ... I $L(HLCSEVN1)<3 S HLCSEVN1=HLCSEVN1_"   ",HLCSEVN1=$E(HLCSEVN1,1,3) | 
|---|
| 58 | ... I $L(HLCSEVN2)<3 S HLCSEVN2=HLCSEVN2_"   ",HLCSEVN2=$E(HLCSEVN2,1,3) | 
|---|
| 59 | ... S HLCSEVN=HLCSEVN1_":"_HLCSEVN2 | 
|---|
| 60 | ... D FORMAT^HLCSRPT | 
|---|
| 61 | ... Q | 
|---|
| 62 | .. Q | 
|---|
| 63 | . Q | 
|---|
| 64 | I '$D(^TMP("TLOG",$J,1)) W !!,HLCSNREC,!! S DIR(0)="E" D ^DIR K DIR Q | 
|---|
| 65 | I VERS22'="YES" S HLCSTITL="IEN RECORD #   MESSAGE ID #         Log Link   Msg:Evn IO Sndg Apl Rcvr Apl HDR" | 
|---|
| 66 | E  S HLCSTITL="MESSAGE ID #         D/T Entered   Log Link   Msg:Evn IO Sndg Apl Rcvr Apl     " | 
|---|
| 67 | I VERS22'="YES" D FAKR | 
|---|
| 68 | D DISPLAY^HLCSRPT K ^TMP("TLOG",$J) | 
|---|
| 69 | Q | 
|---|
| 70 | ; | 
|---|
| 71 | LNKSRCH ; Report pending messages on A logical link. | 
|---|
| 72 | W @IOF,! S HLCSHDR="Logical Link Selection" D HLCSBAR | 
|---|
| 73 | S DIR(0)="PAO^870:AEO",DIR("A")="Select Logical Link:  ALL//" | 
|---|
| 74 | D ^DIR S:($D(DTOUT)!($D(DUOUT))) STOP=1 Q:$D(STOP) | 
|---|
| 75 | I X="" S HLCSLS="" K DIR,X,Y Q | 
|---|
| 76 | I Y=-1 W !,X_" NOT VALID " K X,Y G LNKSRCH | 
|---|
| 77 | S HLCSLINK=$P(Y,U,1),HLCSLNK=$P(Y,U,2) K DIR,X,Y | 
|---|
| 78 | S HLCSLS=1 | 
|---|
| 79 | Q | 
|---|
| 80 | ; | 
|---|
| 81 | FAKR ; Build fake record to pass FM21 Browser edits. | 
|---|
| 82 | S HLCSJ=^TMP("TLOG",$J,1) | 
|---|
| 83 | S HLCSJ=+$P(HLCSJ," ",1) | 
|---|
| 84 | S ^TMP($J,"MESSAGE",HLCSJ,0)="^^1^1" | 
|---|
| 85 | S ^TMP($J,"MESSAGE",HLCSJ,1,0)=" Fake Record to pass Browser edits. " | 
|---|
| 86 | S HLCSRNO=HLCSJ | 
|---|
| 87 | Q | 
|---|
| 88 | ; | 
|---|
| 89 | SHOWMSG(XXY,XXZ) ; | 
|---|
| 90 | ; Each node, ^tmp($j,"message",record_ien), invokes this code | 
|---|
| 91 | ; to compile a 'virtual w-p document' when a message is browsed. | 
|---|
| 92 | I $D(^HLMA(XXY,"MSH",0)) D | 
|---|
| 93 | . S ^TMP($J,"MESSAGE",XXY,0)=^HLMA(XXY,"MSH",0) | 
|---|
| 94 | . S YY1=$P(^HLMA(XXY,"MSH",0),U,3),YY2=$P(^HLMA(XXY,"MSH",0),U,4) | 
|---|
| 95 | E  S ^TMP($J,"MESSAGE",XXY,0)="1^1" | 
|---|
| 96 | S XLINE=^HLMA(XXY,0) | 
|---|
| 97 | S LINE="Record #: "_XXY_"                    ",LINE=$E(LINE,1,30) | 
|---|
| 98 | S LINE=LINE_"Message #: "_$P(XLINE,U,2) | 
|---|
| 99 | S ^TMP($J,"MESSAGE",XXY,1,0)=LINE | 
|---|
| 100 | S DTE=$P(XLINE,U,1) I $P($G(^HL(772,DTE,0)),U,1)'="" S DTE=$P(^HL(772,DTE,0),U,1),DTE=$E(DTE,4,7)_$E(DTE,2,3)_"."_$P(DTE,".",2)_"      " | 
|---|
| 101 | I $D(^HLMA(XXY,"S")),$P(^HLMA(XXY,"S"),U,1)'="" S DTP=$P(^HLMA(XXY,"S"),U,1) S DTP=$E(DTP,4,7)_$E(DTP,2,3)_"."_$P(DTP,".",2) | 
|---|
| 102 | E  S DTP=" " | 
|---|
| 103 | S LINE="D/T Entered: "_DTE,LINE=$E(LINE,1,30)_"D/T Processed: "_DTP | 
|---|
| 104 | S ^TMP($J,"MESSAGE",XXY,2,0)=LINE K DTE,DTP | 
|---|
| 105 | S LINE="Logical Link: " I $P(XLINE,U,7)'="",($D(^HLCS(870,$P(XLINE,U,7),0))) S LINE=LINE_$P(^HLCS(870,$P(XLINE,U,7),0),U,1) | 
|---|
| 106 | S LINE=LINE_"                ",LINE=$E(LINE,1,30) | 
|---|
| 107 | S LINE=LINE_"Ack To MSG#: " I $P(XLINE,U,6)'="",($D(^HLMA($P(XLINE,U,6),0))) S LINE=LINE_$P(^HLMA($P(XLINE,U,6),0),U,2) | 
|---|
| 108 | S ^TMP($J,"MESSAGE",XXY,3,0)=LINE | 
|---|
| 109 | S DTS="" I $P($G(^HLMA(XXY,"P")),U,2)'="" S DTS=$P(^HLMA(XXY,"P"),U,2),DTS=$E(DTS,4,7)_$E(DTS,2,3)_"."_$P(DTS,".",2) | 
|---|
| 110 | S LINE="D/T STATUS: "_DTS_"                  ",LINE=$E(LINE,1,30),LINE=LINE_"STATUS: " | 
|---|
| 111 | I $P(^HLMA(XXY,"P"),U,1)'="" S LINE=LINE_$P(^HL(771.6,+$P(^HLMA(XXY,"P"),U,1),0),U,1) | 
|---|
| 112 | S ^TMP($J,"MESSAGE",XXY,4,0)=LINE K DTS | 
|---|
| 113 | S LINE="ERR MSG: " I $P(^HLMA(XXY,"P"),U,3)'="" S LINE=LINE_$E($P(^HLMA(XXY,"P"),U,3),1,20) | 
|---|
| 114 | S LINE=LINE_"                      ",LINE=$E(LINE,1,30)_"ERR TYPE: " | 
|---|
| 115 | I $P(^HLMA(XXY,"P"),U,4)'="" S LINE=LINE_$P(^HL(771.7,+$P(^HLMA(XXY,"P"),U,4),0),U,1) | 
|---|
| 116 | S ^TMP($J,"MESSAGE",XXY,5,0)=LINE | 
|---|
| 117 | S LINE="Sending Appl: " I $P(XLINE,U,11)'="",($D(^HL(771,$P(XLINE,U,11),0))) S LINE=LINE_$P(^HL(771,$P(XLINE,U,11),0),U,1) | 
|---|
| 118 | S ^TMP($J,"MESSAGE",XXY,6,0)=LINE | 
|---|
| 119 | S LINE="Receiving Appl: " I $P(XLINE,U,12)'="",($D(^HL(771,$P(XLINE,U,12),0))) S LINE=LINE_$P(^HL(771,$P(XLINE,U,12),0),U,1) | 
|---|
| 120 | S ^TMP($J,"MESSAGE",XXY,7,0)=LINE | 
|---|
| 121 | S LINE="Message Type: " I $P(XLINE,U,13)'="",($D(^HL(771.2,$P(XLINE,U,13),0))) S LINE=LINE_$P(^HL(771.2,$P(XLINE,U,13),0),U,1) | 
|---|
| 122 | S LINE=LINE_"                    ",LINE=$E(LINE,1,30)_"Event Type: " | 
|---|
| 123 | I $P(XLINE,U,14)'="",($D(^HL(779.001,$P(XLINE,U,14),0))) S LINE=LINE_$P(^HL(779.001,$P(XLINE,U,14),0),U,1) | 
|---|
| 124 | S ^TMP($J,"MESSAGE",XXY,8,0)=LINE K LINE,XLINE | 
|---|
| 125 | S ^TMP($J,"MESSAGE",XXY,9,0)="MESSAGE HEADER: " | 
|---|
| 126 | S LN1=.5,LN2=10 | 
|---|
| 127 | I $D(^HLMA(XXY,"MSH",0)) D | 
|---|
| 128 | . F  S LN1=$O(^HLMA(XXY,"MSH",LN1)) Q:LN1=""  D | 
|---|
| 129 | .. S ^TMP($J,"MESSAGE",XXY,LN2,0)=^HLMA(XXY,"MSH",LN1,0) | 
|---|
| 130 | .. ;HL*1.6*107 start:  to fix the multiple lines per segment | 
|---|
| 131 | .. ;S LN2=LN2+1,LN1=LN1+1 | 
|---|
| 132 | .. S LN2=LN2+1 | 
|---|
| 133 | .. ;HL*1.6*107 end | 
|---|
| 134 | ..Q | 
|---|
| 135 | S LN1=.5 | 
|---|
| 136 | S ^TMP($J,"MESSAGE",XXY,LN2,0)="MESSAGE TEXT: ",LN2=LN2+1 | 
|---|
| 137 | I $D(^HL(772,XXZ,"IN",0)) D | 
|---|
| 138 | . F  S LN1=$O(^HL(772,XXZ,"IN",LN1)) Q:(LN1="")  D | 
|---|
| 139 | .. S ^TMP($J,"MESSAGE",XXY,LN2,0)=^HL(772,XXZ,"IN",LN1,0) | 
|---|
| 140 | .. ;HL*1.6*107 start: to fix the multiple lines per segment | 
|---|
| 141 | .. ;S LN2=LN2+1,LN1=LN1+1 | 
|---|
| 142 | .. S LN2=LN2+1 | 
|---|
| 143 | .. ;HL*1.6*107 end | 
|---|
| 144 | ..Q | 
|---|
| 145 | S (YY1,YY2)=LN2-1 | 
|---|
| 146 | S Y1Y2=YY1_"^"_YY2 | 
|---|
| 147 | S $P(^TMP($J,"MESSAGE",XXY,0),U,3,4)=Y1Y2 | 
|---|
| 148 | K LN1,LN2,Y1Y2,YY1,YY2 | 
|---|
| 149 | Q | 
|---|
| 150 | ; | 
|---|
| 151 | HLCSBAR ; Center Title on Top Line of Screen | 
|---|
| 152 | W RVON,?(80-$L(HLCSHDR)\2),HLCSHDR,$E(SPACE,$X,77),RVOFF,! | 
|---|
| 153 | Q | 
|---|
| 154 | ; | 
|---|