- HLCSRPT3 ;ISC-SF/RAH-TRANS LOG MESSAGE SEARCH ;08/24/99 08:09 [ 04/02/2003 8:38 AM ]
- ;;1.6;HEALTH LEVEL SEVEN;**1004**;APR 1, 2003
- ;;1.6;HEALTH LEVEL SEVEN;**50,57**;Oct 13, 1995
- ;
- Q
- ADVSRCH ; Entry point for message search. (from HLCSRPT)
- S (HLCSLS,HLSCES,HLCSSC)=0
- D GETTIME Q:$D(STOP)
- D DT2IEN Q:$D(STOP)
- D STATCHK Q:$D(STOP)
- D LNKSRCH Q:$D(STOP)
- D EVNSRCH Q:$D(STOP)
- D SEARCH
- D EXIT
- S STOP=1
- Q
- GETTIME ;
- W @IOF,! S HLCSHDR="Start/Stop Time Selection" D HLCSBAR
- GETSTART ;
- W !!," Enter START Date and Time. Date is required.",!
- S DIR(0)="D^::AEPSTX",DIR("?")="^D HELP^%DTC",DIR("B")="T"
- D ^DIR S:$D(DIRUT)!(X="") STOP=1 I $D(STOP) K DIR,X,Y Q
- I Y'["." S Y=Y_".000001"
- S HLCSST=Y K DIR,X,Y
- GETEND ;
- W !!," Enter END Date and Time. Date is required.",!
- S DIR(0)="D^::AESTX",DIR("?")="^D HELP^%DTC",DIR("B")="NOW"
- D ^DIR S:$D(DIRUT)!(X="") STOP=1 I $D(STOP) K DIR,X,Y Q
- I Y'["." S Y=Y_".235959"
- S HLCSET=Y K DIR,X,Y
- Q
- ;
- DT2IEN ;
- ;set variable to HLCSST-.0000001
- ;$O thru ^HL(772,"B",dt)
- ;get ien from "B" xref.
- ; that's starting value for $O(^HLMA("B",772ien,ien))
- S HLCSI=HLCSST-.0000001
- S HLCSI=$O(^HL(772,"B",HLCSI))
- I HLCSI="" S STOP=1 W !!,HLCSNREC,!! S DIR(0)="E" D ^DIR K DIR Q
- S HLCSJ=0 S HLCSJ=$O(^HL(772,"B",HLCSI,HLCSJ))
- S HLCSST=HLCSJ
- ;set variable to HLCSET+.0000001
- ;reverse $O thru ^HL(772,"B",dt)
- ;get ien fron "B" xref.
- ;that's ending value for the $O thru ^HLMA("B"
- S HLCSI=HLCSET+.0000001
- S HLCSI=$O(^HL(772,"B",HLCSI),-1)
- S HLCSJ="Z" S HLCSJ=$O(^HL(772,"B",HLCSI,HLCSJ),-1)
- S HLCSET=HLCSJ
- Q
- ;
- DISPLAY ; common display method
- ; clean-up here
- S HLCSPTR=$P(^TMP("TLOG",$J,1)," "),HLCSK=$O(^HLMA("C",HLCSPTR,0))
- S HLCSPTR=+$P($G(^HLMA(+HLCSK,0)),U)
- I VERS22'="YES" D DOCLIST^DDBR("^TMP($J,""LIST"")","NR")
- E D BROWSE^DDBR("^TMP(""TLOG"",$J)","NA",HLCSTITL)
- Q
- ;
- SEARCH ;
- W !!," . . . PLEASE WAIT, THIS CAN TAKE AWHILE . . .",!
- S HLCSI=HLCSST-.1 S HLCSLN=0
- F I=HLCSST:1:HLCSET S HLCSI=$O(^HLMA("B",HLCSI)) Q:HLCSI>HLCSET!(HLCSI="") D
- . S HLCSN=HLCSI,HLCSJ=0 F S HLCSJ=$O(^HLMA("B",HLCSI,HLCSJ)) Q:(HLCSJ="") D
- .. Q:'$D(^HLMA(HLCSJ,0)) S HLCSX=^(0),HLCSDTP=$P($G(^("S")),U)
- .. ;must have a status
- .. Q:'$G(^HLMA(HLCSJ,"P")) S HLCSSTC=$P(^("P"),U)
- .. ;check for only one status, if not the status we want, quit
- .. I HLCSSC=1,(HLCSTSTC'=HLCSSTC) Q
- .. S HLCSLINK=$P(HLCSX,U,7) S HLCSLNK=" "
- .. I HLCSLINK'="",($D(^HLCS(870,HLCSLINK,0))) S HLCSLNK=$P(^HLCS(870,HLCSLINK,0),U,1)
- .. S HLCSEVN1=$P(HLCSX,U,13) I HLCSEVN1'="",($D(^HL(771.2,HLCSEVN1,0))) S HLCSEVN1=$P(^HL(771.2,HLCSEVN1,0),U,1)
- .. S HLCSEVN2=$P(HLCSX,U,14) I HLCSEVN2'="",($D(^HL(779.001,HLCSEVN2,0))) S HLCSEVN2=$P(^HL(779.001,HLCSEVN2,0),U,1)
- .. I HLCSEVN1="" S HLCSEVN1=" "
- .. I HLCSEVN2="" S HLCSEVN2=" "
- .. I $L(HLCSEVN1)<3 S HLCSEVN1=HLCSEVN1_" ",HLCSEVN1=$E(HLCSEVN1,1,3)
- .. I $L(HLCSEVN2)<3 S HLCSEVN2=HLCSEVN2_" ",HLCSEVN2=$E(HLCSEVN2,1,3)
- .. S HLCSEVN=HLCSEVN1_":"_HLCSEVN2
- .. I HLCSLS>0,(HLCSTLNK'=HLCSLNK) Q
- .. I HLCSES>0,(HLCSES1=1)&(HLCSTEV1'=HLCSEVN1) Q
- .. I HLCSES>0,(HLCSES2=2)&(HLCSTEV2'=HLCSEVN2) Q
- .. I HLCSSC=1,(HLCSTSTC'=HLCSSTC) Q
- .. D FORMAT
- .. Q
- . Q
- I '$D(^TMP("TLOG",$J,1)) W !!,HLCSNREC,!! S DIR(0)="E" D ^DIR K DIR Q
- I VERS22'="YES" S HLCSTITL="IEN RECORD # MESSAGE ID # Log Link Msg:Evn IO Sndg Apl Rcvr Apl HDR"
- E S HLCSTITL="MESSAGE ID # D/T Entered Log Link Msg:Evn IO Sndg Apl Rcvr Apl "
- I VERS22'="YES" D FAKR^HLCSRPT1
- D DISPLAY K ^TMP("TLOG",$J)
- Q
- ;
- LNKSRCH ; Report all messages on A logical link between start and end date/time
- W ! ;S HLCSHDR="Logical Link Selection" D HLCSBAR
- S DIR(0)="PAO^870:AERO",DIR("A")="Select Logical Link for Report: ALL//"
- D ^DIR S:($D(DUOUT)!$D(DTOUT)) STOP=1 Q:$D(STOP)
- I X'="",(Y=-1) W !,X_" NOT VALID " K X,Y G LNKSRCH
- I X="" S HLCSLS=0 K DIR,X,Y Q
- S HLCSLNK=$P(Y,U,2),HLCSTLNK=HLCSLNK K DIR,X,Y
- S HLCSLS=1
- Q
- ;
- EVNSRCH ; Reports matching Message and Event Types for a logical link.
- W ! ;S HLCSHDR="Message/Event Type Search" D HLCSBAR
- S HLCSES1=1,HLCSES2=2
- S DIR(0)="PAO^771.2:AEO",DIR("A")="Select Message Type for Report: ALL//"
- D ^DIR S:$D(DUOUT)!($D(DTOUT)) STOP=1 Q:$D(STOP)
- I X'="",(Y=-1) W !,X_" NOT VALID " K X,Y G EVNSRCH
- I X="" S Y="^",HLCSES1=0
- S HLCSTEV1=$P(Y,U,2) K DIR,X,Y
- W !
- S DIR(0)="PAO^779.001:AEO",DIR("A")="Select Event Type for Report: ALL//"
- D ^DIR S:$D(DUOUT)!($D(DTOUT)) STOP=1 Q:$D(STOP)
- I X'="",(Y=-1) W !,X_" NOT VALID " K X,Y G EVNSRCH
- I X="" S Y="^",HLCSES2=0
- S HLCSTEV2=$P(Y,U,2) K DIR,X,Y
- I HLCSTEV1="" S HLCSTEV1=" "
- I HLCSTEV2="" S HLCSTEV2=" "
- S HLCSTEVN=HLCSTEV1_":"_HLCSTEV2,HLCSES=+HLCSES1+(+HLCSES2)
- Q
- ;
- STATCHK ; Determine whether a specific stauts is desired.
- W @IOF,! S HLCSHDR="Message Criteria for Search" D HLCSBAR
- S HLCSSC=1
- S DIR(0)="PAO^771.6:AEO",DIR("A")="Select Status Code for Report: ALL//"
- D ^DIR S:$D(DUOUT)!($D(DTOUT)) STOP=1 Q:$D(STOP)
- I X'="",(Y=-1) W !,X_" NOT VALID " K DIR,X,Y G STATCHK
- I X="" S Y="^",HLCSSC=0 K DIR,X,Y Q
- S HLCSTAT=$P(Y,U,2),HLCSTSTC=$P(Y,U,1)
- K DIR,X,Y
- Q
- FORMAT ; Format a report line
- S HLCSY=""
- S HLCSRNO=HLCSJ,SPACE20=" "
- I VERS22'="YES" D
- . S HLCSRNO=HLCSRNO_SPACE20 S HLCSRNO=$E(HLCSRNO,1,14) S HLCSY=HLCSRNO_" "
- . S HLCSMID=$P(HLCSX,U,2),HLCSMX=HLCSMID,HLCSPTR=$P(HLCSX,U,1)
- . S HLCSMID=HLCSMID_SPACE20 S HLCSMID=$E(HLCSMID,1,20)
- . S HLCSY=HLCSY_HLCSMID_" "
- I VERS22="YES" D
- . S HLCSMID=$P(HLCSX,U,2),HLCSMX=HLCSMID,HLCSPTR=$P(HLCSX,U,1)
- . S HLCSMID="$.%$CREF$^TMP($J,""MESSAGE"","_HLCSRNO_")$CREF$^"_HLCSMX_"$.%"
- . S Y=$L(HLCSMX),X=$E(SPACE20,1,20-Y) S HLCSMID=HLCSMID_X K X,Y
- . S HLCSY=HLCSMID_" "
- . S HLCSDTE=$P(HLCSX,U,1)
- . S HLCSDTE=$P(^HL(772,HLCSDTE,0),U,1)
- . S YR=$E(HLCSDTE,2,3),MO=$E(HLCSDTE,4,5),DAY=$E(HLCSDTE,6,7)
- . S HLCSDTE=MO_DAY_YR_"."_$P(HLCSDTE,".",2)
- . S HLCSDTE=HLCSDTE_SPACE20,HLCSDTE=$E(HLCSDTE,1,14)
- . S HLCSY=HLCSY_HLCSDTE_" "
- S HLCSY=HLCSY_$E(HLCSLNK_SPACE20,1,10)_" "
- S HLCSY=HLCSY_HLCSEVN_" "
- S HLCSTYP=$P(HLCSX,U,3) S:HLCSTYP="O" HLCSTYP="OT" S:HLCSTYP="I" HLCSTYP="IN"
- S HLCSY=HLCSY_$E(HLCSTYP_SPACE20,1,2)_" "
- S HLCSSRVR=$P(HLCSX,U,11) I HLCSSRVR'="" S HLCSSRVR=$P(^HL(771,HLCSSRVR,0),U,1)
- S HLCSY=HLCSY_$E(HLCSSRVR_SPACE20,1,8)_" "
- S HLCSCLNT=$P(HLCSX,U,12) I HLCSCLNT'="" S HLCSCLNT=$P(^HL(771,HLCSCLNT,0),U,1)
- S HLCSY=HLCSY_$E(HLCSCLNT_SPACE20,1,8)
- S HLCSLN=HLCSLN+1
- I VERS22'="YES" S HLCSY=HLCSY_" " I $D(^HLMA(HLCSJ,"MSH",1,0)) S HLCSY=HLCSY_^HLMA(HLCSJ,"MSH",1,0)
- S ^TMP("TLOG",$J,HLCSLN)=HLCSY
- I VERS22="YES" S ^TMP($J,"MESSAGE",HLCSJ)="$XC$^D SHOWMSG^HLCSRPT1("_HLCSJ_","_HLCSPTR_")$XC$^MESSAGE"
- Q
- ;
- HLCSBAR ; Center Title on Top Line of Screen
- W RVON,?(80-$L(HLCSHDR)\2),HLCSHDR,$E(SPACE,$X,77),RVOFF,!
- Q
- ;
- EXIT ;
- Q
- ;
- HLCSRPT3 ;ISC-SF/RAH-TRANS LOG MESSAGE SEARCH ;08/24/99 08:09 [ 04/02/2003 8:38 AM ]
- +1 ;;1.6;HEALTH LEVEL SEVEN;**1004**;APR 1, 2003
- +2 ;;1.6;HEALTH LEVEL SEVEN;**50,57**;Oct 13, 1995
- +3 ;
- +4 QUIT
- ADVSRCH ; Entry point for message search. (from HLCSRPT)
- +1 SET (HLCSLS,HLSCES,HLCSSC)=0
- +2 DO GETTIME
- IF $DATA(STOP)
- QUIT
- +3 DO DT2IEN
- IF $DATA(STOP)
- QUIT
- +4 DO STATCHK
- IF $DATA(STOP)
- QUIT
- +5 DO LNKSRCH
- IF $DATA(STOP)
- QUIT
- +6 DO EVNSRCH
- IF $DATA(STOP)
- QUIT
- +7 DO SEARCH
- +8 DO EXIT
- +9 SET STOP=1
- +10 QUIT
- GETTIME ;
- +1 WRITE @IOF,!
- SET HLCSHDR="Start/Stop Time Selection"
- DO HLCSBAR
- GETSTART ;
- +1 WRITE !!," Enter START Date and Time. Date is required.",!
- +2 SET DIR(0)="D^::AEPSTX"
- SET DIR("?")="^D HELP^%DTC"
- SET DIR("B")="T"
- +3 DO ^DIR
- IF $DATA(DIRUT)!(X="")
- SET STOP=1
- IF $DATA(STOP)
- KILL DIR,X,Y
- QUIT
- +4 IF Y'["."
- SET Y=Y_".000001"
- +5 SET HLCSST=Y
- KILL DIR,X,Y
- GETEND ;
- +1 WRITE !!," Enter END Date and Time. Date is required.",!
- +2 SET DIR(0)="D^::AESTX"
- SET DIR("?")="^D HELP^%DTC"
- SET DIR("B")="NOW"
- +3 DO ^DIR
- IF $DATA(DIRUT)!(X="")
- SET STOP=1
- IF $DATA(STOP)
- KILL DIR,X,Y
- QUIT
- +4 IF Y'["."
- SET Y=Y_".235959"
- +5 SET HLCSET=Y
- KILL DIR,X,Y
- +6 QUIT
- +7 ;
- DT2IEN ;
- +1 ;set variable to HLCSST-.0000001
- +2 ;$O thru ^HL(772,"B",dt)
- +3 ;get ien from "B" xref.
- +4 ; that's starting value for $O(^HLMA("B",772ien,ien))
- +5 SET HLCSI=HLCSST-.0000001
- +6 SET HLCSI=$ORDER(^HL(772,"B",HLCSI))
- +7 IF HLCSI=""
- SET STOP=1
- WRITE !!,HLCSNREC,!!
- SET DIR(0)="E"
- DO ^DIR
- KILL DIR
- QUIT
- +8 SET HLCSJ=0
- SET HLCSJ=$ORDER(^HL(772,"B",HLCSI,HLCSJ))
- +9 SET HLCSST=HLCSJ
- +10 ;set variable to HLCSET+.0000001
- +11 ;reverse $O thru ^HL(772,"B",dt)
- +12 ;get ien fron "B" xref.
- +13 ;that's ending value for the $O thru ^HLMA("B"
- +14 SET HLCSI=HLCSET+.0000001
- +15 SET HLCSI=$ORDER(^HL(772,"B",HLCSI),-1)
- +16 SET HLCSJ="Z"
- SET HLCSJ=$ORDER(^HL(772,"B",HLCSI,HLCSJ),-1)
- +17 SET HLCSET=HLCSJ
- +18 QUIT
- +19 ;
- DISPLAY ; common display method
- +1 ; clean-up here
- +2 SET HLCSPTR=$PIECE(^TMP("TLOG",$JOB,1)," ")
- SET HLCSK=$ORDER(^HLMA("C",HLCSPTR,0))
- +3 SET HLCSPTR=+$PIECE($GET(^HLMA(+HLCSK,0)),U)
- +4 IF VERS22'="YES"
- DO DOCLIST^DDBR("^TMP($J,""LIST"")","NR")
- +5 IF '$TEST
- DO BROWSE^DDBR("^TMP(""TLOG"",$J)","NA",HLCSTITL)
- +6 QUIT
- +7 ;
- SEARCH ;
- +1 WRITE !!," . . . PLEASE WAIT, THIS CAN TAKE AWHILE . . .",!
- +2 SET HLCSI=HLCSST-.1
- SET HLCSLN=0
- +3 FOR I=HLCSST:1:HLCSET
- SET HLCSI=$ORDER(^HLMA("B",HLCSI))
- IF HLCSI>HLCSET!(HLCSI="")
- QUIT
- Begin DoDot:1
- +4 SET HLCSN=HLCSI
- SET HLCSJ=0
- FOR
- SET HLCSJ=$ORDER(^HLMA("B",HLCSI,HLCSJ))
- IF (HLCSJ="")
- QUIT
- Begin DoDot:2
- +5 IF '$DATA(^HLMA(HLCSJ,0))
- QUIT
- SET HLCSX=^(0)
- SET HLCSDTP=$PIECE($GET(^("S")),U)
- +6 ;must have a status
- +7 IF '$GET(^HLMA(HLCSJ,"P"))
- QUIT
- SET HLCSSTC=$PIECE(^("P"),U)
- +8 ;check for only one status, if not the status we want, quit
- +9 IF HLCSSC=1
- IF (HLCSTSTC'=HLCSSTC)
- QUIT
- +10 SET HLCSLINK=$PIECE(HLCSX,U,7)
- SET HLCSLNK=" "
- +11 IF HLCSLINK'=""
- IF ($DATA(^HLCS(870,HLCSLINK,0)))
- SET HLCSLNK=$PIECE(^HLCS(870,HLCSLINK,0),U,1)
- +12 SET HLCSEVN1=$PIECE(HLCSX,U,13)
- IF HLCSEVN1'=""
- IF ($DATA(^HL(771.2,HLCSEVN1,0)))
- SET HLCSEVN1=$PIECE(^HL(771.2,HLCSEVN1,0),U,1)
- +13 SET HLCSEVN2=$PIECE(HLCSX,U,14)
- IF HLCSEVN2'=""
- IF ($DATA(^HL(779.001,HLCSEVN2,0)))
- SET HLCSEVN2=$PIECE(^HL(779.001,HLCSEVN2,0),U,1)
- +14 IF HLCSEVN1=""
- SET HLCSEVN1=" "
- +15 IF HLCSEVN2=""
- SET HLCSEVN2=" "
- +16 IF $LENGTH(HLCSEVN1)<3
- SET HLCSEVN1=HLCSEVN1_" "
- SET HLCSEVN1=$EXTRACT(HLCSEVN1,1,3)
- +17 IF $LENGTH(HLCSEVN2)<3
- SET HLCSEVN2=HLCSEVN2_" "
- SET HLCSEVN2=$EXTRACT(HLCSEVN2,1,3)
- +18 SET HLCSEVN=HLCSEVN1_":"_HLCSEVN2
- +19 IF HLCSLS>0
- IF (HLCSTLNK'=HLCSLNK)
- QUIT
- +20 IF HLCSES>0
- IF (HLCSES1=1)&(HLCSTEV1'=HLCSEVN1)
- QUIT
- +21 IF HLCSES>0
- IF (HLCSES2=2)&(HLCSTEV2'=HLCSEVN2)
- QUIT
- +22 IF HLCSSC=1
- IF (HLCSTSTC'=HLCSSTC)
- QUIT
- +23 DO FORMAT
- +24 QUIT
- End DoDot:2
- +25 QUIT
- End DoDot:1
- +26 IF '$DATA(^TMP("TLOG",$JOB,1))
- WRITE !!,HLCSNREC,!!
- SET DIR(0)="E"
- DO ^DIR
- KILL DIR
- QUIT
- +27 IF VERS22'="YES"
- SET HLCSTITL="IEN RECORD # MESSAGE ID # Log Link Msg:Evn IO Sndg Apl Rcvr Apl HDR"
- +28 IF '$TEST
- SET HLCSTITL="MESSAGE ID # D/T Entered Log Link Msg:Evn IO Sndg Apl Rcvr Apl "
- +29 IF VERS22'="YES"
- DO FAKR^HLCSRPT1
- +30 DO DISPLAY
- KILL ^TMP("TLOG",$JOB)
- +31 QUIT
- +32 ;
- LNKSRCH ; Report all messages on A logical link between start and end date/time
- +1 ;S HLCSHDR="Logical Link Selection" D HLCSBAR
- WRITE !
- +2 SET DIR(0)="PAO^870:AERO"
- SET DIR("A")="Select Logical Link for Report: ALL//"
- +3 DO ^DIR
- IF ($DATA(DUOUT)!$DATA(DTOUT))
- SET STOP=1
- IF $DATA(STOP)
- QUIT
- +4 IF X'=""
- IF (Y=-1)
- WRITE !,X_" NOT VALID "
- KILL X,Y
- GOTO LNKSRCH
- +5 IF X=""
- SET HLCSLS=0
- KILL DIR,X,Y
- QUIT
- +6 SET HLCSLNK=$PIECE(Y,U,2)
- SET HLCSTLNK=HLCSLNK
- KILL DIR,X,Y
- +7 SET HLCSLS=1
- +8 QUIT
- +9 ;
- EVNSRCH ; Reports matching Message and Event Types for a logical link.
- +1 ;S HLCSHDR="Message/Event Type Search" D HLCSBAR
- WRITE !
- +2 SET HLCSES1=1
- SET HLCSES2=2
- +3 SET DIR(0)="PAO^771.2:AEO"
- SET DIR("A")="Select Message Type for Report: ALL//"
- +4 DO ^DIR
- IF $DATA(DUOUT)!($DATA(DTOUT))
- SET STOP=1
- IF $DATA(STOP)
- QUIT
- +5 IF X'=""
- IF (Y=-1)
- WRITE !,X_" NOT VALID "
- KILL X,Y
- GOTO EVNSRCH
- +6 IF X=""
- SET Y="^"
- SET HLCSES1=0
- +7 SET HLCSTEV1=$PIECE(Y,U,2)
- KILL DIR,X,Y
- +8 WRITE !
- +9 SET DIR(0)="PAO^779.001:AEO"
- SET DIR("A")="Select Event Type for Report: ALL//"
- +10 DO ^DIR
- IF $DATA(DUOUT)!($DATA(DTOUT))
- SET STOP=1
- IF $DATA(STOP)
- QUIT
- +11 IF X'=""
- IF (Y=-1)
- WRITE !,X_" NOT VALID "
- KILL X,Y
- GOTO EVNSRCH
- +12 IF X=""
- SET Y="^"
- SET HLCSES2=0
- +13 SET HLCSTEV2=$PIECE(Y,U,2)
- KILL DIR,X,Y
- +14 IF HLCSTEV1=""
- SET HLCSTEV1=" "
- +15 IF HLCSTEV2=""
- SET HLCSTEV2=" "
- +16 SET HLCSTEVN=HLCSTEV1_":"_HLCSTEV2
- SET HLCSES=+HLCSES1+(+HLCSES2)
- +17 QUIT
- +18 ;
- STATCHK ; Determine whether a specific stauts is desired.
- +1 WRITE @IOF,!
- SET HLCSHDR="Message Criteria for Search"
- DO HLCSBAR
- +2 SET HLCSSC=1
- +3 SET DIR(0)="PAO^771.6:AEO"
- SET DIR("A")="Select Status Code for Report: ALL//"
- +4 DO ^DIR
- IF $DATA(DUOUT)!($DATA(DTOUT))
- SET STOP=1
- IF $DATA(STOP)
- QUIT
- +5 IF X'=""
- IF (Y=-1)
- WRITE !,X_" NOT VALID "
- KILL DIR,X,Y
- GOTO STATCHK
- +6 IF X=""
- SET Y="^"
- SET HLCSSC=0
- KILL DIR,X,Y
- QUIT
- +7 SET HLCSTAT=$PIECE(Y,U,2)
- SET HLCSTSTC=$PIECE(Y,U,1)
- +8 KILL DIR,X,Y
- +9 QUIT
- FORMAT ; Format a report line
- +1 SET HLCSY=""
- +2 SET HLCSRNO=HLCSJ
- SET SPACE20=" "
- +3 IF VERS22'="YES"
- Begin DoDot:1
- +4 SET HLCSRNO=HLCSRNO_SPACE20
- SET HLCSRNO=$EXTRACT(HLCSRNO,1,14)
- SET HLCSY=HLCSRNO_" "
- +5 SET HLCSMID=$PIECE(HLCSX,U,2)
- SET HLCSMX=HLCSMID
- SET HLCSPTR=$PIECE(HLCSX,U,1)
- +6 SET HLCSMID=HLCSMID_SPACE20
- SET HLCSMID=$EXTRACT(HLCSMID,1,20)
- +7 SET HLCSY=HLCSY_HLCSMID_" "
- End DoDot:1
- +8 IF VERS22="YES"
- Begin DoDot:1
- +9 SET HLCSMID=$PIECE(HLCSX,U,2)
- SET HLCSMX=HLCSMID
- SET HLCSPTR=$PIECE(HLCSX,U,1)
- +10 SET HLCSMID="$.%$CREF$^TMP($J,""MESSAGE"","_HLCSRNO_")$CREF$^"_HLCSMX_"$.%"
- +11 SET Y=$LENGTH(HLCSMX)
- SET X=$EXTRACT(SPACE20,1,20-Y)
- SET HLCSMID=HLCSMID_X
- KILL X,Y
- +12 SET HLCSY=HLCSMID_" "
- +13 SET HLCSDTE=$PIECE(HLCSX,U,1)
- +14 SET HLCSDTE=$PIECE(^HL(772,HLCSDTE,0),U,1)
- +15 SET YR=$EXTRACT(HLCSDTE,2,3)
- SET MO=$EXTRACT(HLCSDTE,4,5)
- SET DAY=$EXTRACT(HLCSDTE,6,7)
- +16 SET HLCSDTE=MO_DAY_YR_"."_$PIECE(HLCSDTE,".",2)
- +17 SET HLCSDTE=HLCSDTE_SPACE20
- SET HLCSDTE=$EXTRACT(HLCSDTE,1,14)
- +18 SET HLCSY=HLCSY_HLCSDTE_" "
- End DoDot:1
- +19 SET HLCSY=HLCSY_$EXTRACT(HLCSLNK_SPACE20,1,10)_" "
- +20 SET HLCSY=HLCSY_HLCSEVN_" "
- +21 SET HLCSTYP=$PIECE(HLCSX,U,3)
- IF HLCSTYP="O"
- SET HLCSTYP="OT"
- IF HLCSTYP="I"
- SET HLCSTYP="IN"
- +22 SET HLCSY=HLCSY_$EXTRACT(HLCSTYP_SPACE20,1,2)_" "
- +23 SET HLCSSRVR=$PIECE(HLCSX,U,11)
- IF HLCSSRVR'=""
- SET HLCSSRVR=$PIECE(^HL(771,HLCSSRVR,0),U,1)
- +24 SET HLCSY=HLCSY_$EXTRACT(HLCSSRVR_SPACE20,1,8)_" "
- +25 SET HLCSCLNT=$PIECE(HLCSX,U,12)
- IF HLCSCLNT'=""
- SET HLCSCLNT=$PIECE(^HL(771,HLCSCLNT,0),U,1)
- +26 SET HLCSY=HLCSY_$EXTRACT(HLCSCLNT_SPACE20,1,8)
- +27 SET HLCSLN=HLCSLN+1
- +28 IF VERS22'="YES"
- SET HLCSY=HLCSY_" "
- IF $DATA(^HLMA(HLCSJ,"MSH",1,0))
- SET HLCSY=HLCSY_^HLMA(HLCSJ,"MSH",1,0)
- +29 SET ^TMP("TLOG",$JOB,HLCSLN)=HLCSY
- +30 IF VERS22="YES"
- SET ^TMP($JOB,"MESSAGE",HLCSJ)="$XC$^D SHOWMSG^HLCSRPT1("_HLCSJ_","_HLCSPTR_")$XC$^MESSAGE"
- +31 QUIT
- +32 ;
- HLCSBAR ; Center Title on Top Line of Screen
- +1 WRITE RVON,?(80-$LENGTH(HLCSHDR)\2),HLCSHDR,$EXTRACT(SPACE,$X,77),RVOFF,!
- +2 QUIT
- +3 ;
- EXIT ;
- +1 QUIT
- +2 ;