RAHLRU1 ;HISC/PB,GJC - utilities for HL7 messaging ;1/28/00 11:03
Source file <RAHLRU1.m>
Name | Comments | DBIA/ICR reference |
---|---|---|
PID(RADFN) | ;compile the PID segment
|
|
PV1(RADFN) | ;compile the PV1 segment determine if the patient is
|
|
REPEAT(X,N) | ;return a string of HL7 encoding characters; ideal when a field
|
|
MAG(XX,RAD) | ;Build the HL7 segment from the array passed back from the
|
|
RTNSUB(A) | ;return the current first level subscript for the A array
; default is : HLA array ; If array (HLA) is undefined, or only HLA("HLS") defined, return 0 |
|
BLSEG(SEG,X,ADR) | ;
|
|
BLSEG1 | ;Split for first time
|
|
BLSEG2(YY,JJ,K) | ;Split any subsequent times
|
|
PARSEG(ARR,PAR) | ;Parse segment from ARR array to PAR array
|
|
PARPROC(DATA) | ;process data...
|
|
GETPP(D) | ;get repeated fields...
|
|
VFIER(X1,X2,X3) | ; validation of OBR-32 , OBR-33 or OBR-35
; X1 = value to be Validated/Returned (IEN) ; Note: X1 is passed in as: ID Number (IEN)^Family Name^Given Name ; (in this example "^" is the subcomponent separator) ; X2 = Status ('C'orrected, 'F'inal, or 'R'esults filed, not verified) ; X3 = text 'OBR-32' or 'OBR-33' or 'OBR-33x' or 'OBR 35' ; Return value: 1 = Validation OK ; 0^Error message to be returned to sender |
|
INDT(X1) | ;check if MD has inactivation date.
|
|
SR(X1) | ;'S'taff or 'R'esident and inactive DATE
|
|
SPECSRC(RAOIFN) | ;Specimen Source OBR-15
|
|
SETUP | ; Setup basic examination information
|
|
USESSAN() | ; Return the value of the parameter used as the switch
; to turn on use of the Site Specific Accession Numbers |
|
SSANVAL(RADFN,RADTI,RACNI) | ; Return the value of the Site Specific Acc Number
|
|
DATEPRT(RADTE) | ; Return the printable format of the internal date value
|
FileNo | Call Tags |
---|---|
^VA(200 - [#200] | FIND^DIC, GET1^DIQ, GETS^DIQ |
Name | Line Occurrences (* Changed, ! Killed) |
---|---|
^RA(79 - [#79] | USESSAN+2, USESSAN+3 |
^RA(79.2 - [#79.2] | SETUP+3 |
^RADPT - [#70] | SETUP+1, SSANVAL+1 |
^RAMIS(71 - [#71] | SETUP+3, SETUP+4 |
^RAMIS(71.2 - [#71.2] | SPECSRC+7 |
^RAO(75.1 - [#75.1] | SPECSRC+4, SPECSRC+5 |
^RARPT - [#74] | SETUP+2 |
^RARRAY(200 | SR+11 |
Name | Line Occurrences |
---|---|
$$RTNSUB | BLSEG+12 |
BLSEG | PID+9, PV1+40 |
BLSEG1 | BLSEG+27, BLSEG+38 |
BLSEG2 | BLSEG+23, BLSEG+34 |
GETPP | PARPROC+4 |
MAG | PID+8, PV1+10 |
PARPROC | PARSEG+7, PARSEG+8 |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
A | RTNSUB~, RTNSUB+3*, RTNSUB+4*, RTNSUB+5 |
A1 | BLSEG+6~, BLSEG+9*, BLSEG+13, BLSEG+25, BLSEG+26*, BLSEG+37*, BLSEG1+1, BLSEG1+2, BLSEG1+3, BLSEG1+5 |
A2 | BLSEG+6~, BLSEG+10*, BLSEG+21, BLSEG+22*, BLSEG+33*, BLSEG1+3, BLSEG1+4, BLSEG1+6, BLSEG2+1, BLSEG2+2 , BLSEG2+3, BLSEG2+4, BLSEG2+7 |
ADR | BLSEG~, BLSEG+7*, BLSEG+8*, BLSEG+9, BLSEG+10, BLSEG+12 |
ARR | PARSEG~ |
ARR(1 | PARSEG+5, PARSEG+8 |
C | VFIER+8~ |
D | PARSEG+3~*, PARPROC+3*, PARPROC+4, GETPP~, GETPP+1, GETPP+2, GETPP+3, GETPP+4 |
D1 | PARSEG+3~, GETPP+2!, GETPP+4* |
DATA | BLSEG+6~, PARSEG+5*, PARSEG+6, PARSEG+7, PARPROC~, PARPROC+1, PARPROC+3 |
DIERR | VFIER+8~, SR+5~ |
DT | SR+11, SETUP+5 |
FLDN | PARSEG+3~, PARPROC+1*, PARPROC+2, PARPROC+5 |
FLDN1 | PARSEG+3~, GETPP+3* |
>> HLCS | MAG+12 |
>> HLECH | PV1+36, BLSEG+12, PARSEG+4 |
>> HLFS | BLSEG+13, BLSEG+21, BLSEG+22, BLSEG+25, BLSEG+26, BLSEG+33, BLSEG+37, BLSEG1+3, BLSEG1+4, BLSEG1+5 , BLSEG2+4, PARSEG+2, PARPROC+1, PARPROC+3 |
>> HLQ | SETUP+6 |
>> HLREP | MAG+11 |
>> HLSCS | MAG+13 |
I | MAG+2~, MAG+10*, MAG+11, MAG+12, MAG+13, MAG+14*, BLSEG+6~, BLSEG+13*, BLSEG+14*, BLSEG+15 , BLSEG+19, BLSEG+21, BLSEG+22, BLSEG+25, BLSEG+26, BLSEG+33, BLSEG+37, PARSEG+3~, PARSEG+7*, PARSEG+8* |
I1 | MAG+2~, MAG+10*, MAG+11*, MAG+12, MAG+13 |
I2 | MAG+2~, MAG+11*, MAG+12*, MAG+13 |
I3 | MAG+2~, MAG+12*, MAG+13* |
II | MAG+2~, MAG+10!, PARSEG+3~*, PARPROC+2*, PARPROC+3, GETPP+2, GETPP+4 |
II( | MAG+11, MAG+12*, MAG+13* |
J | BLSEG+6~, BLSEG+19*, BLSEG+21, BLSEG+25, BLSEG2+6, PARSEG+3*, PARPROC+5*, GETPP+2, GETPP+4 |
JJ | BLSEG+6~, BLSEG+12*, BLSEG+21, BLSEG+23, BLSEG+31*, BLSEG1+6*, BLSEG2~, BLSEG2+6*, PARSEG+3~, GETPP+3* , GETPP+4 |
K | BLSEG2~, BLSEG2+6 |
N | REPEAT~, REPEAT+5 |
PAR | PARSEG~ |
PAR( | GETPP+2*, GETPP+4* |
RA0X | PID+7!, PID+8, PID+9!, PV1+9!, PV1+10, PV1+40! |
>> RACN0 | SETUP+1*, SETUP+2, SETUP+3 |
RACNI | SETUP+1, SSANVAL~, SSANVAL+1 |
>> RACPT | SETUP+4*, SETUP+5 |
>> RACPTNDE | SETUP+5* |
RAD | MAG~ |
RAD( | MAG+11*, MAG+14! |
RADFN | PID~, PID+7, PV1~, PV1+9, SETUP+1, SETUP+6, SSANVAL~, SSANVAL+1 |
RADIVIEN | USESSAN+2~*, USESSAN+3 |
RADTE | DATEPRT~, DATEPRT+1 |
>> RADTE0 | SETUP+2*, SETUP+6* |
>> RADTECN | SETUP+2* |
RADTI | SETUP+1, SETUP+2, SSANVAL~, SSANVAL+1 |
>> RAERR | INDT+2* |
RAERROR | VFIER+8~, SR+5~ |
RAERROR("DIERR" | VFIER+13, SR+8 |
RAINDT | INDT+1~, INDT+2* |
RALBL | VFIER+8~, VFIER+9*, VFIER+13, VFIER+15 |
RAOIFN | SPECSRC~, SPECSRC+4, SPECSRC+5 |
>> RAPID | PID+8, PID+9 |
>> RAPRCNDE | SETUP+4* |
>> RAPROC | SETUP+3*, SETUP+4 |
>> RAPROCIT | SETUP+3* |
>> RAPV1 | PV1+10, PV1+40 |
>> RAPV1(16 | PV1+34*, PV1+35, PV1+36*, PV1+38* |
>> RAPV1(20 | PV1+11! |
>> RAPV1(3 | PV1+11 |
>> RARPT | SETUP+2 |
>> RARPT0 | SETUP+2* |
RARRAY | VFIER+8~, SR+5~ |
RARRAY( | SR+14 |
RARRAY("DILIST" | VFIER+15 |
>> RASET | SETUP+1 |
RASPSRC | SPECSRC+3~, SPECSRC+8*, SPECSRC+10*, SPECSRC+12 |
RASPSRC(0 | SPECSRC+7*, SPECSRC+8 |
RASS | SPECSRC+3*, SPECSRC+4*, SPECSRC+5, SPECSRC+11! |
>> RASTRE | SR+4*, SR+8*, SR+13*, SR+14* |
>> RAZDTE | PV1+9 |
>> RAZMODE | PV1+33*, PV1+34 |
>> RAZORD | PV1+32, PV1+33 |
RAZPMOD | SPECSRC+5*, SPECSRC+7, SPECSRC+11! |
>> RAZPREG | PV1+32*, PV1+35, PV1+38 |
>> RAZXAM | PV1+32 |
REMAIN | BLSEG+6~, BLSEG1+2*, BLSEG1+6, BLSEG2+2*, BLSEG2+6, BLSEG2+7 |
S | REPEAT+5~*, REPEAT+6 |
SEG | BLSEG~, BLSEG+13, BLSEG1+3, BLSEG1+5 |
SS | BLSEG+6~, BLSEG+12*, BLSEG+21, BLSEG+25, BLSEG2+6, PARSEG+3~, PARSEG+4*, GETPP+2, GETPP+3, GETPP+4 |
U | PV1+32, PV1+33, VFIER+15, SR+13, SR+14, SPECSRC+7, SETUP+3, SETUP+4 |
X | PID+7*, PV1+9*, REPEAT~, REPEAT+5, BLSEG~, SR+5~, SR+13*, SR+14* |
X( | BLSEG+14, BLSEG+15, BLSEG+19, BLSEG+21, BLSEG+25, BLSEG+33, BLSEG+37 |
X1 | VFIER~, VFIER+11, INDT~, INDT+2, SR~, SR+4, SR+5*, SR+6, SR+11 |
X2 | VFIER~ |
X3 | VFIER~, VFIER+9 |
XOLD | BLSEG+6~, BLSEG+21*, BLSEG+22, BLSEG+25*, BLSEG+26 |
XX | MAG~ |
XX(1 | MAG+10, MAG+11, MAG+12, MAG+13 |
Y | BLSEG+6~, BLSEG+12*, SR+5~, SR+11*, SETUP+6* |
YY | BLSEG+6~, BLSEG+12*, BLSEG+20, BLSEG+23, BLSEG+32, BLSEG+34, BLSEG1+3*, BLSEG1+6*, BLSEG2~, BLSEG2+5* |
YYSUB | BLSEG+6~, BLSEG+21, BLSEG+22, BLSEG+33, BLSEG1+4*, BLSEG2+4* |