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
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
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
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
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
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
Lose the Tedium - Automate VGR Variable Initiation
"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
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
Hello World - A Message from Russ
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
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.