RMIM Designer Documentation (VisioReleaseDifferences)

From HL7Wiki
Jump to navigation Jump to search
Overview   2010/11 Updates   VocabMIF   DataTypeReleases   BatchProcess   CommandLine   Errors/Install   Vis2002-3-7-10-13    

ImpactOfLaterVisio (VersionTags ·  64-Bit OS) ·  FileConversions ·  ConversionOptions ·  Reawakening ·  HL7MenuInVisio2010/13 ·  VocabHTMLinVis2013 

Impact of Supporting Visio 2003, Visio 2007-10 and Visio 2013

When the RMIM Designer was upgraded so that it could be run on Visio 2003/7 as well as Visio 2002, the software had additions for converting files from one format to the other; identifying the last version on which a static model design was edited; and a means of "reviving" a moribund RMIM Designer. These changes were documented in a PDF documentation file and are summarized below. With support for Visio 2010 & 2013 being added, this is only slightly more complicated.

Tagging Designs for Their Visio Version and Data Types Release

It proved to be impossible to use the Visio "standard" document properties to distinguish designs in Visio 2002 format from those in Visio format for Visio 2003 and later. The RMIM Designer software saves a string in the Document.Category Property of the document as either Visio2003-2007 or Visio2000-2002. This will be set by Visio 2003 (and later) whenever it “saves” a drawing programmatically, whenever it creates a new document, and whenever else it detects a mis-match. These tags can be viewed in Windows Xp by right-clicking on the file (in Windows Explorer) and then selecting the "Summary" tab. For unknown reasons, this property is not exposed in Windows 7 or Vista.

Notes:

  • The file formats for Visio releases in 2003, 2007 and 2010 are identical, and are all designated as Visio2003-7 by the HL7 software.
  • Visio 2013 introduces a new format. Content from this release MUST be saved in "compatibility mode." Select "SaveAs...Visio 2003-2010 Drawing (*.vsd)". In this mode, it is saved in Visio 2010 format, and will also be designated as Visio2003-7 by the HL7 software.

If the category is not set (equivalent to “VisioUnknown” it assumes that the category should be “Visio2000-2002”, since most (hopefully all) Vis2003/7 documents will have the category assigned programmatically.

When support for multiple data types releases was added, the Document.Category Property string was extended with a space followed by an indicator of the data types release embodied in the design as either DatatypeR1 or DatatypeR2.

Compatibility with 64-bit Windows

Although there is no incompatibility with the HL7 RMIM Designer running in a 64-bit operating system, it does NOT RUN under 64-bit Microsoft Office. See the documentation linked here.

Jump to top of page

File Conversions Between Visio Releases

It is necessary to convert drawings from Visio 2002 to Visio 2003/7/10/13 (and back) in order to maintain the correct display of the content. The upgrade addressed these as follows:

Update Designs for Visio 2003/7/10/13

This ONLY runs in Visio 2003/7/10/13

  • Auto-update and re-write
    Open Vis2002 diagram in Vis2003 - you will see a dialog box titled Start Auto-Update and Starting Auto-update/Save of <file name> Click OK and the drawing will be converted, saved with the same name - over-writing the source Visio 2002 file - closing the drawing and then re-opening it for use. The update/save/close/reload steps are needed to correctly display the graphics. Although the update sets the display settings to correct the visual problems, the only reliable way to redisplay the shapes is by saving, closing and re-opening the file. (This behavior occurs if conversion option Enable Auto-Update from Vis2002 to Vis2003-7 is set "True" and option Suppress Auto-Save of Converted File is set "False".)
  • Manual control
    In RMIM Designer Version 4.5.1 and later, a set of conversion options were added to allow more manual control. If the option Enable Auto-Update from Vis2002 to Vis2003-7 is set "False" a different behavior exists. Specifically, opening a Vis2002 document in Vis 2003 will present a dialog
    You are opening a Visio 2002 Design in Visio 2003. This file should be converted to Visio 2003 and have its shapes “revised”. Do you wish to do this automatically now?
    Clicking Yes does the same as above. Clicking No means that the model must be manually updated as:
    1. Choose Menu...HL7...Shape Updating...ReviseShapes... (and confirm)
    2. Save the diagram to what ever directory and name you choose, and IF prompted to choose format, select Current Visio Format (meaning Vis2003)
  • Batch (bulk) upgrades.
    Click on the stencil pane(RMIM2.vss) which now has its own menu. Select Menu...HL7...Batch conversion/export ...Upgrade drawings from 2002 up to 2003 format (Batch) This will allow you to select multiple files from a single directory. These will be automatically converted and the result will OVER-WRITE the source (like step 1).
    [Note: The conversion options settings do not affect this batch version upgrade.]

Reverting Designs from Visio 2003/7/10/13 to Visio 2002

There is code available to automatically revert Visio 2003/7/10 drawings to Visio 2002. This only runs in Visio 2003/7/10. There is no capability to save in Visio 2002 format from Visio 2013. To do this, drawings (saved in Visio 2003-10 format) must be reverted in an installation using one ov Visio 2003/7/10.

  • Manual control
    Open a Visio 2003 design. Use Menu...File...Save as and in the dialog, use the drop-down for Save as type and select Visio 2002 Drawing(*.vsd)
  • Batch (bulk) reversion
    Click on the Stencil pane (RMIM2.vss) which now has its own menu. Select Menu...HL7...Batch conversion/export ...Revert drawings from 2003 back to 2002 format (Batch) This will allow you to select multiple files from a single directory. These will be automatically reverted and the result will OVER-WRITE the source (like step 1)

Saving RMIM2.vss Stencil File

If you ever have to save the RMIM2.vss file in Visio 2003/7 select “Current Visio Format” (Visio 2003). Do not save this file as Visio 2002, as it will corrupt your future drawing changes

Jump to top of page

Conversion Options

With the combination of data types releases and different Visio versions, as well as the addition of new code to document context conduction style for a model, there arose the need for somewhat greater control over the various conversion options. To this end, starting in release 4.5.1 (and extended in 4.6.6), a new menu item was added to the "HL7 menu" as Menu...HL7...Show Conversion Options to display a pane of such options. The pane appears like:

Conversion Options Pane from RMIM Designer

This (crude) pane contains true/false selections for five different conversion options. Each option has summary documentation on the pane itself, although somewhat more detail is provided below.

As they are changed, options are "saved" in the Hl7Visio.ini file in the HL7 shapes directory. The Close: button simply hides the options pane. The Reset to Defaults button will reset the five options to the values shown as "recommend" on the pane itself.

The first two of these options affect the process of upgrading designs from Visio 2002 to Visio 2003/7 and reverting them back to Visio 2002. (See Visio2002/2003-7 tab.)

The next two affect converting models between data types release R1 and release R2 (and vice-versa). (See DataTypeReleases tab.)

The final option disallows a value of "inferred (I)" as a context conduction style. Disallowing this option provides an easy way to detect all models for which an expressed method of context conduction has not been declared. (See 2010/11 Updates tab.)

Option: Enable Auto-Update from Vis2002 to Vis2003-7

As noted in the pane, determines whether Visio will automatically convert a "vsd" drawing file from Visio 2002 format to Vis2003-7 format when it is opened in Vis 2003-7. This update is necessary to cause the shapes to display correctly. A number of shapes, particularly the "arrow" classes appear to lose content when first viewed in Visio 2003-7

RECOMMEND = "True"

Option: Suppress Auto-Save of Converted File

As noted in the pane, Determines whether Visio will supress the automatic re-save of a VSD drawing after converting from Vis2002 to Vis2003-7. The automatic save, and a subsequent automatic re-open are part of the normal conversion process. Without these two steps, the shape representation does not "refresh" to a correct presentation. However, the save precludes being able to review designs from a read-only repository. For cases such as this, this opetion can be set "true".

RECOMMEND = "False"

Option: Allow Retain Flavors When Convert DT R2 to DT R1

As noted in the pane, if this option is "False", Visio will strip off data type flavors when reverting a model from data types R2 to data types R1. This is the preferred action for Universal ("UV") models, because data type flavors are usually added at the realm-specific level (or lower) rather than as part of universal designs.

RECOMMEND = "False" for universal (UV) designs.

Option: Block Add DT With Non-existing Base

As noted in the pane, Determines whether the data types processing code will refuse to add new data types whose "base" name is not in the relevant specification (R1 or R2). This does not preclude adding new flavors.

RECOMMEND = "True"

Option: Reject Inferred (I) Context Conduction Style

As noted in the pane, this option determines whether or not the "inferred (I)" context conduction style code can be set or retained in the entry point for a model. The methodology calls for one of three code values:

  • "C" designates the model uses the original conduction-indicator-based method of establishing context conduction, a method that was deprecated during 2010.
  • "V" designates the model uses the new vocabulary-based method of establishing context conduction as adopted during 2010.
  • "I" designates that the model does not explicitly establish context conduction. This designation is formally "discouraged."

As models evolve, many of them (particularly those developed before 2010) are using the "inferred (I)" designation. While there is an easy way to establish context conduction style, changing the designation once made is cumbersome. Switching this option from "false" to "true" will cause the RMIM Designer logic to automatically seek user approval to change the designation code for any model designated as "inferred."

The final option disallows a value of "inferred (I)" as a context conduction style. Disallowing this option provides an easy way to detect all models for which an expressed method of context conduction has not been declared. (See 2010/11 Updates tab.)

RECOMMEND = "False" for routine use.

Option: Set "Default" Conduction Style During Batch Processes

When a model for which context conduction style has not yet been defined is processed with one of the batch options, this option determines whether or not the batch process should assert the "default" conduction style as it proceeds. Note, this setting will have no impact on the designs if the batch process is not also "saving" the files. Processes that do not save files include "validation" and "graphic overlay extraction"; processes that do save files include "conversions to different Visio releases", "data types conversions" and "scan, update and save vocabulary constraints while doing graphic overlay extraction."

RECOMMEND = "True"

Jump to top of page

Reviving a Moribund RMIM Designer

Occasionally when you open a file or the software stops, you will find that the “Menu” items are all disabled, and the shape-based event processing does not work (Double-clicking a shape does not open the Clone editor). In this case, you need to re-connect the RMIM designer software to the drawing. Use the “AwakenDesigner” module from:

  • Use the Stencil menu (click on stencil window) and select:
    • Menu...HL7...Awaken RMIM Designer OR
    • Menu...Tools...Macros...(RMIM2)...AwakenDesigner...AwakenRMIMDesigner

The AwakenRmimDesigner entry runs a routine that:

  • Starts the EventCatcher if needed
  • Checks that RIM etc are loaded and active
  • Checks that all open windows have correct menus
  • Checks that all open windows are bound to the RMIM2 template
Jump to top of page

Finding HL7 Menus in Visio2010/13

Because the GUI for Visio 2010/13 is based on the Microsoft "ribbon" metaphor, the HL7 "Menus", which have been a foundation of the RMIM Designer functionality no longer appear as menus. Instead, they appear on an AddIns tab on the ribbon. Selecting this tab, and then selecting the block that is labeled "HL7" will expose the menus as before. The following screen-shots illustrate this process.

Visio 2010/13 GUI When running HL7 RMIM Designer

  1. NOTE: The "document shapes" sub-pane can be hidden by clicking on the open angle-bracket symbol circled in red.
  2. The HL7 Menus can be found by first clicking on the AddIns tab of the Visio "ribbon" control, and then clicking on the HL7 box that is found on that tab. This will expose the appropriate menus as seen in the following two figures.
Displaying HL7-specific Menus in Visio 2010

Shows the menu selections that appear when the AddIns/HL7 combination is selected while the static model design window is active. These are the same entries as appear on the HL7 Menus in older Visio releases.

HL7 Menus when the static model design window is active.

Shows the menu selections that appear when the AddIns/HL7 combination is selected while the RMIM Designer Stencil window is active. These are the same entries as appear on the HL7 Menus in older Visio releases.

HL7 Menus when the HL7 RMIM Designer Stencil window is active.
Jump to top of page

Enabling Vocabulary Browser HTML Display in Visio 2013

The Problem

Visio 2013 is a member of Office 2013 (designated as Office 15). For the first time, in this release, Office creates Registry settings to absolutely disable certain "controls" (reusable application components in VBA) In particular, these compatibility flags (designations) list a "kill bit" for specific controls that, if set, prevent the use of these controls in the VBA of Office Applications, regardless of other security and trust settings.

Software "fix"

In the RMIM Designer (in Visio), the vocabulary display pane uses a Microsoft "WebBrowser" control (installed as part of Internet Explorer) to display descriptive text (such as concept definitions) in HTML text. (This same control is used in RoseTree, but is unaffected by the registry settings in Office.) In the RMIM Designer, these registry settings initially precluded the RMIM Designer from running at all. Subsequently, the program was changed so as to detect the "block" and circumvent it by displaying all vocabulary descriptive text as "plain text with markup". This is ugly, but it is better than no text at all.

Enable HTML Display with Registry Setting

Specifically, in Office 2013, the the "kill bit" is set for the WebBrowser control that runs from Internet Explorer 's "ieframe.dll" In this case, the ClassId for the WebBrowser control ({8856F961-340A-11D0-A96B-00C04FD705A2}) is listed in the registry under:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Common\COM Compatibility\ 

This is the "common" or shared COM compatibility section for ALL Office 2013 software products (including Visio). The actual block appears beneath the following entry:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Common\COM Compatibility\{8856F961-340A-11D0-A96B-00C04FD705A2}

Beneath that entry is an entry named "Compatibility Flags" that has a DWORD value of 0x00000400. This is the "kill bit" designation. The control CAN be re-enabled by setting the Compatibility Flags DWORD to 0 or DWORD value of 0x00000000.

If you make this change, it will enable the WebBrowser for ALL Office 2013 applications. Although this may not be desirable I can find no way to constrain the enabling to Visio 2013 ONLY. I have tried "moving" the setting under Visio, but this seems to be unrecognized. Some final notes:

  • Whatever was the risk that this change to Office 2013 was intended to remove, that risk has existed for years;
  • nevertheless, users who opt to make this change (as I have personally) do so entirely at your own risk.
Jump to top of page