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 |