IBCNEHLU ;DAOU/ALA - HL7 Utilities ;10-JUN-2002 ; Compiled December 16, 2004 15:36:12
Source file <IBCNEHLU.m>
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 |
---|---|---|
HLP(PROTOCOL) | ; Find the Protocol IEN
|
|
NAME(NM) | ; Convert a name that isn't in standard VISTA format -
|
|
DODCK(DFN,DOD,MGRP,NAME,RIEN,SSN) | ; Date of death check
|
|
DODCKX | ||
SPAR | ||
LP | ||
CLNSTR(STRING,CHARS,SUBSEP) | ||
RTRIMCH(STR,CHRS) | ; Remove the trailing chars from string
|
|
GTICNM(ICN,NAME) | ; Retrieve PID segment and set ICN and patient name
|
|
PATISSUB(IDATA0) | ; check if patient is the subscriber
; IDATA0 - 0 node of file 2.312 |
|
ONEPOL(PIEN,IEN2) | ; check if patient has only one policy on file for a given payer
; PIEN - payer ien ; IEN2 - patient ien (file 2) |
|
MCRDT(RIEN,EBIEN) | ; find effective date for Medicare response
; RIEN - file 365 ien ; EBIEN - subfile 365.02 ien |
|
ISMCR(RIEN) | ; Check if response is for Medicare part A/B
; Input: RIEN - Internal ien for file 365 ; Returns A1^A2^A3^A4^A5 Where: ; A1 - 1 if response if for Medicare, 0 otherwise ; A2 - "MA" if response is for Medicare Part A ; "MB" if response is for Medicare Part B ; "B" if response is for both Part A and Part B ; "" if response if not for Medicare ; A3 - Effective date for Medicare Part A if response if for ; Part A or both parts, "" otherwise ; A4 - Effective date for Medicare Part B if response if for ; Part B or both parts, "" otherwise ; A5 - "MA" - Response is for active Medicare Part A only ; "MB" - Response is for active Medicare Part B only ; "B" - Response is for active Medicare Parts A and B ; "" - Response is not for active Medicare ; IB*2.0*549 - added return of A5 |
|
ERRACT(RIEN) | ; Pick error action code to use for re-transmission
; Input: RIEN - IEN in file 365 (Transmission file) ; Returns: Error action^Error condition; "" if no error found |
|
ERRACTX | ||
NAMECMP(NAME1,NAME2) | ; check if 2 names have the same first name and last name components
; NAME1, NAME2 - names to compare, should be in "last,first [middle]" format |
|
TRNCWARN(GNUM,TRACE) | ; send group number truncation warning message
|
|
CODECHK(RSUPDT) | ; IB*2*497
; need to determine if codes and qualifiers sent in the 271 HL7 message ; are new. If code/qualifier does not exist in table then file new code into table ; input - ; RSUPDT = FDA array that will be passed to the DBS filer to update the ; entry/subentry into the IIV RESPONSE file ; example: RSUPDT(365.02,IENS,".02") = data to be filed into 365.02 subfile at field .02 ; order through the RSUPDT array and determine if pointer to file ; if pointer to file then pass file name and value of code/qualifier |
|
PREL(FILE,FIELD,CODE) | ; IB*2*497 code from x12 271 message may need to be converted to 'other' if there is no match. Refer to tag SETLST
|
|
SETLST | ; SET OF CODES defined to 355.33,60.14 and 2.312,4.03; this tag is not referenced in any procedure. It's here for documentation purposes.
|
Name | Field # of Occurrence |
---|---|
$$FIND1^DIC | CODECHK+24 |
FIELD^DID | CODECHK+19, PREL+9 |
UPDATE^DIE | CODECHK+38 |
$$GET1^DIQ | DODCK+18, DODCK+24, ONEPOL+9, ONEPOL+13, MCRDT+12, ISMCR+24, ISMCR+27, CODECHK+32 |
$$FMDATE^HLFNC | MCRDT+12 |
$$HLNAME^HLFNC | NAMECMP+6 |
$$GETDOB^IBCNEDEQ | DODCK+17, DODCK+24 |
MSG005^IBCNEMS1 | CODECHK+33 |
MSG^IBCNEUT5 | DODCK+21, DODCK+27, TRNCWARN+9, CODECHK+37 |
TXT^IBCNEUT7 | DODCK+20, DODCK+26 |
$$SITE^VASITE | CODECHK+31 |
$$FMDIFF^XLFDT | ONEPOL+14 |
$$FMTE^XLFDT | DODCK+6, DODCK+7 |
$$TRIM^XLFSTR | NAME+11 |
$$PROD^XUPROD | CODECHK+36 |
Name | Line Occurrences |
---|---|
Function Call: WRITE |
|
Routine Call |
|
Routine Call |
|
FileNo | Call Tags |
---|---|
2.312 | GET1^DIQ |
^IBE(350.9 - [#350.9] | GET1^DIQ |
^IBCN(365 - [#365] | GET1^DIQ |
365.02 | GET1^DIQ |
365.28 | GET1^DIQ |
Name | Line Occurrences (* Changed, ! Killed) |
---|---|
^DD( | PREL+11 |
^DIC(36 - [#36] | ONEPOL+10 |
^DPT - [#2] | DODCK+6, ONEPOL+11 |
^IBCN(365 - [#365] | MCRDT+8, MCRDT+9, ISMCR+21, ISMCR+22, ISMCR+23, ERRACT+13, ERRACT+14, ERRACT+16, ERRACT+18 |
^IBE(365.017 - [#365.017] | ERRACT+20 |
^IBE(365.018 - [#365.018] | ERRACT+20 |
^ORD(101 - [#101] | HLP+1 |
^TMP($J | SPAR+17, SPAR+19, SPAR+20, GTICNM+4 |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
ACODE | ERRACT+9~, ERRACT+20*, ERRACT+23, ERRACT+26, ERRACT+29, ERRACT+32 |
ACTIVE | ISMCR+18~, ISMCR+27*, ISMCR+28*, ISMCR+30, ISMCR+36, ISMCR+38, ISMCR+44 |
AIEN | ERRACT+9~, ERRACT+18*, ERRACT+19, ERRACT+20 |
ARRAY | PREL+6~ |
ARRAY( | PREL+12*, PREL+13 |
CDOD | DODCK+5~, DODCK+6*, DODCK+11, DODCK+14 |
CHARS | CLNSTR~, CLNSTR+4, CLNSTR+7 |
CHRS | RTRIMCH~, RTRIMCH+4*, RTRIMCH+5, RTRIMCH+6 |
CIDDSP | DODCK+5~, DODCK+6*, DODCK+25 |
CNT | ONEPOL+5~, ONEPOL+6*, ONEPOL+15*, ONEPOL+16 |
CODE | PREL~, PREL+7*, PREL+8, PREL+13 |
CODESTR | PREL+6~, PREL+11*, PREL+12 |
DAYS | ONEPOL+5~, ONEPOL+9*, ONEPOL+14 |
DEF | PREL+6~ |
DEF("TYPE" | PREL+10 |
DFN | DODCK~, DODCK+6, DODCK+17, DODCK+24 |
DOD | DODCK~, DODCK+7, DODCK+11 |
DONE | MCRDT+6~, MCRDT+7*, MCRDT+8, MCRDT+12*, ISMCR+18~, ISMCR+19*, ISMCR+22, ISMCR+45*, ERRACT+9~, ERRACT+12* , ERRACT+13, ERRACT+23* |
DT | ONEPOL+14 |
DTIEN | MCRDT+6~, MCRDT+9*, MCRDT+10 |
EBIEN | MCRDT~, MCRDT+8, MCRDT+9, MCRDT+10, ISMCR+18~, ISMCR+23*, ISMCR+24, ISMCR+27, ISMCR+33, ISMCR+41 |
ECCODE | ERRACT+9~, ERRACT+20*, ERRACT+23, ERRACT+26, ERRACT+29, ERRACT+32 |
ECIEN | ERRACT+9~, ERRACT+16*, ERRACT+17, ERRACT+20 |
ERFLG | GTICNM+2~, GTICNM+3*, GTICNM+4, GTICNM+7* |
EXPDT | ONEPOL+5~, ONEPOL+13*, ONEPOL+14 |
FIELD | PREL~, PREL+9, PREL+11 |
FILE | CODECHK+12~, CODECHK+13*, CODECHK+16*, CODECHK+17, CODECHK+18, CODECHK+19, CODECHK+24, CODECHK+26, CODECHK+32, PREL~ , PREL+9, PREL+11 |
FLD | CODECHK+12~, CODECHK+13*, CODECHK+17*, CODECHK+18, CODECHK+19, CODECHK+24, CODECHK+26, CODECHK+32 |
FNM | NAME+1~, NAME+17*, NAME+18*, NAME+20 |
FSCMSG | CODECHK+12~, CODECHK+32*, CODECHK+33 |
GNUM | TRNCWARN~, TRNCWARN+4, TRNCWARN+5 |
HCT | SPAR+17, SPAR+19, SPAR+20, GTICNM+2~, GTICNM+3*, GTICNM+4* |
>> HL("ECH" | LP+3 |
>> HLFS | SPAR+20, SPAR+21, LP+3, LP+4 |
I | PREL+6~, PREL+12* |
IBSEG | SPAR+14!, GTICNM+2~ |
IBSEG( | LP+3* |
IBSEG(1 | GTICNM+6 |
IBSEG(4 | GTICNM+7 |
IBSEG(6 | GTICNM+7 |
IBXMY | CODECHK+12~, CODECHK+36*, CODECHK+37 |
IBXMY("FSCECADMIN@domain.ext" | CODECHK+36* |
ICN | GTICNM~, GTICNM+3*, GTICNM+7* |
IDATA0 | PATISSUB~, PATISSUB+8, PATISSUB+10 |
IDDSP | DODCK+5~, DODCK+7*, DODCK+17, DODCK+24 |
IDSSN | DODCK+5~, DODCK+8*, DODCK+17, DODCK+24 |
IEN | ERRACT+9~, ERRACT+13*, ERRACT+14*, ERRACT+15, ERRACT+16, ERRACT+18 |
IEN2 | ONEPOL~, ONEPOL+7, ONEPOL+11, ONEPOL+13 |
IEN312 | ONEPOL+5~, ONEPOL+11*, ONEPOL+13 |
IEN36 | ONEPOL+5~, ONEPOL+10*, ONEPOL+11 |
IENS | MCRDT+6~, MCRDT+10*, MCRDT+12, CODECHK+12~, CODECHK+13*, CODECHK+16*, CODECHK+17, CODECHK+18, CODECHK+24, CODECHK+26 , CODECHK+32 |
II | NAME+14*, NAME+16, NAME+17, NAME+18, NAME+19, SPAR+11~, SPAR+16*, LP+3* |
IJ | SPAR+11~, LP+2*, LP+3 |
IK | SPAR+11~ |
IM | SPAR+11~, SPAR+23*, LP*, LP+1 |
IS | SPAR+11~, SPAR+16*, SPAR+18*, SPAR+19, SPAR+20, SPAR+21, LP |
ISBEG | SPAR+11~ |
ISCT | SPAR+11~, SPAR+16*, SPAR+17*, SPAR+19, SPAR+20 |
ISDATA | SPAR+11~ |
ISDATA( | SPAR+19*, SPAR+20*, SPAR+21, LP+1 |
ISEND | SPAR+11~ |
ISPEC | SPAR+11~ |
ISPEC( | SPAR+21*, LP+1 |
L | RTRIMCH+2~, RTRIMCH+4*, RTRIMCH+6, RTRIMCH+7 |
LNM | NAME+1~, NAME+17*, NAME+18*, NAME+20 |
LSDATA | SPAR+11~, SPAR+23*, LP+1*, LP+3, LP+4* |
MGRP | DODCK~, DODCK+21, DODCK+27, TRNCWARN+9 |
MI | NAME+1~, NAME+17*, NAME+18*, NAME+20 |
MSG | DODCK+5~, TRNCWARN+1~ |
MSG(1 | DODCK+17*, DODCK+24*, TRNCWARN+2*, TRNCWARN+9 |
MSG(2 | DODCK+18*, DODCK+25*, TRNCWARN+3* |
MSG(3 | DODCK+19*, TRNCWARN+4* |
MSG(4 | TRNCWARN+5* |
MSG(5 | TRNCWARN+6* |
MSG(6 | TRNCWARN+7* |
MSG(7 | TRNCWARN+8* |
NAME | DODCK~, DODCK+17, DODCK+24, GTICNM~, GTICNM+3*, GTICNM+7* |
NAME1 | NAMECMP~, NAMECMP+6 |
NAME2 | NAMECMP~, NAMECMP+6 |
NEWARRY | CODECHK+12~, CODECHK+38 |
NEWARRY( | CODECHK+26*, CODECHK+27*, CODECHK+28*, CODECHK+29* |
NM | NAME~, NAME+3, NAME+5, NAME+8*, NAME+11*, NAME+14, NAME+16, NAME+17, NAME+18, NAME+19 |
NM1 | NAMECMP+4~, NAMECMP+6*, NAMECMP+7 |
NM2 | NAMECMP+4~, NAMECMP+6*, NAMECMP+7 |
NPC | SPAR+11~, LP+1*, LP+2, LP+4 |
NUMPEC | CLNSTR+2~, CLNSTR+6*, CLNSTR+7 |
PEC | CLNSTR+2~, CLNSTR+7* |
PIEN | ONEPOL~, ONEPOL+7, ONEPOL+10 |
PREL | PATISSUB+5~, PATISSUB+8* |
PROTOCOL | HLP~, HLP+1 |
R | RTRIMCH+2~, RTRIMCH+5*, RTRIMCH+6, RTRIMCH+7 |
RES | PATISSUB+5~, PATISSUB+6*, PATISSUB+8*, PATISSUB+10*, PATISSUB+11, ONEPOL+5~, ONEPOL+6*, ONEPOL+7, ONEPOL+16*, ONEPOL+17 , MCRDT+6~, MCRDT+7*, MCRDT+12*, MCRDT+14, ISMCR+18~, ISMCR+19*, ISMCR+20, ISMCR+21, ISMCR+31, ISMCR+32* , ISMCR+33*, ISMCR+36*, ISMCR+39, ISMCR+40*, ISMCR+41*, ISMCR+44*, ISMCR+45, ISMCR+46, ERRACT+9~, ERRACT+10* , ERRACT+23*, ERRACT+26*, ERRACT+29*, ERRACT+32*, ERRACTX+1, NAMECMP+4~, NAMECMP+5*, NAMECMP+7*, NAMECMP+8, CODECHK+12~ |
RES("POINTER" | CODECHK+20, CODECHK+21 |
RIEN | DODCK~, DODCK+18, DODCK+24, MCRDT~, MCRDT+8, MCRDT+9, MCRDT+10, ISMCR~, ISMCR+20, ISMCR+21 , ISMCR+22, ISMCR+23, ISMCR+24, ISMCR+27, ISMCR+33, ISMCR+41, ERRACT~, ERRACT+11, ERRACT+13, ERRACT+14 , ERRACT+16, ERRACT+18, CODECHK+32 |
RSUPDT | CODECHK~ |
RSUPDT( | CODECHK+16, CODECHK+17, CODECHK+18, CODECHK+24, CODECHK+26, CODECHK+32 |
RTSTRING | CLNSTR+2~, CLNSTR+4*, CLNSTR+6, CLNSTR+7*, CLNSTR+8 |
SEG | GTICNM+2~, GTICNM+6* |
SITE | CODECHK+12~, CODECHK+31* |
SITENUM | CODECHK+12~, CODECHK+31*, CODECHK+32, CODECHK+37 |
SSN | DODCK~, DODCK+8 |
STR | RTRIMCH~, RTRIMCH+5, RTRIMCH+6*, RTRIMCH+7 |
STRING | CLNSTR~, CLNSTR+4, PREL+6~ |
SUBSEP | CLNSTR~, CLNSTR+6, CLNSTR+7 |
TOFILE | CODECHK+12~, CODECHK+21*, CODECHK+22, CODECHK+23, CODECHK+24, CODECHK+26, CODECHK+27, CODECHK+28, CODECHK+29, CODECHK+32 |
TRACE | TRNCWARN~, TRNCWARN+7 |
TYPE | ISMCR+18~, ISMCR+24*, ISMCR+29, ISMCR+37 |
TYPEA | ISMCR+18~, ISMCR+19*, ISMCR+30*, ISMCR+36, ISMCR+44 |
TYPEB | ISMCR+18~, ISMCR+19*, ISMCR+36, ISMCR+38*, ISMCR+44 |
U | DODCK+6, PATISSUB+8, PATISSUB+10, ISMCR+31, ISMCR+32, ISMCR+33, ISMCR+36, ISMCR+39, ISMCR+40, ISMCR+41 , ISMCR+44, ISMCR+45, ERRACT+16, ERRACT+18, ERRACT+20, ERRACT+23, ERRACT+26, ERRACT+29, ERRACT+32, NAMECMP+7 , CODECHK+31, CODECHK+32, PREL+11 |
VAL | PREL+6~, PREL+12* |
XMSUB | DODCK+5~, DODCK+16*, DODCK+21, DODCK+23*, DODCK+27 |
XX | CODECHK+12~, CODECHK+14*, CODECHK+15* |
XXFILE | CODECHK+12~ |
XXFILE( | CODECHK+23 |
XXFILE("365.0" | CODECHK+14*, CODECHK+15* |
Z | MCRDT+6~, MCRDT+8*, MCRDT+9, ISMCR+18~, ISMCR+22*, ISMCR+23, ERRACT+9~, ERRACT+13*, ERRACT+14, CODECHK+12~ , CODECHK+13*, CODECHK+25* |
ZIENS | CODECHK+12~, CODECHK+25*, CODECHK+26, CODECHK+27, CODECHK+28, CODECHK+29 |
ZZ | ISMCR+18~, ISMCR+31*, ISMCR+32, ISMCR+39*, ISMCR+40 |