Conformance Profile Table Library Constraint

 

This feature makes it possible to constrain the general table library containing all HL7 and local table definitions to profile specific version. With HL7 version 2.6, the HL7 Conformance profile has been extended to include table references. This feature permits the messaging analyst/developer to include only those tables and table elements that are

pertinent to the particular profile. For example, although HL7 table 0003 – Event type is referenced in every message, there is only one element on that table that applies to any given profile.  This feature permits expression of such relationships, and the exclusion of extraneous tables and table elements from the profile definition.

 

Once the process of table constraint is completed, the constrained table becomes an integral part of the profile, and the principal table library for all table library functions supported in the MWB, such as table lookup. This ‘local’ table library can be amended to account for new tables and new table elements through this same process as necessary over time.

 

The table constraint option is accessed through the Main form’s ‘Tools’ menu option as shown in the cut away illustration below.

 

 

Cut-away of Tools Menu with Table Constraint option highlighted

 

The basic objective of this function is to identify those tables and constituent elements in the complete (or default) table library that will be used in the profile being worked on. Referring to the figure below, operationally that entails moving table elements from the right hand tree view (2), which represents the general library, to the left hand tree view (1). Note that the General Table Library as presented on the right hand side is automatically constrained by the MWB to include only those tables that are referenced in the profile and have a non-NS usage.

 

 

Table Constraint form with operational areas numbered for reference in the text

 

 

Copying Tables and Table elements into the localized profile

 

When invoking the Table Constraint process for the first time, it will be evident that the General Library tree (2) has elements with children as indicated by the + symbol to the left of each table name. The child nodes represent the table elements for a particular table. The Localized Profile Table library (1) will have the same tables listed, but without any child nodes. The objective is to copy those table elements (child nodes) from the right hand tree (2) to the left hand tree (1) that are appropriate for the profile.

 

The most straightforward method of copying elements is to ‘drag’ them from (2) to (1) and ‘drop’ them. If you determine that all of the elements in a particular table will be used in the profile, then select the table in (2) with the left mouse button, hold it down, and drag it over to (1) and release. All of the elements from the table selected in (2) will be added to the corresponding table in (1). The ‘drop’ action may be done on any part of tree (1), the MWB will ensure that the elements go to the proper table, even if the drop action occurred in some other location or node within the tree.

 

Copying the contents of an entire table is illustrated above by examining table ‘0001 – Administrative sex’. Note that when the entire contents are copied, a check is placed to the left of the table id as well as to the left of each table element in tree (2). In tree (1), each element is similarly checked, indicating that their origin was from the general table library. As we’ll discuss below, table elements in the profile do not necessarily have to originate from the general table library.

 

To copy a single element from a table in (2) to its corresponding table in (1), simply select the table element in tree (2), drag it to tree (1) and drop as above. Copying a single element is illustrated above by examining table ‘0002 – Marital status. Here only the table element is checked in the corresponding trees.

 

It is also possible to copy a group of selected tables or a group of selected table elements for a particular table by using the standard Windows ‘multi select’ feature. Assuming some familiarity with Windows, suffice it to say that holding the shift key down while selecting nodes in tree (2) will permit selection of a contiguous block of nodes, while holding the control key down will permit selecting a group of non-contiguous nodes. Once selected, these may be dragged as above over to tree (1) and dropped to copy the table elements.

 

Adding new table elements

 

Notice in section (3) that whenever a table selection is made in either tree, the attributes of the table are displayed. The attributes are rendered in gray text, indicating that they are read only. Unlike table elements as discussed below, tables may only be added to the profile by referencing them in the body of the profile. They may not be added directly through this table constraint process.

 

In section (4), the attributes for a selected table element are displayed. If the element is derived from the general table library, its attributes are not editable in the constraint process. New table elements local to the profile and independent of the general table library may be added however. This permits the use of implementation specific table values that may not be appropriate for more general use, and so need only be documented within the profile.

 

To add a new table element, select either a table or an element within a table in tree (1). Click the add element button   in area (5) beneath the element attributes box. The new element will be added to tree (1) as the last element for the table. Fill in it’s attributes. The Code and Description attributes are required at a minimum. Note that unlike elements copied from the general library, purely local elements like this have no check mark to their left in the tree. The lack of a check mark then distinguishes between local and derivative table elements.

 

Table elements may also be deleted by selecting them in tree (1) and clicking the delete button  in area (5). Note that tables may not be deleted in this way. To remove a table reference, it must either be removed from the body of the profile, or message elements that reference it must be given a usage of ‘NS’   Not Supported.

 

The remaining tool in area (5) is the ‘Copy General Elements’ button  and it performs the same function as the ‘Drag/Drop’ gesture. It may be used as an alternative to ‘Drag/Drop’ to copy elements from tree (2) to tree (1).

 

Finally, in area (6) the ‘Save as Table Lib’ button permits saving the constrained table library as an external table library (.mwt extension).