Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: HLCSORA1

HLCSORA1.m

Go to the documentation of this file.
  1. HLCSORA1 ;ALB/MFK - REPORT FOR FILE #870 - 11/9/94
  1. ;;1.6;HEALTH LEVEL SEVEN;;Oct 13, 1995
  1. ;Gather and sort for a custom report from the #870 file.
  1. ;We want to be able to sort on various kinds of errors or statuses
  1. START ;
  1. N HLERR,HLSTAT,LINE,HLFILE,HLLINE,HLTMP,HLDIR,HLLINEN,HLNXT
  1. N TMPLINE,START,END
  1. S LINE="",$P(LINE,"-",IOM)=""
  1. S HLERR=$P(HLSORT,"^",1)
  1. S HLSTAT=$P(HLSORT,"^",2)
  1. S HLLINEN=0
  1. K ^TMP("HLCSORAT",$J)
  1. I (HLQUEUE["1") S HLDIR=1 D LOOP
  1. I (HLQUEUE["2") S HLDIR=2 D LOOP
  1. ; KILL VARIABLES USED
  1. K HLSORT,HLQUEUE,HLLL
  1. Q
  1. LOOP S HLFILE=0
  1. ;START AFTER THE 0 NODE.
  1. F S HLFILE=$O(^HLCS(870,HLLL,HLDIR,HLFILE)) Q:(HLFILE="B")!(HLFILE="") D
  1. .S HLLINE=$G(^HLCS(870,HLLL,HLDIR,HLFILE,0))
  1. .Q:((HLSTAT'="")&($P(HLLINE,"^",2)=""))
  1. .Q:((HLERR'="")&($P(HLLINE,"^",3)=""))
  1. .I ((HLERR[$P(HLLINE,"^",3))!(HLERR=""))&((HLSTAT[$P(HLLINE,"^",2))!(HLSTAT="")) D OUTPUT
  1. Q
  1. OUTPUT ;
  1. S HLLINEN=HLLINEN+1
  1. S ^TMP("HLCSORAT",$J,HLLINEN,1)=LINE
  1. S ^TMP("HLCSORAT",$J,HLLINEN,2)=" Node: "_($P($G(^HLCS(870,HLLL,0)),"^",1))
  1. S $P(X," ",41)=""
  1. 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"))
  1. S ^TMP("HLCSORAT",$J,HLLINEN,3)=" Message number: "_HLFILE
  1. S ^TMP("HLCSORAT",$J,HLLINEN,4)=" Message status: "_$$STATUS($P(HLLINE,"^",2))
  1. S ^TMP("HLCSORAT",$J,HLLINEN,5)=" Message error: "_$$ERROR($P(HLLINE,"^",3))
  1. S ^TMP("HLCSORAT",$J,HLLINEN,6)=" Message text:"
  1. S HLNXT=0
  1. S HLTMP=7
  1. F S HLNXT=$O(^HLCS(870,HLLL,HLDIR,HLFILE,1,HLNXT)) Q:(HLNXT="") D
  1. .S START=1,END=(IOM-3)
  1. .F S TMPLINE=$E(^HLCS(870,HLLL,HLDIR,HLFILE,1,HLNXT,0),START,END) Q:($L(TMPLINE)=0) D
  1. ..S ^TMP("HLCSORAT",$J,HLLINEN,HLTMP)=TMPLINE
  1. ..S START=START+(IOM-3),END=END+(IOM-3)
  1. ..S HLTMP=HLTMP+1
  1. Q
  1. ERROR(ERR) ;
  1. S ERR=$$EXPAND^HLUTIL1(870.019,2,ERR)
  1. Q ERR
  1. STATUS(STAT) ;
  1. S STAT=$$EXPAND^HLUTIL1(870.01,1,STAT)
  1. Q STAT