| [613] | 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 | 
|---|