RMIM Designer Documentation (Vocabulary MIF)
Overview | 2010/11 Updates | VocabMIF | DataTypeReleases | BatchProcess | CommandLine | Errors/Install | Vis2002-3-7-10-13 |
Introduction · Loading-RIM-Vocab · ConstraintSelection (ProperConstraints) · VocabBrowser (Controls · Searching)
Introduction
Release 4.4.0 of the HL7 RMIM Designer (in Visio) was the first release to use a vocabulary "core MIF" file as its source for Vocabulary content. The "core MIF" files (with names like DEFN=UV=VO=822-20090227.coremif) have been released along with the Design Repository in every design repository release since September 2008.
Note: It is recommended that this tool only be used on machines with at least 1 GB of memory, because the in-memory vocabulary content is large.
In the past, the designer presented you a "drop-down" that displayed a tree view of vocabulary content that was actually in mixed-mode - it combined concept domains, value sets and code systems into a single hierarchical display. This combined display was replaced because it was introducing confusion (and errors) and because it was constraining the ability to create a "clean", correct vocabulary model.
The new release opens a new "modal" window pane that displays vocabulary content as three independent tree views - one each for concept domains, code systems and value sets.
Features of the selection pane are:
- Independent tree views for the three types of vocabulary content;
- Tree views may be tiled side-by-side (default) or displayed singly on a "Tab" control;
- When opened, tree views are constrained to the relevant sub-set of content (such as ActClass when selecting a class code for an Act clone);
- When opened, the "selected" constraint in the pane is set to the previous constraint from the source model;
- Search capability to find content in the vocabulary (uses a case-insensitive search on descriptive text, names and identifiers of vocabulary content);
- Text descriptions for an element selected in a tree view may be called up for display;
- "Current" selection box shows what is the current (most-recent) selection;
- "Help" display summarizes the function of each button on the pane;
- In addition to mouse control, "Enter" key and "Esc" key will close the pane and either return a constraint (or nothing for "Esc")
These features and their use are discussed in the following sections.
Loading RIM and Vocabulary Content
The Model Selection window was modified to allow selection of both a Design Repository file ("mdb" file) and a Vocabulary MIF file (either "coremif" or "mif" file extension.) Since September of 2008, all RIM Repository distribution have included a vocabulary "core"mif file (with names like DEFN=UV=VO=822-20090227.coremif) as part of the distribution. In both RoseTree and the new RMIM Designer releases, the associated vocabulary "coremif" file will be loaded unless the user over-rides that selection.
The simplest way to use the latest RMIM Designers is to place a copy of the design repository from the Design Repository Project on Gforge along with its associated vocabulary file in some convenient directory, perhaps the Visio solutions HL7 directory, and then start the RMIM Designer in the usual fashion.
The first pane to appear will be the Model Selection pane (right-above). This pane now includes tweo selectioln boxes. One for the Repository file and the other for the "Vocab MIF" file. You do not need to select the latter file. If it has not been selected, the RMIM Designer will look for the correct file to associate with the repository and will use that, if one is found. (It will seek your permission before using the found file.) If it cannot find a file, it will prompt you to select one. It is not possible to run the RMIM Designer without a vocabulary mif file available.
Previously Loaded Model Warning
In some circumstances, activating the clone editor or "awakening" the RMIM Designer may cause it to re-load the RIM and Vocabulary. In that case, you may see a dialog box like the one at the right. Just say "NO" to this dialog. What has happened is that the vocabulary content is already in memory. In that case you do not need to replace it, and, more importantly, you do not want to because replacing it will consume another 300MB of memory!
Selecting Vocabulary Constraints
Vocabulary constraints for RIM attributes are established in one of two ways in the RMIM designer. Both methods are done within the HL7 Class Refinement Editor as seen at right and below. This editor has two panels selected by a tab control The Properties tab is where the typeCode, classCode, moodCode, etc. are selected. The vocabulary constraints for doing this are circled in the first of the three panes at the right. The process of constraining these properties is initiated by either clicking on the associated "Browse" button, or by double-clicking on the text box that displays the constraint. The remaining vocabulary constraints are established in the Attributes tab, as seen in the second of the panes to the right. For each coded attribute, there are three "controls" a selection box for the kind of constraint, the text field that displays the constraint, and a "Browse" button. The vocabulary selector/browser can be started by either clicking the associated "Browse" button, or by double-clicking the text field. NOTE: Although the constraint type box may be changed by clicking on it, its value will always be correctly set by choosing a constraint in the browser, and thus this control is best treated as a display-only control.
|
Proper Constraints by Attribute KindThe HL7 methodology specifies varying constraint expressions for the different kinds of attributes found in the HL7 Reference Information Model (RIM) and in static models derived from the RIM. Moreover, the appropriate form of constraint is different for a "universal" (UV) design or constraint than it would be for an implementation-level constraint. Simply stated, at the "UV" level constraints (with the exception of structural attributes) should be abstractions or generalizations that permit realms, projects and implementers to refine these further in order to meet the requirements of their particular design. The following sub-sections provide an informative overview of these principles to help guide model designers. The formal "rules" are embedded in other documents. Structural Attribute Constraints - classCode, typeCode, moodCode, and determinerCodeThe so-called "structural attributes" are those attributes in the RIM that encode design content that might otherwise have been part of the model structure. For example, a class code represents a sub-type enumeration that might have been represented as a physical class in the RIM, but was not because while it had unique meaning, it did not require unique attributes or associations. There are a total of eight structural attributes in the RIM - the classCode attributes for each of the Act, Role and Entity classes; the typeCode attributes for the ActRelationship, Participation and RoleLink classes; the moodCode attribute for the Act class; and the determinerCode attribute for the Entity class. The constraints for these attributes are unique in that they:
Governing PrinciplesIn November 2007, M&M and Vocabulary committee agreed on the following principles for defining these constraints and for managing the vocabulary content for these attributes:
Selecting Structural ConstraintsThus when selecting constraints for these attributes users should:
|
Other Attributes with CS Data Type in RIMIn addition to the eight structural attributes there are another thirty or so RIM attributes whose data type is CS. By the data type definition, these attributes are constrained in the RIM to values drawn from a single code system that can only be extended through harmonization or ballot. The principles for vocabulary content management (stated above) apply to these attributes as well. However these principles have a slightly different impact since the representation of these constraints in the RMIM iconography does not dominantly depend on a code value. This means that in most cases, the user will wish to select a value set as the primary constraint, rather than a code. Selecting Other CS ConstraintsThus when selecting constraints for these attributes users should expect:
Other Attributes Constrained to Data Type CVOccasionally, universal designs may involve an attribute that has been constrained to the CV data type, and for which there exists a universal binding of some concept domain to a particular value set (and code system). In those cases, it may be reasonable to assert a fixed or default code value as a constraint. All Other AttributesAs a general rule all other attributes in universal designs should be constrained to a Concept Domain. Absent a universal context binding, all such attributes should retain the generality provided by a concept domain constraint. |
Vocabulary Browser
The vocabulary browser and selection window is patterned after a display used in RoseTree since early 2008. This display segregates the displays of the hierarchies for Concept Domains (left pane in figure at right), Code Systems (middle pane) and Value Sets (right pane). These panes are tiled side-by-side by default, but may also be displayed as a single pane. (See figure below the one at right.)
The content displayed when the browser is opened is limited to the vocabulary content appropriate to the attribute being displayed. Thus, for example, the display at right is limited to the ActClass hierarchies because it is being used to constrain the value for the classCode attribute in Act.
The primary window is made up of the browsing pane(s) above, and a set of controls for selecting content and managing the display at the bottom of the window. The controls are discussed in the following sub-section .
Selection Controls
There are nine buttons (one hidden) and a text box that make up the controls for this display. Treating these from Right-to-Left and Top-to-Bottom they are:
- Return
- Closes the window and returns the last-selected node as the result. (If a search return was done immediately before, it will return the search selection.) This action is also activated by the "Enter" key or by double-clicking on the desired node.
- Search
- Activates a text search on the displayed vocabulary content. With the search pane displayed, selecting one of the search results and pressing "Return" on the search pane will cause the tree views to "select" the result on the primary pane. Search is also activated by F3 and Ctrl-F.
- FreeHand
- Unlocks the current result text box (below) to allow manual entry of a constraint. Formats are:
- "D:[ConceptDomainName]"
- "V:[ValueSetName]"
- "C:[CodeSystemName]:[CodeValue]"
- Unlocks the current result text box (below) to allow manual entry of a constraint. Formats are:
- Current Result Text Box
- Displays the last selected constraint, either as the result of a manual selection or of a search. The formats are:
- "D:[ConceptDomainName]"
- "V:[ValueSetName]:[ValueSetOID]"
- "C:[CodeSystemName]:[CodeValue]:[ConceptInternalId]".
- If the box displays "nothing", there is no current selection.
- Displays the last selected constraint, either as the result of a manual selection or of a search. The formats are:
- Cancel
- Closes the window and returns a "nothing" result. This is also activated by the "Esc" key.
- Help
- Displays a help window that displays the meaning of all icons and has limited help notations.
- Tile View / Single View
- Switches between:
- a tiled view, with three trees, one each for Concept Domains, Code Systems and Value Sets displayed side-by-side (sharing the horizontal screen space) and
- a single, tabbed view where you select which of the three tree views to show, as seen in the second figure at right.
- Right-clicking on the tabs, or the three tree view selector buttons (in tiled view) offers to "reset" the contents of a particular tree.
- Switches between:
- Size
- Displays and hides a frame of seven buttons that allow re-sizing of the window and the trees. This pane is outlined in red in the partial figure shown third from the top at the right. The seven buttons are:
- "^^" and "W" increase and decrease the height of the window by 20%
- "<>" and "><" increase and reduce the width of the window by 20%
- "F" and "f" increase and decrease the font in the trees and result text box (limited range)
- "*" hides the sizing options frame.
- Displays and hides a frame of seven buttons that allow re-sizing of the window and the trees. This pane is outlined in red in the partial figure shown third from the top at the right. The seven buttons are:
- Show Text / Hide Text
- Displays the definition or description of the currently selected tree view node. This display uses the full pane and overlays the tree views until "Hide Text" is selected.
- Dispay raw text / Render using HTML
- Is seen only when descriptive text is being displayed. It switches the rendering of the descriptive text. The raw text can be useful as a cut-and-paste source.
Searching Content
Searching the vocabulary content is initiated by the Search button. This will expose another modal form from which the search is initiated. The primary search form is seen at the right. It consists of four primary areas:
- A list of the search results
- These are displayed one "hit" per line, as seen in the second pane at right. The format for the search results is:
- "C:[CodeSystemName]:[CodeValue]:[ConceptInternalId]".
- "V:[ValueSetName]:[ValueSetOID]"
- "D:[ConceptDomainName]"
- These are displayed one "hit" per line, as seen in the second pane at right. The format for the search results is:
- A set of constraints.
- The search can be constrained to return or suppress results from each of "Concept Domains", "Code Systems", or "Value Sets" as indicated by the check boxes.
- Further, the search may be constrained to return only content related to a particular code system, plus the value sets based on that code system, plus concept domains descended from a concept domain whose name is the same as the code system name. The drop-down list is pre-populated with a complete list of code systems.
- Search text box.
- A string entered into this box is used to search the vocabulary for a case-insensitive exact match to the string. (Thus, a search string of "aCT CLass" will match "act class" or Act class" but not "ActClass".)
- The search is applied to all of the definitions, descriptions, names and identifiers of the selected elements.
- A set of buttons to initiate the search and return the results to the vocabulary browser. These buttons are:
- Search
- Initiates a new search for the designated search string within the constraints listed. There is no functionality to further refine a previous search set.
- Return
- Returns a the search set, including any selection made in the search results to the browser.
- The search set is not cleared, so that selecting search again from the browser will return to the same search set as before.
- Normally when this is selected, the browser will find the selected result in the appropriate tree and select that tree node.
- Close
- Closes the search pane without returning a search result to the browser. This also "clears" the result set from the search pane.
- Search