Welcome, Make Yourself at Home

I've been watching the traffic for the blog for these last few weeks and it seems that my assumption was correct. Even with the vast reaches of the Internet, there really isn't much to be found about McKesson's VGR scripting language and so people are ending up here. So welcome, we're so glad that you found us.

As you've probably noticed, Russ and I like to tackle problems and share ideas. If you ever have any questions about the solutions that we propose here, please don't hesitate to ask. I can't promise that we'll always have answers or that we will be able to respond very quickly, but I can promise that we'll help whenever and however we can. We have more ideas of what to share in the coming weeks, but your questions could turn into blog posts of their own.

If you've found this blog to be helpful, and even if you don't have any questions, take a second to leave a comment or just to say hello. It will help us keep motivated to know that real people are out there.

Hiding Dropdowns

The Problem

So you're condensing your form and you come to an item that can be taken orally or via IV but each option has a different set of frequencies. You don't want to create one large frequency dropdown with some options that would be wrong for each. So what do you do?

Reason for Exam Prompt


We had to add this to several of our forms recently, so I thought I'd show you our solution to it.

The Problem

We have to put a reason for exam text box on our radiology items. If we put one box that loads the same reason into each load string, it's simple, but doesn't offer our doctors much flexibility. However, putting a separate reason box on each item can be unwieldy and if they're all for the same reason, time consuming.

Lose the Tedium - Automate VGR Variable Initiation

Have you ever put together a long iForm with what feels like hundreds of checkboxes, radio buttons, dropdowns, text boxes, and buttons only to realize:
"Oh wait, now I have to map this monster."

I know I've been there, so I decided to do something about it.

Forget Something? - VGR Cheat Sheet

When we attended McKesson's VGR Training class, we got an electronic copy of a VGR "Cheat Sheet," basically a one page reference guide to the available VGR commands. Inspired by that, I decided that I'd make my own. Please note that this cheat sheet is not exhaustive; there are plenty of things that I left out in the interest of space (for instance, there are lots of other prompts listed in the official documentation, but I only listed the "most commonly used" ones, at least in my experience).

At any rate, I figured that this would be something that the community at large may find useful. Enjoy!


Create Multi-item Checklists


The Problem

Checkboxes are great on iForms, wonderful, but our doctors want even less clicking. So we need a way to select a group of checkboxes with one click.

Hello World - A Message from Russ

I guess I'll follow Scott's example. I'm Russ Garlow Jr, I work at South Georgia Medical Center in Valdosta, GA. We're a 335 bed, 3k+ employee hospital in Southwest GA. We have an outstanding CPOE dept with six members, but I'm the first dedicated iForm designer. The others did some tweaking before I came on board, but none of them really had time to delve into the murky depths of iForms or VGR. They had looked at outsourcing it, but that wasn't practical based on the number of forms we would have and the time that needs to go into them. You really need to have someone working on them full time. So they got me and sent me to training.

Trim Your VGR - Clear Default Text


The Problem

You know what always annoyed me?  Having to have multiple @LOAD_ORDER strings in my VGR just to check whether a textbox was left blank (and let's not even talk about when there is more than one textbox).

So, for example:

# ED CHEST AP PORTABLE
EDIT,IF,,chkChestAPportable,EQ,"true",AND
EDIT,IF,,txtChestAPportableComments,NE,,THEN
EDIT,SET,,orderstring,CAT,"@LOAD_ORDER=OIS=123456^^^OOS=0^^^7810=`cboChestAPportableReason^^^53=`txtChestAPportableComments"

EDIT,IF,,chkChestAPportable,EQ,"true",AND
EDIT,IF,,txtChestAPportableComments,EQ,,THEN
EDIT,SET,,orderstring,CAT,"@LOAD_ORDER=OIS=123456^^^OOS=0^^^7810=`cboChestAPportableReason^^^53=..."

I knew that there had to be a better way, and through some trial and error, I came up with a solution that's worked really well for us. But before we get to that, let's take a quick walk through the process and see why some of the early solutions didn't quite work right.

Easy Order Selection - rowSelector

The Problem

If you've spent much time at all creating iForms for HEO, you've come across a list of orders that have all kinds of prompts associated with them.  Take meds, for example, you may have a long list of meds, all with options for dose, route, priority, and frequency.  If you're like me, you may have wanted them all aligned nice and neatly.

For me (especially given the restrictions of HEO's formatting, but that's whole other rant), I will generally use a table.

List of Statin Medications, all with their own Dose, Route, and Frequency options

Now, other than using the "grid" formatting that "comes with" the iForms that McKesson provides, I wanted to figure out how to help the customer see which order they were looking at when they were fiddling around with the doses, frequencies, etc.  If you have enough doses, routes, or whatever that all look similar enough, the user may accidentally make their choice on the wrong med.