Wednesday, October 14, 2009

Thwarting IT Thwarting Dalai

I haven't written much about our Cerner Millenium/RadNet setup, mainly because I just don't know where to start. If the goal of the Empiric/Fuji RIS that we own for our own purposes was to make the rads' lives easier, the goal of RadNet seems to be quite the opposite. Here is a case in point, and a solution.

Simply logging in to the Cerner product is amusing. We go through a Citrix gateway, and the process takes about one minute. (From home, we need to use a remote Citrix Desktop which takes even longer to access.) OK, a minute isn't that bad. BUT... the thing automatically signs off after 30 minutes of inactivity, so we often end up logging on ten or twenty times per day. Not good. "Can we increase the delay?" we asked. "NO!" answered IT. Why? Because there is no segregation between radiologists, technologists, and other users. If they set the delay to one hour for us, this would be system wide, which apparently is unacceptable. Impasse.

But wait! Remember I said the delay was after a period of inactivity. Therein lies the solution.

There are any number of macro programs out there for Windows. My favorite (because it's free) is AutoHotKey, found at http://www.autohotkey.com/. This little package lets you write fairly complex macro programs, which can move the mouse around, click here and there, and do lots of things I haven't even bothered to explore as yet.

For the current problem, I figured I would only need to have the macro push the refresh button on the sign-out window. Pretty simple. I activated the macro recorder, clicked the button in question, and then stopped recording. I was left with this script:



WinWait, PACS Appbar P1646 - Citrix XenApp Plugins for Hosted Apps, IfWinNotActive, PACS Appbar P1646 - Citrix XenApp Plugins for Hosted Apps, , WinActivate, PACS Appbar P1646 - Citrix XenApp Plugins for Hosted Apps, WinWaitActive, PACS Appbar P1646 - Citrix XenApp Plugins for Hosted Apps, MouseClick, left, 456, 77

Sleep, 100


This pushes the button once. A few extra characters gets us this:

Loop
{

WinWait, PACS Appbar P1646 - Citrix XenApp Plugins for Hosted Apps, IfWinNotActive, PACS Appbar P1646 - Citrix XenApp Plugins for Hosted Apps, , WinActivate, PACS Appbar P1646 - Citrix XenApp Plugins for Hosted Apps, WinWaitActive, PACS Appbar P1646 - Citrix XenApp Plugins for Hosted Apps, MouseClick, left, 456, 77

Sleep, 700000

}

which now brings the window to the front and pushes the button every 700,000 milliseconds, or roughly every 12 minutes. Obviously, this is adjustable to one's preference. But since our turn-around times are monitored by the powers-that-be, I leave my settings as they are, and my TAT has come down dramatically (and it wasn't high to begin with!)

Where there's a will, and with IT, where there's a WON'T, there's a way.

ADDENDUM

After careful consideration and extensive testing, IT determined that AutoHotKey was a dangerous program. Someone adequately motivated could use it to create a log-in script that could bypass the need to know one's password, and we can't have that. No matter that someone similarly motivated could (and many of my partners have over the years) simply use a wax pencil to inscribe their password on the monitor bezel (or sometimes the screen itself). Fortunately, the macro text itself, as you see above, will work as a stand-alone batch file, so we once again reach an uneasy peace, and Dalai's solution lives on.

No comments :