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 |