RAHLRU ;HISC/GJC - utilities for HL7 messaging ; Apr 26, 2023@12:41:24
Source file <RAHLRU.m>
Package | Total | Call Graph |
---|---|---|
Radiology Nuclear Medicine | 6 | $$BASICMOD^RACPTMSC GSTATUS^RAHLACK GETHLP^RAHLRS1 $$ESCAPE^RAHLRU $$GETTCOM^RAUTL11 MODS^RAUTL2 |
Health Level Seven | 3 | $$HLDATE^HLFNC INIT^HLFNC2 GENERATE^HLMA |
Kernel | 3 | $$NOW^XLFDT $$HLNAME^XLFNAME ($$PATCH,$$VERSION)^XPDUTL |
VA FileMan | 1 | $$GET1^DIQ |
action | A | extended action | Ea | event driver | Ed | subscriber | Su | protocol | O | limited protocol | LP | run routine | RR | broker | B | edit | E | server | Se | P | screenman | SM | inquire | I |
Name | Comments | DBIA/ICR reference |
---|---|---|
OBR16 | ;set OBR-16 Requesting Physician from the exam 70.03;14
|
|
OBX11 | ; set OBX-11, = 12th piece of string where piece 1 is "OBX"
|
|
ESCAPE(XDTA) | ;apply the appropriate escape sequence to a string of data
; Insert a escape sequence place holder, then swap the escape sequence ; place holder with the real escape sequence. This action requires two ; passes because the escape sequence uses the escape ("\") character. ; Input: XDTA=data string to be escaped (if necessary) ; HLFS=field separator (global scope; set in INIT^RAHLR) ; HLECH=encoding characters (global scope; set in INIT^RAHLR) ; Return: XDTA=an escaped data string |
|
OBXPRC | ;Compile 'OBX' Segment for Procedure
|
|
OBXMOD | ; Compile 'OBX' segments for both types of modifiers
; Procedure modifiers |
|
OBXTCM | ; Compile 'OBX' segment for latest TECH COMMENT
|
|
INIT | ; initialize HL7 variables; called from RAHLR & RAHLRPT
|
|
DOB(X) | ;strip off trailing "0"'s from the date of birth
|
|
CPTMOD(RAIEN,HLECH,DT) | ;return OBX-5 as it pertains to CPT Modifiers
|
|
GETSFLAG(SAN,MTN,ETN,VER) | ;Return HL message flag (79.721,1)
|
|
OBR21(HLECH,RA7002) | ;builds the OBR-21 field; called from RAHLR1A
|
|
BLDHLP | ;build the HLP("EXCLUDE SUBSCRIBER",n) array
; is HLP("EXCLUDE SUBSCRIBER",n) defined? If yes get 'n' |
|
HLPEXSUB(A) | ;determine the last subscript (n) of a local array
|
|
GENERATE | ;Broadcast the HL7 message (courtesy of the VistA HL7 application)
|
|
EXIT | ;kill the variables; exit the process...
|
Name | Field # of Occurrence |
---|---|
$$GET1^DIQ | OBR21+26, OBR21+28 |
$$HLDATE^HLFNC | INIT+2 |
INIT^HLFNC2 | INIT+4 |
GENERATE^HLMA | GENERATE+20 |
$$BASICMOD^RACPTMSC | OBXMOD+8, CPTMOD+5 |
GSTATUS^RAHLACK | GENERATE+21 |
GETHLP^RAHLRS1 | GENERATE+6, GENERATE+17 |
$$ESCAPE^RAHLRU | CPTMOD+9, OBR21+31 |
$$GETTCOM^RAUTL11 | OBXTCM+6 |
MODS^RAUTL2 | OBXMOD+3 |
$$NOW^XLFDT | INIT+2 |
$$HLNAME^XLFNAME | OBR16+5 |
$$PATCH^XPDUTL | OBXTCM+3 |
$$VERSION^XPDUTL | OBXTCM+3 |
FileNo | Call Tags |
---|---|
^DIC(4 - [#4] | GET1^DIQ |
^SC - [#44] | GET1^DIQ |
Name | Line Occurrences (* Changed, ! Killed) |
---|---|
^HL(771 - [#771] | GETSFLAG+2 |
^HL(771.2 - [#771.2] | GETSFLAG+3 |
^HL(771.5 - [#771.5] | GETSFLAG+5 |
^HL(779.001 - [#779.001] | GETSFLAG+4 |
^RA(79.1 - [#79.1] | OBR21+25 |
^RA(79.2 - [#79.2] | OBR21+20 |
^RA(79.7 - [#79.7] | GETSFLAG+6 |
^RAMIS(71 - [#71] | OBXPRC+2 |
^RARPT - [#74] | OBX11+3, OBX11+9 |
^UTILITY($J | EXIT+6! |
Name | Field # of Occurrence |
---|---|
^(0 | OBXPRC+2 |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
A | HLPEXSUB~ |
A("EXCLUDE SU | BSCRIBER" , HLPEXSUB+3 |
DT | OBXMOD+8, CPTMOD~, CPTMOD+5 |
EID | INIT+2*, INIT+4, INIT+6! |
ETN | GETSFLAG~, GETSFLAG+1, GETSFLAG+4*, GETSFLAG+6 |
>> HL | INIT+3*, INIT+4 |
>> HL("ECH" | INIT+6, INIT+7, INIT+8, INIT+9 |
>> HL("FS" | INIT+6 |
>> HL("Q" | INIT+5, INIT+6 |
HL771RF | EXIT+1! |
HL771SF | EXIT+1! |
HL7STRG | EXIT+1! |
HLA | EXIT+1! |
HLA("HLS" | OBX11+7*, OBX11+10*, OBXPRC+1*, OBXPRC+2*, OBXMOD+3*, OBXMOD+9*, OBXMOD+12*, OBXTCM+9*, OBXTCM+11, OBXTCM+12* , OBXTCM+17, OBXTCM+20*, OBXTCM+21*, OBXTCM+22* |
HLARYTYP | GENERATE+1~, GENERATE+2*, GENERATE+20, EXIT+1! |
HLCS | INIT+7*, EXIT+1! |
HLDOM | EXIT+1! |
>> HLDT | INIT+2* |
>> HLDT1 | INIT+2* |
HLECH | OBR16+5, ESCAPE+10, OBXPRC+1, OBXPRC+2, OBXMOD+3, OBXMOD+9, OBXMOD+12, OBXTCM+9, INIT+6*, CPTMOD~ , CPTMOD+9, OBR21~, EXIT+1! |
HLEID | GENERATE+1~, GENERATE+2*, GENERATE+6, GENERATE+17, EXIT+1! |
HLES | EXIT+1! |
HLES2 | EXIT+1! |
HLFORMAT | GENERATE+1~, GENERATE+2*, GENERATE+20, EXIT+1! |
HLFS | OBX11+7, OBX11+10, ESCAPE+10, OBXPRC+1, OBXMOD+3, OBXMOD+9, OBXTCM+9, OBXTCM+12, OBXTCM+20, OBXTCM+21 , OBXTCM+22, INIT+6*, EXIT+2! |
HLINSTN | EXIT+2! |
HLMTIEN | GENERATE+1~, GENERATE+2*, GENERATE+20, EXIT+2! |
HLN | EXIT+2! |
HLP | BLDHLP+3, GENERATE+1~, GENERATE+6, GENERATE+17, GENERATE+20, EXIT+2! |
HLP( | BLDHLP+4*, BLDHLP+7* |
HLP("PRIORITY" | GENERATE+2* |
HLPARAM | EXIT+2! |
HLPID | EXIT+2! |
HLQ | INIT+6*, EXIT+2! |
HLREC | EXIT+2! |
HLREP | INIT+9*, EXIT+2! |
HLRESLT | GENERATE+20, GENERATE+21!, EXIT+5! |
HLRFREQ | EXIT+2! |
HLSAN | EXIT+2! |
HLSCS | INIT+8*, EXIT+2! |
HLSFREQ | EXIT+3! |
HLTYPE | EXIT+3! |
HLX | EXIT+3! |
INT | INIT+3*, INIT+4, INIT+6! |
MTN | GETSFLAG~, GETSFLAG+1, GETSFLAG+3*, GETSFLAG+6 |
OCXSEG | EXIT+3! |
OCXTSPI | EXIT+3! |
RA44Q | OBR21+25*, OBR21+26, OBR21+30! |
RA44Q(0 | OBR21+26*, OBR21+29 |
RA4Q | OBR21+27*, OBR21+28, OBR21+29, OBR21+30! |
RA4Q(0 | OBR21+28*, OBR21+29 |
RA7002 | OBR21~, OBR21+19, OBR21+24, OBR21+27 |
RA791Q | OBR21+24*, OBR21+25, OBR21+29, OBR21+30! |
RA792Q | OBR21+19*, OBR21+20, OBR21+30! |
RA792Q(0 | OBR21+20*, OBR21+22 |
>> RACN0 | OBXPRC+1, OBXPRC+2 |
>> RACNI | OBXTCM+6 |
>> RADFN | OBXTCM+6 |
>> RADTI | OBXTCM+6 |
>> RAEID | INIT+1, INIT+2, GENERATE+2, GENERATE+20, GENERATE+21 |
RAI | OBXMOD+6*, BLDHLP+5~*, BLDHLP+6*, BLDHLP+7 |
RAIEN | CPTMOD~, CPTMOD+5 |
>> RAN | OBX11+7, OBX11+10, OBXPRC+1, OBXPRC+2, OBXMOD+3, OBXMOD+7*, OBXMOD+9, OBXMOD+12, OBXTCM+8*, OBXTCM+9 , OBXTCM+11, OBXTCM+12, OBXTCM+17, OBXTCM+20, OBXTCM+21, OBXTCM+22 |
RAOBR | EXIT+3! |
RAOBR(17 | OBR16+5* |
RAORC | EXIT+3! |
RAPCS | OBR21+18*, OBR21+29, OBR21+30! |
RAPID | EXIT+3! |
RAPSS | OBR21+18*, OBR21+22, OBR21+29, OBR21+30! |
RAPURGE | EXIT+3! |
RAPV1 | EXIT+3! |
RAREFDOC | EXIT+3! |
>> RARPT | OBX11+2 |
RARPTIEN | OBX11+1~, OBX11+2*, OBX11+3, OBX11+9 |
>> RASSS( | BLDHLP+4, BLDHLP+6, BLDHLP+7 |
>> RASSS("EXCLUD | E SUBSCRIBER" , GENERATE+10 |
>> RASSSX( | GENERATE+6 |
>> RASSSX1( | GENERATE+17 |
RAX | OBR21+18~*, OBR21+22*, OBR21+29*, OBR21+31, BLDHLP+2~*, BLDHLP+4, BLDHLP+6, BLDHLP+7 |
RAY | BLDHLP+2~, BLDHLP+3*, BLDHLP+4, BLDHLP+7* |
RAZCPT | EXIT+3! |
RAZDAYCS | EXIT+4! |
RAZDTE | EXIT+4! |
RAZMODE | EXIT+4! |
RAZNME | OBR16+3!, OBR16+5, OBR16+6!, EXIT+4! |
RAZNME("FIELD" | OBR16+4* |
RAZNME("FILE" | OBR16+3* |
RAZNME("IENS" | OBR16+3* |
RAZORD | EXIT+4! |
RAZORD1 | EXIT+4! |
RAZPHONE | EXIT+4! |
RAZPMOD | EXIT+4! |
RAZPREG | EXIT+4! |
RAZPROC | EXIT+4! |
RAZRPT | EXIT+5! |
RAZRXAM | EXIT+5! |
RAZTRANS | EXIT+5! |
RAZXAM | OBR16+3, OBR16+5, EXIT+5! |
SAN | GETSFLAG~, GETSFLAG+1, GETSFLAG+2*, GETSFLAG+6 |
U | OBR16+3, OBR16+5, OBX11+3, CPTMOD+9, GETSFLAG+6, OBR21+19, OBR21+22, OBR21+24, OBR21+25, OBR21+27 |
UCS | ESCAPE+9~, ESCAPE+10*, ESCAPE+12 |
UEC | ESCAPE+9~, ESCAPE+10*, ESCAPE+14, ESCAPE+16, ESCAPE+17, ESCAPE+18, ESCAPE+19, ESCAPE+20 |
UFS | ESCAPE+9~, ESCAPE+10*, ESCAPE+11 |
URS | ESCAPE+9~, ESCAPE+10*, ESCAPE+13 |
USS | ESCAPE+9~, ESCAPE+10*, ESCAPE+15 |
VER | GETSFLAG~, GETSFLAG+1, GETSFLAG+5*, GETSFLAG+6 |
X | OBXPRC+2*, DOB~, DOB+1*, DOB+2*, DOB+3, CPTMOD+5~*, CPTMOD+9 |
>> X0 | OBXMOD+6*, OBXMOD+9 |
>> X1 | OBXMOD+6*, OBXMOD+8 |
X3 | OBXMOD+2~, OBXMOD+8*, OBXMOD+9, OBXMOD+12, OBXTCM+5~, OBXTCM+17*, OBXTCM+18*, OBXTCM+19, OBXTCM+20 |
X4 | OBXTCM+5~, OBXTCM+6*, OBXTCM+7, OBXTCM+11, OBXTCM+12, OBXTCM+17, OBXTCM+19*, OBXTCM+21 |
XDTA | ESCAPE~, ESCAPE+11*, ESCAPE+12*, ESCAPE+13*, ESCAPE+14*, ESCAPE+15*, ESCAPE+16*, ESCAPE+17*, ESCAPE+18*, ESCAPE+19* , ESCAPE+20*, ESCAPE+21 |
Y | OBX11+1~, OBX11+3*, OBX11+7, OBXMOD+3 |
Y(1 | OBXMOD+4, OBXMOD+6 |
Y(2 | OBXMOD+6 |