Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  FileMan Files Accessed Via FileMan Db Call |  Global Variables Directly Accessed |  Label References |  Local Variables |  Marked Items  | All
Print Page as PDF
Routine: LA7UTILC

Package: Automated Lab Instruments

Routine: LA7UTILC


Information

LA7UTILC ;DALOI/JDB - Browse UI message <cont> ;05/01/09 15:59

Source Information

Source file <LA7UTILC.m>

Call Graph

Call Graph

Call Graph Total: 7

Package Total Call Graph
Automated Lab Instruments 2 ($$CHKDATA,$$UNESC)^LA7VHLU3  (FLD2ARR,SEG2FLDS)^LA7VHLU7  
Kernel 2 $$FMTE^XLFDT  ($$CJ,$$LJ,$$TRIM)^XLFSTR  
Health Level Seven 1 SET^HLOAPI  
MailMan 1 $$DECODEUP^XMCU1  
VA FileMan 1 GETS^DIQ  

Caller Graph

Legends:

Legend of Colors

Package Component Superscript legend

action A extended action Ea event driver Ed subscriber Su protocol O limited protocol LP run routine RR broker B edit E server Se print P screenman SM inquire I

Caller Graph

Caller Graph Total: 1

Package Total Caller Graph
Automated Lab Instruments 1 LA7UTILA  

Entry Points

Name Comments DBIA/ICR reference
BRO(LA7HDR,LA7DOC,LA7IEN,LA7J) ; Setup text for browser.
; Called from DQ^LA7UTILA
HLIN(GBL) ;
; Retrieve/Parse HL7 message from global.
; Uses LA7DOC,J,LA7X,LA7PASR in symtbl
; Can be called separately to populate ^TMP("DDB",$J
; Inputs
; GBL: Open global root where HL7 message is stored
; : Format must be ^GBL(subscripts,seq,0)=data
; : ie ^LAHM(62.49,LA7IEN,150,
PF ;
; Parse Fields
; HLO compatible array in HLOARR
; Symbol Table
; HLFS defined (HL7 Field Separator)
PC(SEGNAM,FLDNUM,SHOWNULL) ;
; Parse Components
; In Symbol table:
; HLECH defined (HL7 encoding characters)
; ^TMP($$RTNNM,$J,"COMP") already has the field's data from PF above
ADDTEXT(STR,APPEND) ;
RTNNM() ;
STRBUF(BUFF,ADD,MAXSTR,OUT) ;
; Breaks a long string into an array based on MAXSTR.
; Leftover string is in BUF after call.
; This method is recursive.
; Used in HLO2STR API.
; Inputs
; BUFF:<byref> Buffer (should be empty at start)
; ADD:<byref> New text to add (is consumed by process)
; MAXSTR: Max string length <dflt=245>
; OUT:<byref> See Outputs
; Outputs
; BUFF: Any leftover portion of the string.
; OUT: The array that holds the portions of the string,
; starting at node 0.
HLO2STR(SEGARR,FIELD,FSECH,OUT,MAXSTR) ;
; Convert an HLO segment array to a segment string.
; Useful when calling APIs that work with a segment string.
; Inputs
; SEGARR:<byref> The HLO segment array
; FIELD:<opt> The field number to extract <dflt=all>
; FSECH: The HL7 field sep and encoding characters
; OUT:<byref> See Outputs
; MAXSTR:<opt><dflt=245>
; Outputs
; Returns either the segment string or the segment length.
; If the string cant fit in one "node" the string is
; broken up into smaller sections and returned in OUT(i)
HL2HLO(STR,IN,FSECH,OUT) ;
; Convert an HL7 segment string into HLO segment array
; Inputs
; STR:<opt> Complete HL7 string segment.
; IN:<opt><byref> Local array that holds HL7 segment.
; (Must be subscripted).
; FSECH: Original field sep and encoding chars.
; OUT:<byref> See Outputs
; Outputs
; OUT array (Segment array built by SET^HLOAPI)
HL2ARR(STR,FSECH,OUT) ;
; Deconstructs an entire HL7 segment string into an array compatible
; with the ARR2HLO function.
; Inputs
; STR: The HL7 string segment to be parsed.
; FSECH: The original HL7 field sep and encoding characters.
; OUT:<byref> See Outputs. Kills on entry.
; Outputs
; OUT: The array that can be used with the ARR2HLO function.
; OUT(field#,component#,subcomp#)=value
; Repeating fields are stored in decimals ie OUT(1.01)
; FS=| EC=^#!@ STR="PID|a^b^A@B@C"
; OUT(0,1)="PID" OUT(1,1)="a" OUT(1,2)="b" OUT(1,3)="A@B@C"
; OUT(1,3,1)="A" OUT(1,3,2)="B" OUT(1,3,3)="C"
ARR2HLO(ARR,SEG,FSECH) ;
; Builds the HLO segment array from the HL2ARR array
; using the SET^HLOAPI function.
; Deletes ARR nodes as it goes & sets top levels to null to
; save space.
; Inputs
; ARR: The array built from HL2ARR.
; SEG:<byref> See Outputs.
; FSECH: The original HL7 field sep and encoding chars.
; Outputs
; SEG: The HLO SEG array.

External References

Name Field # of Occurrence
GETS^DIQ BRO+8
SET^HLOAPI ARR2HLO+28, ARR2HLO+31
$$CHKDATA^LA7VHLU3 HLO2STR+46
$$UNESC^LA7VHLU3 ARR2HLO+25
FLD2ARR^LA7VHLU7 HL2ARR+32, HL2ARR+39
SEG2FLDS^LA7VHLU7 PC+13
$$FMTE^XLFDT BRO+38
$$CJ^XLFSTR BRO+10, BRO+20, BRO+27, BRO+44, BRO+46, HLIN+54
$$LJ^XLFSTR BRO+17
$$TRIM^XLFSTR HLO2STR+53, HLO2STR+54, HLO2STR+55, HLO2STR+56
$$DECODEUP^XMCU1 BRO+40

FileMan Files Accessed Via FileMan Db Call

FileNo Call Tags
^LAHM(62.49 - [#62.49] GETS^DIQ

Global Variables Directly Accessed

Name Line Occurrences  (* Changed,  ! Killed)
^LAHM(62.49 - [#62.49] BRO+21, BRO+54
^TMP( BRO+5!, BRO+6!, HLIN+22!, HLIN+42*, HLIN+45, HLIN+50!, PF+13!
^TMP("DDB" ADDTEXT+8, ADDTEXT+11*, ADDTEXT+14*
^TMP("LA7VHLU7-S2F" HLIN+51!, PC+12!, PC+23!
^TMP($J BRO+55*
^XTMP( BRO+32, BRO+35, BRO+36

Label References

Name Line Occurrences
$$HLO2STR PF+47
$$RTNNM BRO+5, BRO+6, HLIN+22, HLIN+25, HLIN+42, HLIN+45, HLIN+50, PF+13, PC+9, PC+10
ADDTEXT BRO+10, BRO+11, BRO+18, BRO+19, BRO+20, BRO+26, BRO+27, BRO+28, BRO+38, BRO+41
, BRO+42, BRO+44, BRO+45, BRO+46, BRO+47, HLIN+37, HLIN+54, PF+51, PF+52, PF+68
PF+71, PC+22
ARR2HLO HL2HLO+23
BRO BRO+51
HL2ARR HL2HLO+22
HL2HLO HLIN+46
HLIN BRO+48
PF HLIN+48
STRBUF STRBUF+34, HLO2STR+95, HLO2STR+99

Local Variables

Legend:

>> Not killed explicitly
* Changed
! Killed
~ Newed

Name Field # of Occurrence
ADD STRBUF~, STRBUF+16*, STRBUF+27, STRBUF+28*, STRBUF+30, STRBUF+34
APPEND ADDTEXT~, ADDTEXT+2*, ADDTEXT+9, ADDTEXT+13
ARR ARR2HLO~
ARR( ARR2HLO+21
AVAIL STRBUF+15~, STRBUF+18*, STRBUF+19*, STRBUF+20, STRBUF+26*, STRBUF+27, STRBUF+28
BUF HLO2STR+13~, HLO2STR+93*, HLO2STR+95, HLO2STR+97*, HLO2STR+99, HLO2STR+101, HLO2STR+103
BUFF STRBUF~, STRBUF+18, STRBUF+23, STRBUF+24*, STRBUF+26, STRBUF+27*, STRBUF+34
C HLO2STR+13~, HLO2STR+42*, HLO2STR+45, HLO2STR+49, HLO2STR+58
CC HLO2STR+13~, HLO2STR+23*, HLO2STR+49, HLO2STR+54, HLO2STR+58
CNT HLIN+9~, HLIN+26*, HLIN+32*, HLIN+42, PF+6~, PF+12*, PF+27*
COMP PF+8~, PF+30*, PF+34, PF+45, PF+59, PF+60, PF+62, PF+66, PC+6~, PC+18*
, PC+20, ARR2HLO+12~, ARR2HLO+17*, ARR2HLO+21, ARR2HLO+28, ARR2HLO+31
COMPNUM PC+6~
D1 HL2ARR+15~, HL2ARR+22*, HL2ARR+30, HL2ARR+31, HL2ARR+39, HL2ARR+40, HL2ARR+42!
D2 HL2ARR+15~, HL2ARR+31*, HL2ARR+32, HL2ARR+34, HL2ARR+36!
DATA PF+6~, PF+32*, PF+67, PC+6~, PC+16*, PC+17, PC+20
EC HLO2STR+13~, HLO2STR+25*
ECH HLO2STR+13~, HLO2STR+22*, HLO2STR+23, HLO2STR+24, HLO2STR+25, HLO2STR+26
EOS BRO+3~, HLIN+9~, HLIN+15*, HLIN+38*, HLIN+39*, HLIN+42, HLIN+43, HLIN+49*
F HLO2STR+13~, HLO2STR+35*, HLO2STR+36*, HLO2STR+37, HLO2STR+45, HLO2STR+47, HLO2STR+60, HLO2STR+61, HLO2STR+65, HLO2STR+66
F(0 HLO2STR+27*, HLO2STR+37, HLO2STR+38, HLO2STR+39, HLO2STR+61*
FIELD HLO2STR~, HLO2STR+17*, HLO2STR+18*, HLO2STR+19, HLO2STR+36, HLO2STR+87, HLO2STR+92, HLO2STR+94, HLO2STR+97
FLD PF+6~, PF+28*, PF+33, PF+39, PF+40, PF+41, PF+42, PF+45, PF+47, PF+51
PF+53, PF+56, PF+57, PF+62, PF+66, HLO2STR+13~, HLO2STR+19*, HLO2STR+75*, HLO2STR+76, HLO2STR+97*
, HLO2STR+98, HL2ARR+15~, HL2ARR+22*, HL2ARR+27*, HL2ARR+33, HL2ARR+40, HL2ARR+41, ARR2HLO+12~, ARR2HLO+16*, ARR2HLO+19
, ARR2HLO+28, ARR2HLO+30, ARR2HLO+31
FLD( PF+39, PF+41*, PF+42*, PF+45, PF+53*, PF+57
FLDCNT PF+6~, PF+10*
FLDLAST PF+6~, PF+11*
FLDNUM PC~, PC+20, PC+21
FLDS HLO2STR+13~
FLDS( HLO2STR+38*, HLO2STR+39!, HLO2STR+65*, HLO2STR+66!, HLO2STR+76, HLO2STR+82, HLO2STR+83, HLO2STR+94, HLO2STR+98
FLDS("A" HLO2STR+75, HLO2STR+97
FLDX ARR2HLO+12~, ARR2HLO+16*, ARR2HLO+21
FS HLO2STR+13~, HLO2STR+21*, HLO2STR+38, HLO2STR+47, HLO2STR+56, HLO2STR+60, HLO2STR+65, HLO2STR+83, HLO2STR+85, HLO2STR+87
, HLO2STR+98, HL2ARR+15~, HL2ARR+17*, HL2ARR+19, HL2ARR+22
FSECH HLO2STR~, HLO2STR+21, HLO2STR+22, HLO2STR+46, HL2HLO~, HL2HLO+22, HL2HLO+23, HL2ARR~, HL2ARR+17, HL2ARR+18
, HL2ARR+21, HL2ARR+25, HL2ARR+26, HL2ARR+32, HL2ARR+39, ARR2HLO~, ARR2HLO+24, ARR2HLO+25
GBL HLIN~, HLIN+27*, HLIN+28, HLIN+29*, HLIN+31, HLIN+33
GBL(0 HLIN+33*, HLIN+34*, HLIN+35
HLARR HLIN+44~, HLIN+45*, HLIN+46, HLIN+47!
HLECH HLIN+9~, HLIN+36*, HLIN+46, PF+47, PC+13
HLFS HLIN+9~, HLIN+36*, HLIN+46, PF+47
HLOARR HLIN+44~, HLIN+46, PF+47
HLOARR( PF+40
HLOARR(0 PF+22
I BRO+3~, BRO+13*, BRO+14*, BRO+15, BRO+18, BRO+33*, BRO+34*, BRO+35*, BRO+36, BRO+38
, HLIN+9~, HLIN+14*, HLIN+30*, HLIN+31*, PF+8~, PF+49*, PF+50*, PF+51, PF+52, STRBUF+15~
, STRBUF+32*, STRBUF+33~, HLO2STR+13~, HLO2STR+74*, HLO2STR+81*, HLO2STR+82*, HLO2STR+83, HL2HLO+10~
IDX STRBUF+15~, STRBUF+21*, STRBUF+22*, STRBUF+23, HLO2STR+13~, HLO2STR+102*, HLO2STR+103
II STRBUF+15~, STRBUF+30*, STRBUF+31*, STRBUF+32, STRBUF+33~
IN PC+6~, PC+10*, PC+13, HL2HLO~, HL2HLO+13
IOM BRO+10, BRO+16, BRO+17, BRO+20, BRO+27, BRO+44, BRO+46, HLIN+54
ISCOMP PF+6~, PF+15*
ISMSH PF+6~, PF+16*, PF+23*
ISREP HL2ARR+15~, HL2ARR+20*, HL2ARR+29*, HL2ARR+30*, HL2ARR+31, HL2ARR+38, ARR2HLO+12~, ARR2HLO+18*, ARR2HLO+19*, ARR2HLO+28
, ARR2HLO+29
J BRO+3~, BRO+9*, BRO+13, BRO+20, BRO+31, BRO+44, BRO+51, HLIN+12~*, HLIN+13, HLIN+54
, ADDTEXT+12*
J(0 BRO+13*, BRO+20, BRO+31*, BRO+44, HLIN+13*, HLIN+54
K BRO+3~, BRO+13*, BRO+16*, BRO+17*, BRO+18*, BRO+19, BRO+25*, BRO+32*, BRO+33, BRO+35
, BRO+36, BRO+38
LA7 BRO+3~
LA7DOC BRO~, BRO+51, BRO+54, BRO+55, HLIN+10~*, ADDTEXT+4, ADDTEXT+8, ADDTEXT+11, ADDTEXT+14
LA7DT BRO+3~, BRO+22*, BRO+23, BRO+24
LA7DT(0 BRO+23*, BRO+25, BRO+33
LA7DT(1 BRO+24*, BRO+33
LA7HDR BRO~, BRO+54*, BRO+55
LA7IEN BRO~, BRO+8, BRO+21, BRO+37
LA7J BRO~, BRO+9
>> LA7PARS HLIN+41, PF+17
LA7X BRO+3~, BRO+21*, BRO+22, BRO+51, HLIN+11~*
MAX HLO2STR+13~
MAXSTR STRBUF~, STRBUF+17*, STRBUF+18, STRBUF+26, STRBUF+30, STRBUF+34, HLO2STR~, HLO2STR+13~, HLO2STR+15*, HLO2STR+16*
, HLO2STR+80, HLO2STR+95, HLO2STR+99
NODE PF+6~, PF+21*, PF+25*, PF+28, PF+29, PF+30, PF+31, PF+32, PF+36, PF+61
PF+65, PC+6~, PC+14*, PC+15*, PC+16, PC+18, PC+19, HLO2STR+13~, HLO2STR+31*, HLO2STR+32*
, HLO2STR+33, HLO2STR+34, HLO2STR+35, HLO2STR+41, HLO2STR+42, HLO2STR+43, HLO2STR+44, HL2HLO+14~, HL2HLO+15*, HL2HLO+16*
, HL2HLO+17, ARR2HLO+12~, ARR2HLO+13*, ARR2HLO+14*, ARR2HLO+15, ARR2HLO+16, ARR2HLO+17, ARR2HLO+21, ARR2HLO+22, ARR2HLO+27
, ARR2HLO+32
NODEN PF+6~
NXTCOMP PF+8~, PF+34*, PF+38*, PF+45
NXTFLD PF+8~, PF+33*, PF+38*, PF+45
OUT PF+8~, PF+46!, PF+47, PF+48, PF+54!, STRBUF~, STRBUF+21, STRBUF+34, HLO2STR~, HLO2STR+20!
, HLO2STR+95, HLO2STR+99, HL2HLO~, HL2HLO+12!, HL2HLO+23, HL2ARR~, HL2ARR+16!
OUT( PF+50, PF+51, PF+52, STRBUF+23*, HLO2STR+103*, HL2ARR+34*, HL2ARR+35*, HL2ARR+40*, HL2ARR+41*
OUT("A" STRBUF+22, HLO2STR+102
OUT(0 PF+48*, HL2ARR+23, HL2ARR+24*
OUT(1 HL2ARR+25*
OUT(2 HL2ARR+26*
PROCFLD PF+7~
R HLO2STR+13~, HLO2STR+41*, HLO2STR+45, HLO2STR+48, HLO2STR+59
RC HLO2STR+13~, HLO2STR+24*, HLO2STR+48, HLO2STR+55, HLO2STR+59
REP PF+8~, PF+29*, PF+57, PF+58, PF+62, PF+66, HL2ARR+15~, HL2ARR+31*, HL2ARR+33, ARR2HLO+12~
, ARR2HLO+30*, ARR2HLO+31
REPC HL2ARR+15~, HL2ARR+18*, HL2ARR+30, HL2ARR+31
S HLO2STR+13~, HLO2STR+43*, HLO2STR+45, HLO2STR+50, HLO2STR+51, HLO2STR+57
SC HLO2STR+13~, HLO2STR+26*, HLO2STR+50, HLO2STR+51, HLO2STR+53, HLO2STR+57
SEG PF+6~, PF+14*, ARR2HLO~, ARR2HLO+28, ARR2HLO+31
SEG2FLD PF+7~, PF+19*, PC+6~, PC+9*
SEGARR HLO2STR~
SEGARR(0 HLO2STR+69
SEGID PF+8~, PF+22*, PF+23, PF+51, PF+56, HL2ARR+15~, HL2ARR+19*, HL2ARR+21, HL2ARR+23
SEGIN BRO+3~, HLIN+9~, HLIN+25*
SEGNAM PC~, PC+7*, PC+20, PC+21
SHOWFLD PF+7~, PF+18*
SHOWNULL PF+7~, PF+17*, PC~, PC+8*, PC+17
SIZE HLO2STR+13~, HLO2STR+73*, HLO2STR+76*, HLO2STR+80, HLO2STR+105
STOP HLO2STR+14~, HLO2STR+30*, HLO2STR+32, HLO2STR+34*, HLO2STR+36*
STR PF+6~, PF+26*, PF+56*, PF+57*, PF+58*, PF+59*, PF+62*, PF+63*, PF+66*, PF+67*
PF+68, PC+6~, PC+20*, PC+21*, PC+22, ADDTEXT~, ADDTEXT+1*, ADDTEXT+11, ADDTEXT+14, HLO2STR+14~
, HLO2STR+29*, HLO2STR+38, HLO2STR+40*, HLO2STR+47, HLO2STR+60*, HLO2STR+64, HLO2STR+65, HLO2STR+79*, HLO2STR+80, HLO2STR+83*
, HLO2STR+85*, HLO2STR+87*, HLO2STR+90*, HL2HLO~, HL2HLO+11*, HL2HLO+13, HL2HLO+17*, HL2HLO+22, HL2ARR~, HL2ARR+19
, HL2ARR+21*, HL2ARR+22
STR2 HLO2STR+14~
STRC HLO2STR+14~, HLO2STR+49*, HLO2STR+50, HLO2STR+54*, HLO2STR+57*, HLO2STR+58!
STRF HLO2STR+14~, HLO2STR+47*, HLO2STR+48, HLO2STR+56*, HLO2STR+59*, HLO2STR+60!
STRR HLO2STR+14~, HLO2STR+48*, HLO2STR+49, HLO2STR+55*, HLO2STR+58*, HLO2STR+59!
STRS HLO2STR+14~, HLO2STR+50*, HLO2STR+51*, HLO2STR+53*, HLO2STR+57!
SUB PF+6~, PF+8~, PF+31*, PF+62, PF+63, PF+64, PF+66, PC+6~, PC+19*, ARR2HLO+12~
, ARR2HLO+26*, ARR2HLO+27*, ARR2HLO+28, ARR2HLO+31
TXT HLO2STR+14~, HLO2STR+94*, HLO2STR+95, HLO2STR+98*, HLO2STR+99
TYPE HLO2STR+14~, HLO2STR+45*, HLO2STR+68*, HLO2STR+69*, HLO2STR+70*, HLO2STR+73, HLO2STR+85, HLO2STR+97
VAL HLO2STR+14~, HLO2STR+44*, HLO2STR+45, HLO2STR+46*, HLO2STR+51, ARR2HLO+12~, ARR2HLO+22*, ARR2HLO+23, ARR2HLO+24, ARR2HLO+25*
, ARR2HLO+28, ARR2HLO+31
X BRO+3~, BRO+15*, BRO+16, BRO+17, BRO+36*, BRO+37, BRO+39*, BRO+40*, BRO+41, HLIN+35*
, HLIN+36, HLIN+37, HLIN+38, HLIN+42, PF+36*, PF+38, PF+40*, PF+41, PF+47*, PF+48!
PF+61*, PF+62, PF+65*, PF+66, ADDTEXT+3~, ADDTEXT+8*, ADDTEXT+10*, ADDTEXT+11, ADDTEXT+14, HL2ARR+15~
, HL2ARR+33*, HL2ARR+34, HL2ARR+35
Y BRO+3~, BRO+16*, BRO+17*, BRO+18, BRO+19
Z HL2HLO+10~, HL2HLO+22, HL2HLO+23

Marked Items

Name Field # of Occurrence
$T( RTNNM+1
Info |  Source |  Call Graph |  Caller Graph |  Entry Points |  External References |  FileMan Files Accessed Via FileMan Db Call |  Global Variables Directly Accessed |  Label References |  Local Variables |  Marked Items  | All