| 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 | 
|---|