wiki:HL7TablesForVistA

Version 14 (modified by Nancy Anthracite, 13 years ago) ( diff )

--

HL7 Tables for VistA

HL7 Messages including those for Meaningful Use require a lot of standardized entries that come from HL7 Tables. Those tables are often based on standards or information provided by others. For Meaningful Use, there were three HL7 messages required, one for Lab Results, one for Reporting Lab Results to Public Health Agencies and one for Immunization Reporting. There were two guides provided for the latter two that are posted on the CDC web site and each contained a number of HL7 tables and other tables and standards used in the HL7 tables are drawn from the CDC web site and other locations.

John McCormack has created a new file, file 260 in the VW or WorldVistA namespace called the VW HL7 TABLES. A build has been loaded and as improvements are made, more will be uploaded here: HL7tables/trunk/kids

The data dictionary for the current iteration of file 260 follows.

I am sure that when you review the data dictionary and all the contents you will realize that this work is substantial in size and usefulness and took a lot of work to build!

We hope that you will try it, make suggestions and hopefully even adopt John's file.

  • Nancy Anthracite

Data Dictionary for File 260

STANDARD DATA DICTIONARY #260 -- VW HL7 TABLES FILE   
                                                   AUG 17,2011@23:00:56  PAGE 1
STORED IN ^VWLEX(260,  (8671 ENTRIES)   SITE: Vista-Office EHR   UCI: EHR,EHR  

DATA          NAME                  GLOBAL        DATA
ELEMENT       TITLE                 LOCATION      TYPE
-------------------------------------------------------------------------------


IDENTIFIED BY: TABLE (#.03), NAME (#.04)

POINTED TO BY: ISO LANGUAGE CODE field (#250001) of the LANGUAGE File (#.85) 
               IDENTIFIER TYPE CODE field (#.02) of the PATIENT IDENTIFIER 
                   sub-field (#2.000999999) of the PATIENT File (#2) 
               ASSIGNING AUTHORITY field (#.04) of the PATIENT IDENTIFIER 
                   sub-field (#2.000999999) of the PATIENT File (#2) 
               ASSIGNING JURISDICTION field (#.1) of the PATIENT IDENTIFIER 
                   sub-field (#2.000999999) of the PATIENT File (#2) 
               ASSIGNING AGENCY OR DEPARTMENT field (#.11) of the PATIENT 
                   IDENTIFIER sub-field (#2.000999999) of the PATIENT File (#2) 
               TYPE OF IDENTIFIER field (#250001) of the IDENTIFICATION FORMAT 
                   File (#8.2) 
               VW HL7 SPECIMEN TYPE field (#250002) of the TOPOGRAPHY FIELD 
                   File (#61) 
               REPLACEMENT TERM field (#.07) of the VW HL7 TABLES File (#260) 
               CODE SYSTEM field (#.04) of the VERSION sub-field (#260.001) of 
                   the VW HL7 TABLES File (#260) 
               RELATED COUNTRY CODE field (#250001) of the COUNTRY CODE File 
                   (#779.004) 
               VW HL7 CVX CODE field (#250001) of the IMMUNIZATION File 
                   (#9999999.14) 
               

CROSS
REFERENCED BY: TERM(B)

INDEXED BY:    CODE ID & CODE SYSTEM (AC), TABLE VERSION & CODE SYSTEM & CODE
               ID (AD), TABLE VERSION & CODE SYSTEM & CODE ID (AE), APPLICATION
               GROUP & APPLICATION USE (AG), TABLE & TERM STATUS (AH), TERM
               (C), NAME (D), NAME (E), TABLE (H)


260,.001      SEQUENCE                   NUMBER

              INPUT TRANSFORM:  K:+X'=X!(X>1000000)!(X<1)!(X?.E1"."1.N) X
              LAST EDITED:      MAY 29, 2011 
              HELP-PROMPT:      Type a number between 1 and 1000000, 0 decimal 
                                digits. 
              TECHNICAL DESCR:  Sequence number (#.001) defined to insure that
                                FileMan when installing/updating this file
                                loads entries based on the internal entry 
                                number.  


260,.01       TERM                   0;1 FREE TEXT (Required)

              INPUT TRANSFORM:  K:$L(X)>30!($L(X)<1)!'(X'?1P.E) X
              LAST EDITED:      MAR 27, 2011 
              HELP-PROMPT:      Answer must be 1-30 characters in length 
              CROSS-REFERENCE:  260^B 
                                1)= S ^VWLEX(260,"B",$E(X,1,30),DA)=""
                                2)= K ^VWLEX(260,"B",$E(X,1,30),DA)

              FIELD INDEX:      C (#889)    REGULAR    IR    LOOKUP & SORTING
                  Short Descr:  Uppercase version of #.01 field
                  Description:  Uppercase version of #.01 field to allow
                                lookups using uppercase when #.01 field is
                                mixed/lower case.  
                    Set Logic:  S ^VWLEX(260,"C",$E(X,1,30),DA)=""
                   Kill Logic:  K ^VWLEX(260,"C",$E(X,1,30),DA)
                   Whole Kill:  K ^VWLEX(260,"C")
                         X(1):  TERM  (260,.01)  (Subscr 1)  (Len 30)
                                (forwards)
                                  Transform (Storage):  S X=$$UP^XLFSTR(X)
                                   Transform (Lookup):  S X=$$UP^XLFSTR(X)


260,.02       CODE TYPE              0;2 SET

                                '1' FOR HL7; 
                                '2' FOR USER; 
              LAST EDITED:      MAR 27, 2011 

260,.03       TABLE                  0;3 FREE TEXT

              INPUT TRANSFORM:  K:$L(X)>7!($L(X)<7)!'(X?1"HL7"4N) X
              LAST EDITED:      MAR 27, 2011 
              HELP-PROMPT:      Answer must be 7 characters in length 
              DESCRIPTION:      Indicates the HL7 table that is assocaited with
                                this term.  The HL7 table desgination is in the
                                form HL7nnnn.  

              FIELD INDEX:      H (#892)    REGULAR    IR    LOOKUP & SORTING
                  Short Descr:  Index of entries by HL7 table designation.
                  Description:  Index of entries cross-referenced by the
                                assigned HL7 table designation.  
                    Set Logic:  S ^VWLEX(260,"H",$E(X,1,30),DA)=""
                   Kill Logic:  K ^VWLEX(260,"H",$E(X,1,30),DA)
                   Whole Kill:  K ^VWLEX(260,"H")
                         X(1):  TABLE  (260,.03)  (Subscr 1)  (Len 30)
                                (forwards)

              RECORD INDEXES:   AH (#888)

260,.04       NAME                   0;4 FREE TEXT

              INPUT TRANSFORM:  K:$L(X)>100!($L(X)<3) X
              LAST EDITED:      FEB 06, 2011 
              HELP-PROMPT:      Answer must be 3-100 characters in length 
              FIELD INDEX:      D (#890)    REGULAR    IR    LOOKUP & SORTING
                  Short Descr:  Lookup on NAME field.
                  Description:  Whole file cross-reference to allow lookups on
                                the NAME field (#.04).  
                    Set Logic:  S ^VWLEX(260,"D",$E(X,1,100),DA)=""
                   Kill Logic:  K ^VWLEX(260,"D",$E(X,1,100),DA)
                   Whole Kill:  K ^VWLEX(260,"D")
                         X(1):  NAME  (260,.04)  (Subscr 1)  (Len 100)
                                (forwards)

              FIELD INDEX:      E (#891)    REGULAR    IR    LOOKUP & SORTING
                  Short Descr:  Uppercase version of NAME field (#.04)
                  Description:  Uppercase version of #.04 field to allow
                                lookups using uppercase when #.04 field is
                                mixed/lower case.  
                    Set Logic:  S ^VWLEX(260,"E",$E(X,1,100),DA)=""
                   Kill Logic:  K ^VWLEX(260,"E",$E(X,1,100),DA)
                   Whole Kill:  K ^VWLEX(260,"E")
                         X(1):  NAME  (260,.04)  (Subscr 1)  (Len 100)
                                (forwards)
                                  Transform (Storage):  S X=$$UP^XLFSTR(X)
                                   Transform (Lookup):  S X=$$UP^XLFSTR(X)


260,.05       TABLE OID              0;5 FREE TEXT

              INPUT TRANSFORM:  K:$L(X)>64!($L(X)<3) X
              LAST EDITED:      FEB 03, 2011 
              HELP-PROMPT:      Answer must be 3-64 characters in length. 
              DESCRIPTION:      Indicates OID which explicitly identifies an
                                HL7 Version 2.x Table, as published in the HL7
                                Version 2 series of standards.  


260,.06       TERM STATUS            0;6 SET

                                '0' FOR ACTIVE; 
                                '1' FOR INACTIVE; 
                                '2' FOR DEPRECATED; 
                                '3' FOR NEVER USED; 
              LAST EDITED:      MAY 29, 2011 
              HELP-PROMPT:      Enter the status of this term. 
              DESCRIPTION:      Indicates the status of this term and it's use
                                in messaging.  
                                 
                                  CODE: 0   will be used for terms currently
                                being used.  
                                 
                                  CODE: 1   will not be used for current terms
                                however they are still used 
                                            for historical purposes.  
                                 
                                  CODE: 2   will be used for terms that have
                                been deprecated and should no 
                                            longer be assigned. Sometimes they
                                have a new term issued 
                                            which replaces the deprecated term. 
 

              RECORD INDEXES:   AH (#888)

260,.07       REPLACEMENT TERM       0;7 POINTER TO VW HL7 TABLES FILE (#260)

              INPUT TRANSFORM:  S DIC("S")="I $P(^VWLEX(260,Y,0),U,6)<1" D ^DIC
                                 K DIC S DIC=$G(DIE),X=+Y K:Y<0 X
              LAST EDITED:      MAR 29, 2011 
              HELP-PROMPT:      Enter the term which replaces this term in 
                                current usage. 
              DESCRIPTION:      Specifies the term which has replaced the
                                deprecated term.  

              SCREEN:           S DIC("S")="I $P(^VWLEX(260,Y,0),U,6)<1"
              EXPLANATION:      Only allow replacement terms to be active.

260,.08       ENTRY STATUS           0;8 SET

                                '0' FOR LOCAL; 
                                '1' FOR STANDARD; 
              LAST EDITED:      MAR 29, 2011 
              HELP-PROMPT:      A term has a status of either standard or 
                                locally added. 
              DESCRIPTION:      Terms that are distributed with the file and/or
                                centrally maintained have a status of
                                "standard". Terms that are added for local
                                purposes that are not standard will have a
                                status of "local".  


260,.99       DESCRIPTION            .99;0   WORD-PROCESSING #260.0099


260,1         VERSION                1;0 Multiple #260.001
                                 (Add New Entry without Asking)

              LAST EDITED:      MAR 19, 2011 

260.001,.01     TABLE VERSION          0;1 FREE TEXT (Multiply asked)

                INPUT TRANSFORM:  K:$L(X)>10!($L(X)<1) X
                LAST EDITED:      MAY 29, 2011 
                HELP-PROMPT:      Answer must be 1-10 characters in length 
                CROSS-REFERENCE:  260.001^B 
                                  1)= S ^VWLEX(260,DA(1),1,"B",$E(X,1,30),DA)="
                                  "

                                  2)= K ^VWLEX(260,DA(1),1,"B",$E(X,1,30),DA)

                RECORD INDEXES:   AD (#885) (WHOLE FILE #260), AE (#886)
                                  (WHOLE FILE #260)

260.001,.02     CODE ID                0;2 FREE TEXT

                INPUT TRANSFORM:  K:$L(X)>15!($L(X)<1) X
                LAST EDITED:      MAY 29, 2011 
                HELP-PROMPT:      Answer must be 1-15 characters in length 
                RECORD INDEXES:   AC (#884) (WHOLE FILE #260), AD (#885)
                                  (WHOLE FILE #260), AE (#886) (WHOLE FILE
                                  #260)

260.001,.03     CODE TEXT              0;3 FREE TEXT

                INPUT TRANSFORM:  K:$L(X)>100!($L(X)<1) X
                LAST EDITED:      MAR 19, 2011 
                HELP-PROMPT:      Answer must be 1-100 characters in length 

260.001,.04     CODE SYSTEM            0;4 POINTER TO VW HL7 TABLES FILE (#260)

                INPUT TRANSFORM:S DIC("S")="I $P(^VWLEX(260,Y,0),U,3)=""HL70396
                                """ D ^DIC K DIC S DIC=$G(DIE),X=+Y K:Y<0 X
                LAST EDITED:    MAY 29, 2011 
                HELP-PROMPT:    Select the coding system this code is a member. 
                SCREEN:         S DIC("S")="I $P(^VWLEX(260,Y,0),U,3)=""HL70396
                                """
                EXPLANATION:    Only select entries that represent name of codi
                                ng systems
                RECORD INDEXES: AC (#884) (WHOLE FILE #260), AD (#885)
                                (WHOLE FILE #260), AE (#886) (WHOLE FILE #260)

260.001,.05     CODE SYSTEM NAME     0;5 FREE TEXT

                INPUT TRANSFORM:K:$L(X)>20!($L(X)<1) X
                LAST EDITED:    MAR 19, 2011 
                HELP-PROMPT:    Answer must be 1-20 characters in length 

260.001,.06     CODE SYSTEM OID      0;6 FREE TEXT

                INPUT TRANSFORM:K:$L(X)>64!($L(X)<3) X
                LAST EDITED:    FEB 03, 2011 
                HELP-PROMPT:    Answer must be 3-64 characters in length 

260.001,.07     CODE STATUS          0;7 SET

                                '0' FOR ACTIVE; 
                                '1' FOR INACTIVE; 
                                '2' FOR DEPRECATED; 
                                '3' FOR NEVER USED; 
                LAST EDITED:    MAY 29, 2011 
                DESCRIPTION:    Indicates the status of this code and it's use
                                in messaging.  
                                 
                                  CODE: 0   will be used for codes currently
                                being used.  
                                 
                                  CODE: 1   will not be used for current codes
                                however they are still used 
                                            for historical purposes.  
                                 
                                  CODE: 2   will be used for codes that have
                                been deprecated and should no 
                                            longer be assigned. Sometimes they
                                have a new code issued 
                                            which replaces the deprecated term. 
 


260.001,.08     EFFECTIVE DATE       0;8 DATE

                INPUT TRANSFORM:S %DT="E" D ^%DT S X=Y K:X<1 X
                LAST EDITED:    MAR 18, 2011 
                HELP-PROMPT:    (No range limit on date) 
                DESCRIPTION:    The date this code was first active/effective
                                if applicable.  


260.001,.09     EXPIRATION DATE      0;9 DATE

                INPUT TRANSFORM:S %DT="E" D ^%DT S X=Y K:X<1 X
                LAST EDITED:    MAR 18, 2011 
                HELP-PROMPT:    (No range limit on date) 
                DESCRIPTION:    The date this code was no longer valid
                                active/effective if applicable.  


260.001,.1      CHECK DIGIT SCHEME   0;10 SET

                                '1' FOR ISO; 
                                '2' FOR M10; 
                                '3' FOR M11; 
                                '4' FOR NPI; 
                                '5' FOR BCV; 
                LAST EDITED:    MAR 18, 2011 
                HELP-PROMPT:    Enter the code identifying the check digit 
                                scheme employed. 
                DESCRIPTION:    Contains the code identifying the check digit
                                scheme employed.  

                TECHNICAL DESCR: HL7 Table 0061 - Check digit scheme 
                                 
                                 Value   Description                    
                                Comment 
                                 BCV     Bank Card Validation Number     A
                                non-embossed number included on 
                                                                         bank
                                cards and used to validate 
                                                                        
                                authenticity of the card and the 
                                                                         person
                                presenting the card 
                                 NPI     Check digit algorithm in the 
                                         US National Provider Identifier 
                                 ISO     ISO 7064: 1983 
                                 M10     Mod 10 algorithm 
                                 M11     Mod 11 algorithm 


260.001,.11     CODE SYSTEM VERSION  1;1 FREE TEXT

                INPUT TRANSFORM:K:$L(X)>20!($L(X)<1) X
                LAST EDITED:    MAR 19, 2011 
                HELP-PROMPT:    Answer must be 1-20 characters in length 
                DESCRIPTION:    When the code refers to a user defined or other
                                code system then the version of the code system
                                is recorded here.  
                                 
                                This field is different from the table version
                                which usually refers to the version of the HL7
                                standard which this entry supports.  
                                 
                                Example is HL7 table 0203 (IDENTIFIER TYPE) has
                                a user defined code issued by CDC for Org
                                Membership. This code has a version 20100308.  
                                 
                                 Concept Code.......: PHC40 
                                 Concept Name.......: Org Membership          
                                 Code System OID....: 2.16.840.1.114222.4.5.274 
                                 Code System Name...: PHIN VS (CDC Local Coding
                                System) 
                                 Code System Code...: PH_PHINVS_CDC 
                                 Code System Version: 20100308 
                                 HL70396 Table Code.: CDCPHINVS 


260.001,.12     STATUS DATE          1;2 DATE

                INPUT TRANSFORM:S %DT="E" D ^%DT S X=Y K:2500101>X X
                LAST EDITED:    MAY 29, 2011 
                HELP-PROMPT:    Type a date not earlier than JAN 01, 1950. 
                DESCRIPTION:
                                This is the date of this code version 




260,2         APPLICATION GROUP      2;0 Multiple #260.002


260.002,.01     APPLICATION GROUP      0;1 FREE TEXT

                INPUT TRANSFORM:  K:$L(X)>4!($L(X)<2)!'(X?2.4U) X
                LAST EDITED:      MAY 30, 2011 
                HELP-PROMPT:      A 'NAMESPACE' (2-4 BYTES) indicating a 
                                  package screening this entry. 
                DESCRIPTION:      Allows a 'package" to selectively screen the
                                  codes that it uses/supports within a HL7
                                  table. Useful when an application only uses a
                                  subset of a HL7 or other user defined
                                  table/code system.  

                CROSS-REFERENCE:  260.002^B 
                                  1)= S ^VWLEX(260,DA(1),2,"B",$E(X,1,30),DA)="
                                  "

                                  2)= K ^VWLEX(260,DA(1),2,"B",$E(X,1,30),DA)

                RECORD INDEXES:   AG (#887) (WHOLE FILE #260)

260.002,.02     APPLICATION USE        0;2 SET

                                  '0' FOR NOT SELECTABLE; 
                                  '1' FOR SELECTABLE; 
                LAST EDITED:      MAY 30, 2011 
                HELP-PROMPT:      Specify if this code or table element is 
                                  restricted or enabled. 
                DESCRIPTION:      An application in conjunction with the
                                  "APPLICATION GROUP" field can enable/disable
                                  a specific member of an HL7 table or other
                                  code system from use within the application.  
                                   
                                  Example is IMMUNIZATION may utilize the HL7
                                  table 0163 (Body Site) and only uses a subset
                                  of this table to indicate the site a vaccine 
                                  was administered. Or limit the vaccines (CVX)
                                  or manufacturer codes (MVX) that can be
                                  linked/used.  

                RECORD INDEXES:   AG (#887) (WHOLE FILE #260)




      FILES POINTED TO                      FIELDS

VW HL7 TABLES (#260)              REPLACEMENT TERM (#.07)
                                  VERSION:CODE SYSTEM (#.04)


File #260

  Record Indexes:

  AH (#888)    RECORD    REGULAR    IR    SORTING ONLY
      Short Descr:  Index of HL7 table and status.
      Description:  Cross-reference which indexes the entries by HL7 table
                    number and term status.  
        Set Logic:  S ^VWLEX(260,"AH",$E(X(1),1,30),X(2),DA)=""
       Kill Logic:  K ^VWLEX(260,"AH",$E(X(1),1,30),X(2),DA)
       Whole Kill:  K ^VWLEX(260,"AH")
             X(1):  TABLE  (260,.03)  (Subscr 1)  (Len 30)  (forwards)
             X(2):  TERM STATUS  (260,.06)  (Subscr 2)  (forwards)

Subfile #260.001

  Record Indexes:

  AC (#884)    RECORD    REGULAR    IR    SORTING ONLY    WHOLE FILE (#260)
      Short Descr:  Cross reference a code to it's table
      Description:  Set up a cross-reference to allow looking up a code by it's
                    components - HL7 table, code and code system.  
        Set Logic:  S ^VWLEX(260,"AC",$E(X(1),1,30),X(2),DA(1),DA)=""
       Kill Logic:  K ^VWLEX(260,"AC",$E(X(1),1,30),X(2),DA(1),DA)
       Whole Kill:  K ^VWLEX(260,"AC")
             X(1):  CODE ID  (260.001,.02)  (Subscr 1)  (Len 30)  (forwards)
             X(2):  CODE SYSTEM  (260.001,.04)  (Subscr 2)  (forwards)

  AD (#885)    RECORD    REGULAR    IR    SORTING ONLY    WHOLE FILE (#260)
      Short Descr:  Cross reference a code to it's table and HL7 version
      Description:  Set up a cross-reference to allow looking up a code by it's
                    components - HL7 version, code and code system.  
        Set Logic:  S ^VWLEX(260,"AD",$E(X(1),1,30),$E(X(2),1,30),$E(X(3),1,30)
                    ,DA(1),DA)=""
       Kill Logic:  K ^VWLEX(260,"AD",$E(X(1),1,30),$E(X(2),1,30),$E(X(3),1,30)
                    ,DA(1),DA)
       Whole Kill:  K ^VWLEX(260,"AD")
             X(1):  TABLE VERSION  (260.001,.01)  (Subscr 1)  (Len 30)
                    (forwards)
             X(2):  CODE SYSTEM  (260.001,.04)  (Subscr 2)  (Len 30)
                    (forwards)
             X(3):  CODE ID  (260.001,.02)  (Subscr 3)  (Len 30)  (forwards)

  AE (#886)    RECORD    REGULAR    IR    SORTING ONLY    WHOLE FILE (#260)
      Short Descr:   Cross reference a code to it's table
      Description:  Set up a cross-reference to allow looking up a code by it's
                    components - HL7 table, HL7 version, code and code system.  
        Set Logic:  S ^VWLEX(260,"AE",$E(X(2),1,30),$E(X(1),1,30),$E(X(3),1,30)
                    ,$E(X(4),1,30),DA(1),DA)=""
       Kill Logic:  K ^VWLEX(260,"AE",$E(X(2),1,30),$E(X(1),1,30),$E(X(3),1,30)
                    ,$E(X(4),1,30),DA(1),DA)
       Whole Kill:  K ^VWLEX(260,"AE")
             X(1):  TABLE VERSION  (260.001,.01)  (Subscr 2)  (Len 30)
                    (forwards)
             X(2):  Computed Code: S X=$P(^VWLEX(260,DA,0),U,3)
                      (Subscr 1)  (Len 30)
             X(3):  CODE SYSTEM  (260.001,.04)  (Subscr 3)  (Len 30)
                    (forwards)
             X(4):  CODE ID  (260.001,.02)  (Subscr 4)  (Len 30)  (forwards)

Subfile #260.002

  Record Indexes:

  AG (#887)    RECORD    REGULAR    IR    SORTING ONLY    WHOLE FILE (#260)
      Short Descr:  Application group index
      Description:  Index of terms that have been assigned an application group
                    and corresponding selection status for that term.  
        Set Logic:  S ^VWLEX(260,"AG",$E(X(1),1,30),X(2),DA(1),DA)=""
       Kill Logic:  K ^VWLEX(260,"AG",$E(X(1),1,30),X(2),DA(1),DA)
       Whole Kill:  K ^VWLEX(260,"AG")
             X(1):  APPLICATION GROUP  (260.002,.01)  (Subscr 1)  (Len 30)
                    (forwards)
             X(2):  APPLICATION USE  (260.002,.02)  (Subscr 2)  (forwards)


INPUT TEMPLATE(S):

PRINT TEMPLATE(S):
CAPTIONED                                         USER #0    
ZZNANCYVacMan                 AUG 13, 2011@11:21  USER #9                     @

SORT TEMPLATE(S):
ZZNANCYVacMan                 AUG 13, 2011@11:06  USER #9    
SORT BY: TABLE// (TABLE equals HL70227)


FORM(S)/BLOCK(S):

Note: See TracWiki for help on using the wiki.