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

ZZHLGHB1.m

Go to the documentation of this file.
  1. ZZHLGHB1 ; HOIFO/WAA - Routine to get HL7 Data from HL logical links ;6/27/08
  1. ; version 1.4
  1. ;;;;;Jun 27, 2008;Build 88
  1. EN1 ; [Procedure] Entry Point for Message Array
  1. S CNT=0
  1. K ARRAY
  1. D LINK
  1. D HEAD
  1. D BODY
  1. D TAIL
  1. S FILE="AXPINT$DISK:[AXPINT]HL7LINK.REP"
  1. O FILE:"NWS":1
  1. Q:'$T
  1. S CNT=-1 F S CNT=$O(ARRAY(CNT)) Q:CNT="" U FILE W ARRAY(CNT),!
  1. C FILE
  1. Q
  1. N CCNT,NAME
  1. S CCNT=0,NAME=""
  1. F S NAME=$O(^HLCS(870,"B",NAME)) Q:NAME="" S INPUT(CCNT)=NAME,CCNT=CCNT+1
  1. Q
  1. BLD(LINK) ; This subroutine will gather all the logical links and place them into input
  1. N NAME,IP,PORT,STAT,IEN,SUNODE
  1. S NAME=LINK
  1. S IEN=$O(^HLCS(870,"B",NAME,0))
  1. I $G(^HLCS(870,IEN,0))="" D Q
  1. S IP=$$GET1^DIQ(870,IEN,400.01,"E")
  1. I IP="" S IP=$$GET1^DIQ(870,IEN,400.08,"E")
  1. S PORT=$$GET1^DIQ(870,IEN,400.02,"E")
  1. S SUNODE=$$GET1^DIQ(870,IEN,400.06,"E")
  1. S STAT=$$GET1^DIQ(870,IEN,4,"E")
  1. Q:($P($G(LinkFilter),"=",1)="FILTER")&'(NAME[$P($G(LinkFilter),"=",2))
  1. Q:($P($G(IPFilter),"=",1)="FILTER")&'(IP[$P($G(IPFilter),"=",2))
  1. Q:($P($G(PortFilter),"=",1)="FILTER")&'(PORT[$P($G(PortFilter),"=",2))
  1. Q:($P($G(StatusFilter),"=",1)="FILTER")&'(STAT[$P($G(StatusFilter),"=",2))
  1. S ARRAY(CNT)="<tr>",CNT=CNT+1
  1. S ARRAY(CNT)="<td>"
  1. I ($P($G(LinkFilter),"=",1)="HIGHLIGHT")&(NAME[$P($G(LinkFilter),"=",2)) S ARRAY(CNT)="<td bgcolor=""#0099FF"">"
  1. S ARRAY(CNT)=ARRAY(CNT)_NAME_"</td>",CNT=CNT+1
  1. S ARRAY(CNT)="<td>"
  1. I ($P($G(IPFilter),"=",1)="HIGHLIGHT")&(IP[$P($G(IPFilter),"=",2)) S ARRAY(CNT)="<td bgcolor=""#0099FF"">"
  1. S ARRAY(CNT)=ARRAY(CNT)_IP_"  </td>",CNT=CNT+1
  1. S ARRAY(CNT)="<td>"
  1. I ($P($G(PortFilter),"=",1)="HIGHLIGHT")&(PORT[$P($G(PortFilter),"=",2)) S ARRAY(CNT)="<td bgcolor=""#0099FF"">"
  1. S ARRAY(CNT)=ARRAY(CNT)_PORT_"  </td>",CNT=CNT+1
  1. S ARRAY(CNT)="<td>"
  1. I ($P($G(StatusFilter),"=",1)="HIGHLIGHT")&(STAT[$P($G(StatusFilter),"=",2)) S ARRAY(CNT)="<td bgcolor=""#0099FF"">"
  1. S ARRAY(CNT)=ARRAY(CNT)_STAT_"  </td>",CNT=CNT+1
  1. ;S ARRAY(CNT)="<td>"_SUNODE_"</td>",CNT=CNT+1
  1. S ARRAY(CNT)="</tr>",CNT=CNT+1
  1. Q
  1. S ARRAY(CNT)="<!DOCTYPE html PUBLIC ""-//W3C//DTD HTML 4.01 Transitional//EN"">",CNT=CNT+1
  1. S ARRAY(CNT)="<HTML>",CNT=CNT+1
  1. S ARRAY(CNT)="<HEAD>",CNT=CNT+1
  1. S ARRAY(CNT)="<meta content=""text/html;charset=ISO-8859-1"" http-equiv=""Content-Type"">",CNT=CNT+1
  1. S ARRAY(CNT)="<title>HL LOGICAL LINK STATUS DISPLAY</title>",CNT=CNT+1
  1. S ARRAY(CNT)="</HEAD>",CNT=CNT+1
  1. S ARRAY(CNT)="<BODY>",CNT=CNT+1
  1. Q
  1. TAIL ; Build Tail of HTML Table
  1. S ARRAY(CNT)="</BODY>",CNT=CNT+1
  1. S ARRAY(CNT)="</HTML>",CNT=CNT+1
  1. Q
  1. BODY ; Build body of report
  1. N LNK
  1. S LNK=""
  1. S ARRAY(CNT)="<BR><TABLE STYLE=""width: 6.5in; text-align: left;"" border=""1"" cellpadding=""3"" cellspacing=""2"">",CNT=CNT+1
  1. S ARRAY(CNT)="<TBODY>",CNT=CNT+1
  1. D HDR
  1. F S LNK=$O(INPUT(LNK)) Q:LNK="" D BLD(INPUT(LNK))
  1. S ARRAY="</TBODY>",CNT=CNT+1
  1. S ARRAY="</TABLE>",CNT=CNT+1
  1. Q
  1. HDR ; Build the row with all the col labels
  1. S ARRAY(CNT)="<tr>",CNT=CNT+1
  1. S ARRAY(CNT)="<td><b>Node</b></td>",CNT=CNT+1
  1. S ARRAY(CNT)="<td><b>Configuration</b></td>",CNT=CNT+1
  1. S ARRAY(CNT)="<td><b>Namespace</b></td></tr>",CNT=CNT+1
  1. S ARRAY(CNT)="<tr>",CNT=CNT+1
  1. S ARRAY(CNT)="<td>"_$ZU(110)_"</td>",CNT=CNT+1
  1. S ARRAY(CNT)="<td>"_$P($ZU(86),"*",2)_"</td>",CNT=CNT+1
  1. S ARRAY(CNT)="<td>"_$ZU(5)_"</td></tr></table>",CNT=CNT+1
  1. S ARRAY(CNT)="<BR><TABLE STYLE=""width: 6.5in; text-align: left;"" border=""1"" cellpadding=""3"" cellspacing=""2"">",CNT=CNT+1
  1. S ARRAY(CNT)="<tr>",CNT=CNT+1
  1. S ARRAY(CNT)="<td><b>HL Logical Link</b><br></td>",CNT=CNT+1
  1. S ARRAY(CNT)="<td><b>IP</b><br></td>",CNT=CNT+1
  1. S ARRAY(CNT)="<td><b>Port</b><br></td>",CNT=CNT+1
  1. S ARRAY(CNT)="<td><b>Status</b><br></td>",CNT=CNT+1
  1. ; S ARRAY(CNT)="<td><b>Total Time:</b><br></td>",CNT=CNT+1
  1. ; S ARRAY(CNT)="<td><b>Notes:</b><br></td>",CNT=CNT+1
  1. S ARRAY(CNT)="</tr>",CNT=CNT+1
  1. Q