| 1 | HLCSORA1 ;ALB/MFK - REPORT FOR FILE #870 - 11/9/94
 | 
|---|
| 2 |  ;;1.6;HEALTH LEVEL SEVEN;;Oct 13, 1995
 | 
|---|
| 3 |  ;Gather and sort for a custom report from the #870 file.
 | 
|---|
| 4 |  ;We want to be able to sort on various kinds of errors or statuses
 | 
|---|
| 5 | START ;
 | 
|---|
| 6 |  N HLERR,HLSTAT,LINE,HLFILE,HLLINE,HLTMP,HLDIR,HLLINEN,HLNXT
 | 
|---|
| 7 |  N TMPLINE,START,END
 | 
|---|
| 8 |  S LINE="",$P(LINE,"-",IOM)=""
 | 
|---|
| 9 |  S HLERR=$P(HLSORT,"^",1)
 | 
|---|
| 10 |  S HLSTAT=$P(HLSORT,"^",2)
 | 
|---|
| 11 |  S HLLINEN=0
 | 
|---|
| 12 |  K ^TMP("HLCSORAT",$J)
 | 
|---|
| 13 |  I (HLQUEUE["1") S HLDIR=1 D LOOP
 | 
|---|
| 14 |  I (HLQUEUE["2") S HLDIR=2 D LOOP
 | 
|---|
| 15 |  ; KILL VARIABLES USED
 | 
|---|
| 16 |  K HLSORT,HLQUEUE,HLLL
 | 
|---|
| 17 |  Q
 | 
|---|
| 18 | LOOP S HLFILE=0
 | 
|---|
| 19 |  ;START AFTER THE 0 NODE.
 | 
|---|
| 20 |  F  S HLFILE=$O(^HLCS(870,HLLL,HLDIR,HLFILE)) Q:(HLFILE="B")!(HLFILE="")  D
 | 
|---|
| 21 |  .S HLLINE=$G(^HLCS(870,HLLL,HLDIR,HLFILE,0))
 | 
|---|
| 22 |  .Q:((HLSTAT'="")&($P(HLLINE,"^",2)=""))
 | 
|---|
| 23 |  .Q:((HLERR'="")&($P(HLLINE,"^",3)=""))
 | 
|---|
| 24 |  .I ((HLERR[$P(HLLINE,"^",3))!(HLERR=""))&((HLSTAT[$P(HLLINE,"^",2))!(HLSTAT="")) D OUTPUT
 | 
|---|
| 25 |  Q
 | 
|---|
| 26 | OUTPUT ;
 | 
|---|
| 27 |  S HLLINEN=HLLINEN+1
 | 
|---|
| 28 |  S ^TMP("HLCSORAT",$J,HLLINEN,1)=LINE
 | 
|---|
| 29 |  S ^TMP("HLCSORAT",$J,HLLINEN,2)="     Node: "_($P($G(^HLCS(870,HLLL,0)),"^",1))
 | 
|---|
| 30 |  S $P(X," ",41)=""
 | 
|---|
| 31 |  S ^TMP("HLCSORAT",$J,HLLINEN,2)=^TMP("HLCSORAT",$J,HLLINEN,2)_$E(X,1,40-$L(^TMP("HLCSORAT",$J,HLLINEN,2)))_"Queue: "_($S(HLDIR=1:"In",HLDIR=2:"Out"))
 | 
|---|
| 32 |  S ^TMP("HLCSORAT",$J,HLLINEN,3)="     Message number: "_HLFILE
 | 
|---|
| 33 |  S ^TMP("HLCSORAT",$J,HLLINEN,4)="     Message status: "_$$STATUS($P(HLLINE,"^",2))
 | 
|---|
| 34 |  S ^TMP("HLCSORAT",$J,HLLINEN,5)="     Message error: "_$$ERROR($P(HLLINE,"^",3))
 | 
|---|
| 35 |  S ^TMP("HLCSORAT",$J,HLLINEN,6)="     Message text:"
 | 
|---|
| 36 |  S HLNXT=0
 | 
|---|
| 37 |  S HLTMP=7
 | 
|---|
| 38 |  F  S HLNXT=$O(^HLCS(870,HLLL,HLDIR,HLFILE,1,HLNXT)) Q:(HLNXT="")  D
 | 
|---|
| 39 |  .S START=1,END=(IOM-3)
 | 
|---|
| 40 |  .F  S TMPLINE=$E(^HLCS(870,HLLL,HLDIR,HLFILE,1,HLNXT,0),START,END) Q:($L(TMPLINE)=0)  D
 | 
|---|
| 41 |  ..S ^TMP("HLCSORAT",$J,HLLINEN,HLTMP)=TMPLINE
 | 
|---|
| 42 |  ..S START=START+(IOM-3),END=END+(IOM-3)
 | 
|---|
| 43 |  ..S HLTMP=HLTMP+1
 | 
|---|
| 44 |  Q
 | 
|---|
| 45 | ERROR(ERR) ;
 | 
|---|
| 46 |  S ERR=$$EXPAND^HLUTIL1(870.019,2,ERR)
 | 
|---|
| 47 |  Q ERR
 | 
|---|
| 48 | STATUS(STAT) ;
 | 
|---|
| 49 |  S STAT=$$EXPAND^HLUTIL1(870.01,1,STAT)
 | 
|---|
| 50 |  Q STAT
 | 
|---|