TextBox Placeholder

Here's another neat one that I wrote a little while back which allows us to put a placeholder in a textfield.

The Benefits of Building an Outline for VGR iForms

We started building our VGR iForms before we got any real formalized training, but fortunately for us, we hadn't started using VGR until close to when we went for training. During the training, we got some very good advice:

"When building a VGR iForm, it's best practice to build an outline with all of your orderables first."

We didn't get a full explanation of the reason at the time, but I can tell you from just a few months experience and looking at the larger picture, it's the best advice that he could've given us. The quick explanation that he gave to us was that it helped separate the clinical duties / responsibilities from the technical / development duties and that's certainly true, but it's only a piece of the puzzle.

InSight 2012

Just as a quick FYI, I am going to be at this year's annual InSight conference. I've been asked to present at two sessions: those called "If You Build It (Well), They Will Order." I hope to see you there!

Diagnosis Keyword Search

Had a neat question come up the other day and it lead to an even neater script that I thought I might share with you. The question was; if a patient is diabetic, can we indicate that on the diet iForm for...(some medical reason, I kinda blank out on those)...? But the problem was really interesting and got me to thinking.

Line Wrap After a Checkbox - Use Hanging Indents

If you're anything like me, it bothers you when things don't line up.  I don't know what it is, maybe low-grade undiagnosed OCD, but even if it didn't bother me, I imagine that it would bother some of my users.  One of the first OCD issues that I had come across after starting with the iForms happened when I'd have a simple order with a checkbox followed by a long string of text.  The text would wrap to the next line and interrupt what had previously been a nice consistent straight line of checkboxes.

Google Group - Better Q&A

I've been trying to plug in to whatever community of iForm developers I can find. I am in both of the Yahoo groups that I'm aware of, subscribed to the PCM listserv, posted some forms to the iFormLibrary, attend the weekly conference call hosted by McKesson, and I created this blog. (If there are more sites or groups to join, please let me know!)

I just set up a Google Group called HEO iForms as a "Q&A forum" to add another place to try to get help. You may have seen "Q&A-type" forums before; they're the kind of forum where, instead of new threads, you specifically ask a question. Others can submit their questions, comments, and answers and the answers can be "voted" on.

Visit the Forum at: https://groups.google.com/d/forum/heo-iforms
Or send an email to: heo-iforms@googlegroups.com

Like I said, I'm part of other user forums and user groups, but I haven't seen much activity on those groups. From the weekly phone calls, it's apparent that people have questions, and I'd love to help in any way that I can, either by giving answers, or if nothing else, providing a mechanism by which your questions can get to the people that have the answers.

If there's one thing that I can say about our issues, it's that they are not unique. Many of the questions that I hear are those that we had to figure out ourselves. Let's stop reinventing the wheel; there's too much other work to do.

FTP Notes and Rules

When I first started working on our iForms, no one could give me a lot of information on what directory did what, where to post VGR, where to post HTML, etc. I kinda had to experiment on my own and as a result we had a few emergency releases to LIVE. I've compiled my notes on FTP and the server locations we use. I'm not sure if they're universal among McKesson systems or not, but I figured hey... all theses notes, surely there's a kernel of wisdom in there somewhere (statistics right?).

So here we go...


Common Lab iForm

Common Lab iForm

So rather than focus on just one thing at a time, I figure I'd show an exert from my common lab iForm. That way you can see many of the scripts and functions I'm using, feel free to take of the code from it you like and feel free to ask any questions you have.

Reader Request - Submit While Using Tabs

I've always wanted to do something like this: "Reader's Requests."  Well, there was a question posted on the "Welcome, Make Yourself at Home" post from Jason (see, now I imagine reading this with my awful Casey Casum impression):

I was wondering how you handle submitting when using a tabbed iform. (one HTML page with multiple tabs via JavaScript)

Example: (abominal pain)
Tab 1 - Lower abd pain - has 3 prechecked selections
tab 2 - Upper abd pain - has 4 prechecked selections.

When you submit, how do you submit the orders on one tab without the orders on the other tab also being submitted?

-Jason

This is an excellent question: as it's phrased, it can't be done; you can't submit some of the items in a web form. However, there are ways to work around these limitations. Let's take a look at a few of them to see what the pro's and con's are.

A Thousand Hits

For whatever strange reason, I like to keep an eye on the statistics of the blog, how many visits we get in a given day and what kinds of articles people are reading.  It's not that I'm an attention hog (as far as I can tell), but I like to know that what we're doing here is actually helping people.

I started this blog two months ago and today we got our 1,000th view.  In my first post, dated 4/28, I said,
"I couldn't find anything, and I mean ANYTHING when searching for HEO, VGR, or iForms on any of the major search engines that was referential or helpful for iForm-specific development. I know that there are some resources out there (we'll go over those), but as they say, 'If you can't find it, it [essentially] doesn't exist.'"
I guess I wasn't the only one that has been looking.

Help Your Users With Quick Orders - Uncheck All

Part of the convenience of iForms is the ability to "pre-check" items, meaning that when the iForm is opened, some checkboxes start with the check mark already in it.  This makes an iForm work like an orderset that has a number of "order with previous" items.

However, when we first started making iForms, especially long or complicated ones, we felt like we had to tread a thin line regarding what items were pre-checked, not because we doubted the clinical necessity or contribution, but because we foresaw situations in which a physician may want to order just a few common things instead of the entire she-bang.

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.


Hello World - A Message from Scott

Well here goes nothing. First, let's get introductions out of the way.  My name is Scott Morris and I work for Fairfield Medical Center in Lancaster, OH.  I'm their "iForm guy."  If you work at a hospital with McKesson's HEO (Horizon Expert Orders) system, you'll know what I'm talking about.  If you don't have any idea what I just said, then this blog will probably not make much sense to you.