Main

February 28, 2007

Agile Development

The Agile Manifesto seems like ancient history now.  The concepts of iterative development were not new - but they hadn't been marketed until the manifesto was published and the movement was unleashed.

In  late 1999 or early 2000 I can remember sitting in a meeting room with the Assistant CIO of a large healthcare organization .. describing my preference for using what I then called an iterative development process - where we would define "bite-sized parts" for implementation, exposure, and refinement on a regular basis. 

She had never heard of such a thing - and advocated for the developers on the team: 

"They need to know when it's finished!" 

Me:  "This is software - it's never finished"

"But the customer needs to sign off on a completed project.  How can we know that it will meet the customer need?"

"uuuh ... ask them?"

"We ask them during the requirements process - when they define the project"

"And that is successful?  They are always happy with the final product?"

"Well - no - but if they didn't describe their needs appropriately - that isn't our concern.  So long as they have signed off on the spec before the development work begins - we have clarity for the what the requrements are - and if we build it to spec - we've completed the project and we can move on."

..

I stopped trying.  Clearly the goal here was to complete the project "to spec" and move on to the next project. 

There was a problem though - developers were bypassing standard process - and interacting directly with customers (with no management oversight) and were creating solutions collaboratively with customers.

So the Ass(istant) CIO wanted to give the developers a sense of closure .. but the developers wanted to please the customers - and bypassed their managers to do so!

Trouble in them thar hills, too.  With no Human Factors training - and minimal design skill - developers all-too-often gave the customers what they asked for rather than what they needed.  End result: ACIO came down hard on such "renegade" developers.

This reinforced the waterfall mentality.  :-(


April 23, 2006

Writely Invites, Google Calendar SMS tricks

I noticed that Writely has just increased the number of invitations that current users have available. I'm curious. If you have one availabe .. please send me one (if you have my e-mail address) .. or if you don't have my e-mail address, you can use this form to send me a note and I'll reply with my e-mail address.

And Bruce sent me a link to this post about how to interact with google calendar via SMS. It works!

March 15, 2006

RFC3219 - for nerds only

The IANA RFC3219 listing shows who the real early adopters are in the SIP namespace.  Dorks who really want to call me will be able to dial my extension (yeh - right - like I'm going to publish that on the weblog!) at phonehost.slingerlands.com.  (No .. it's not really "phonehost" either)

See the ISN cookbook for more on this and how to get your own.

 

 

November 22, 2005

Swikis

A Swiki is a search that the searchers modify.  Huh? 

Well .. it's kinda interesting .. I made one for "otitis media" .. here is it is: (once you get to the search result page - click the "promote and "demote" links to teach the swiki.

 

October 24, 2005

VOIP, SwitchVox, SSL

We are getting very close to the day that we go live with our new phone system at the office.  Still a few bugs to work through .. but I've had enough random requests for the status - ever since I posted my review of SwitchVox that I do owe a bit of an update.

Here goes

The software is good, and we've been getting help from the tech support staff at FourLoop throughout.  There remain some wrinkles here and there, but updates seem to be coming at a pretty good clip - so I expect things will continue to improve.  

What sort of rough edges?  Well - the features of the software have come along well since the publication of the manual in June - and the help system that is embedded in the software is good.  But the documentation hasn't kept up with the features of the product - and this is sometime frustrating. It takes a while to "get" the best method for creating a really good IVR - and I wish that there were examples of more complex IVRs in the documentation - especially how to use the "option" functions.  Here's how (I think) it works:  Create an IVR.  Have step 1 be "play a sound" such as:  "choose 1 for eggs and 2 for peanut butter."   Now choose "options" and tell SV where to go when the user chooses Option 1 or Option 2:

Yes - it really is easy-as-pie.  And I THINK this is the way I'm supposed to do it .. but nothing in the documentation leads me there.  Some of this makes perfect sense and is very powerful-yet-simple (an awfully challenging combination to create) but the simplicity gets the upper hand in some places of the IVR - especially where it comes to the handling of options - and the handling of conditional clauses.

Having "options" stuck at the bottom of an IVR means that they HAVE to be the last thing that a user encounters.   While it's possible to develop a complex IVR that sends the user right to the end .. and then based on the option chosen - back up to a step above - this gets confusing quickly.  It would be much more intuitive to have the "options" behave like any other IVR action - since they are really just a "case" statement.  

And speaking of logic - the conditional clause is GREAT .. except it's only part of what I'd expect to see in a conditional clause.  I want ELSE and OR and AND and ELSEIF.

Ok.. enough complaining.

Josh and his team built something that I LOVE - and it's easy to use too.  It's a URL that I can put into web applications that causes the system to do something.

Here's the documentation for how it works:

 

What is the Call API?
The Call API provides a web interface for originating calls through the PBX. This is often called click-to-dial, and is done by requesting a specially fomulated url from the pbx.

How does it work?
Below is an example URL and a description of its functionality.

Originating a call Example URL:
https://IP.OF.PBX/api?cmd=call&extension=104&number=918005551212
cmd=call Tells the PBX this command is a call origination command
extension=104 What extension to ring on the PBX system
number=18005551212
When the call is answered by the extension this will be the number it will try to ring

How do my Call API Settings effect the call API?
The Call API settings allow the pbx to modify requested phone numbers so that they correctly match what the system expects. For example, if you request that the API dial 8005551212, the Call API Settings will add a 9 and a 1 to make the number 918005551212, which will then be dialed by your phone.

 
 
 
So if I have a link on a web page of our mini-EMR with a picture of a phone .. and it links to the pbx and tells it to call 5551212 from extension 500 .. then it calls 5551212 AND rings x 500 at the same time. So from the patient's chart - I can click to call the patient instead of dialing.
 
Yeh - you've heard of "click-to-dial" and you are not so excited?  maybe the fingers need a little exercise?
 
Ok .. but ... say you need to call 1000 people over 4 days and let them know you have flu shots available and they can choose any of three saturday mornings to come in and get one.  How can you use the API to do THIS - you say?
 
Easy-as-pie:
 
Build a little application (I use coldfusion but you could use anything you like) .. and do the following:
 
  1. Build an IVR that plays a sound:  "Hi - you need a flu shot. If you want one - listen carefully.  You can come in and get one on any of the following days ...  Press 1 for November 63rd, press 2 for October 34th and press 3 for December 44th. If you are hearing this message on your answering machine, you may call us back with your choice by calling 111-1111"
    1. Since the IVR will know who is called - it will send the result back to the application with:
      1. Name of person
      2. Date they chose
      3. (or that nothing was chosen - so maybe we got the answering machine .. which is fine.  We'll set up a temporary route on a DID so that when people call back they will get right to the IVR.  No waiting for a human.
  2. Query the database for the people you need to call and their phone numbers
  3. Loop through the query and send the phone numbers to the phone system every 40 seconds or so (evenings .. so we don't clog up the phones during the day).
  4. In the morning - run a report from the application to see who was called - who responded (and how) and how many people we need to schedule for the flu clinic on Saturday.
This works fine and I tested both the IVR and the Coldfusion and it seemed like they would work well - but I didn't (until tonight) try to tie them together.
 
When I did I got a mean error that Coldfusion couldn't connect to the PBX and all I got was a cryptic connection error.
 
So I had to do a little research and finally figured out that I had several problems.
 
  1. Fourloop build SwitchVox to use SSL when you are logged in as the administrator.
  2. To use the call API - you need to use SSL
  3. The SSL certificate is self-signed which is fine since it's OUR server and I think I trust myself. 
    1. But that's a little annoying because the browser complains that it doesn't have that certificate and that the name of the certificate (pbx) isn't the same as the name of the server. 
    2. But it's not so bad because I can click on the little alert .. or take the 29 seconds to install the certificate on my computer.
  4. But Coldfusion can't click the little box so I will have to install the certificate on the coldfusion server to make it happy.  Steven Erat shows us here how to do that.  .. ok .. now that wasn't so hard.  (or was it?)
    1. But it still won't work.  See the comments on Steven's page.  Several people got through step 1 only to learn that step 2 still stopped it from working:  "I was wondering if you know of a workaround for CFHTTP when posting to https:// where the certificate name on the SSL does not match the host name.

      When attempting this, I receive an Error Detail of I/O Exception: Name in certificate `www.domainname.com' does not match host name `xx.xx.xx.xx'"

      Hmm .. looks like I have the same problem.


But I figured out the solution!  Since I know that the certificate is called "pbx" and I now have it installed on the application server (which in this case is the client - SwitchVox is the server) .. still follow? .. I make an entry in the "hosts" file of the application server called pbx and point it to the IP address of SwitchVox.

Now I run my test page and my cell phone rings (every 40 seconds!) and it tells me I need a flu shot and the browser window of the debugging test page says:

Explanation OK
Http_Version HTTP/1.1
Server Apache/2.0.48 (Fedora)
Status_Code 200

 Hooray!

So we have solved the problem of coldfusion having trouble with SSL and reporting a connection error: I/O Exception: Name in certificate.   First, Install the certificate on the Colfusion server.  Next,  make a "hosts" entry to fool cf into thinking that the name of the remote server is the same as the name in the certificate.

October 08, 2005

Google RSS reader

Google RSS Reader Cool. Useful? Maybe.

September 12, 2005

PBX for the Medical Office

Bruce gave me a hard time about the Switchvox review (yeh .. I'll finish it) because there was no good introduction to exactly what the system is - and why I would want it.

 Here's an intro paragraph:

Asterisk is an open-source phone system.  It replaces the Nortel or NEC or Siemens Oro whatever) system that you have in your office.

Why would you want to replace your current system?  Well .. because it's old and hard to change settings and/or maybe it is just time to upgrage and you are shopping around.  In our case - it's that the old system (a perfectly functional Nortel Meridian Sytem with Voicemail and ~10 extensions) didn't do some thing that we wanted - and we're tired of struggling with configuration changes that take either a long time to learn - or $90/hr to pay the local phone guys to come and help when we are over our heads.

Asterisk is great and has many features.  It does all of the things that your current phone systems does .. like answer the phone .. route calls to extensions, etc.  There are two things that make Asterisk different from most systems: 

  1. It usues VOIP
  2. It is free

 

Continue reading "PBX for the Medical Office" »

USb Flash Phone

Still thinking about how to outfit the office with phones for the new system (I don't want to spend a ton of $$ of Polycom phones for everyone! .. stumbled onto This Phone ... which (I think) looks interesting, but I am thinkin that the Chinese => English translator needs a little work. The Q/A is funny to read. Esample: 1.Why I need order combo desktop package? The combo desktop package will include one Telbox B2K and one USB phone P1K. You can install the Telbox B2K with your desk telephone, and use the USB phone P1K as your travel package. Also save your money.

August 27, 2005

Asterisk Review

Tom's Networking Product Reviews : TomsNetworking :

This is a very good overview of the asterisk at home project. I have been using asterisk for about eight or nine months. The at-home version of Asterisk makes it very easy to set up initially and learn how the system works. It's really extraordinary.

We are replacing our four year old telephone system in the office with a system based on Asterisk sometime in the next few weeks. We are waiting for the installation of our T1 line.

I am very excited because it will provide us an opportunity to enhance the services and make things go a little bit more smoothly in the office.

I'll write a quick review of the system tomorrow.

August 26, 2005

Medlogs OPML ...

I spent way too much time tonight getting docnotes.net redesigned .. and then I made an OPML feed for medlogs.

Consider both in beta .. but usable....

August 24, 2005

Google Talk

IM done right: Google has just released a jabber service and client: Google Talk. It's great. Why? Because it's a tiny download, has a clean, small user interface - and it just works.

June 04, 2005

Apple iMac G5 - DOA & service troubles

Well . perhaps it was the OS 10.4 reviews (generally good) and the
trouble we had with editing movies with the crappy Windows software ...
or I just wanted to see how the other side lived again (my 1st
computers were Macs .. and I lived over there on the "light side" for
!0 years before defecting in about 1995. 



So far, the next Mac decade isn't going so well.



The imac arrived today and Sam set it up in the family room.  All
was going OK until he called me in and suggested that I should help get
it to go on.



Everything was hooked together right, but it just wouldn't go on.



He said that it had powered up once and then "fell asleep." after about 30 seconds.



Subsequent efforts to get it on were unsuccessful.



That was about 10:00 PM



Apple Support is closed .. but they have "24 x 7 chat support" and an online troubleshooter.



I tried the troubleshooter while waiting for the online chat to
respond.  The troubleshooter was good, but I hit a dead end when
it told me to push a button that doesn't exist on my model.



So far - it looks like we are victims of the well-documented G5 imac
power supply issues.  But I think we have a world record for how
long the machine lasted.  (under 1 minute!)



Here's the transcript of my chat session with Apple -- after waiting in their cue for 2 hrs:



-------------------

Jacob:

Hello.

Agent:

Thank you for contacting Apple Chat support. My name is kaushik.Please give me a moment while i pull up your records.

Jacob:


Received brand new imac today

Agent:

ok

Jacob:


powered up for 30 seconds

Jacob:


went dead

Jacob:


now won't power up

Jacob:


followed online troubleshooter ...


Agent:

Please give me a moment while i pull up your records.

Jacob:


LED #1 os on .. but pressing internal power button does nothing

Jacob:


online troubleshooter says to push ?SMU button but none there on this model

Agent:

are you getting the chime?

Jacob:


no

Jacob:


nothing at all

Jacob:

Is thsi Mac just DOA or is there somethgin else I should try?

Jacob:


Hello?

Agent:

i am here

Agent:

checking your issue

Agent:

let me put you to the product specialist and he will be in a better position to assist you with

Jacob:


OK

Agent:

Has transferred you to:

Jacob:


?

Agent:

My name is Mike one moment while I review your previoius chat

Jacob:


ok

Jacob:


uuuh .. still here?

Jacob:


it wasn't exactly Moby Dick ..

Jacob:


;-)

Agent:

To
reset the SMU, do the following steps:Unplug all cables from the
computer, including the power cord.Wait 10 seconds.Plug in the power
cord while simultaneously pressing and holding the power button on the
back of the computer.Let go of the power button.Press the power button
once more to start up your iMac G5.

Jacob:


tried this. No luck

Agent:

Your notes indicate you tried to reset SMU but could not find the button. This computer does not have an SMU button

Jacob:


yes .. i see that .. 

Agent:

Have you tried these exact steps ?

Jacob:


the steps you outlined above?

Jacob:


Yes

Agent:

yes

Jacob:


and repeated just now again

Jacob:


as well as the steps outlined in the online troubleshooter. I noticed
that there are four solder joints in the position that the SMU button
is in the picture .. so it is clear that this model has no SMU button





Agent:

Do you get a boot chime ? Do the fans turn on ?

Jacob:
no chime .. but when I press the "internal" power button as instructed in the online troubleshooter, the fans turn for about 1/10 second
Jacob:
about 1/30 revolution .. and a tiny squeak comes out of the computer from somewhere .. and LED #2 comes on .. ever so briefly .. less than a second.. then it goes off.
Jacob:
then silence
Agent:
Please contact our support center at 800-275-2273 between 6A to 6P for your issue.
Jacob:
you are kidding, right?
Jacob:
I waited 2 hrs for you to tell me to call in the AM?
Agent:
You will need to call for this issue
Jacob:
and they are closed on the weekend?
Agent:
Open 7 days a week
Jacob:
website says M-F
Jacob:
if I bring it to the local apple store .. can you authorize a swap or somthing?
Jacob:
are you agreeing at least that this is DOA?
Agent:
I am not agreeing this is DOA or that it will be swapped. I am advising you to call our call center. You will be transferred to a product specialist
Jacob:
YOu are not a product specialist? kaushik said you were a product specialist!    pls understand this is frustrating to wait 2 weeks for new machine .. spend 1 hrs troubleshooting on my own .. wait 2 hrs to talk with you .. and now you tell me call in AM!?
Agent:
I understand but for this issue you need to call
Jacob:
what exactly do you think "this issue" is?
Agent:
I aplogize but there is nothing else we can do for this problem by chat
Jacob:
thanks, Mike.
Agent:
Thanks for using AppleCare chat support
---------------------------------------------------------------------------------------------

Well - clearly Mike is instucted to avoid saying anything in writing to acknowledge that this is DOA or that it has a problem that Apple has yet to publicly acknowledge is very-bad-indeed as many of the discussion boards will confirm.

I really am questioning this purchase.  Hmm ..

We'll see if tomorrow goes any better.

I'll call at 6 AM Pacific ...

February 06, 2005

Lingo VOIP, Time Servers, NTS, ReplayTV

If a purpose of a weblog is to document important things so that others can find them .. I'm obligated to share the following.  It's not medically related.  Medical readers please ignore this .. geeks are welcome to follow along for your reading pleasure.

Our home network has three replayTVs, a win2k server, an Iomega u300 270 GB NAS (RAID level 5) .. running through a Smoothwall Linux firewall, Linksys 24 port 10/100 switch,  a Lingo VOIP ATA and (finally) a Time Warner-supplied Toshiba cable modem .. which attaches us to Earthlink Broadband (essentially Time Warner RoadRunner).

I'll spare you the links to any of the above .. google will get you there rather easily.

We love the replayTVs as they allow us to avoid commercials.  We almost never watch "live TV" anymore.  We can also watch things when we want to - rather than when they are on.  Alias and West Wing are on at the same time, but we can alwasy see them.  Two weeks ago, we forgot to record Alias .. so I used Poopli to get it.  Cool.  We can also watch a show in the bedroom that was recorded in the Family Room.  Until ...

Over the last few weeks, the replayTVs stopped reliably talking to each other.  Rebooting sometimes helped .. but I couldn't figure out what in the world was going on.

Last night I invested (wasted?) three hours and figured this all out.

After researching similar issues on the REplayTV FAQ and the AVS replyayTV forums, I learned that this problem is often due to the ReplayTVs having different TIME settings.  A difference of over 30 seconds is bad.

So I went through the processes that everyone suggested to cause the devices to "phone home" and find out from the ReplayTV mother ship what time it really is.  They're using a NTS protocol .. which runs on UDP port 123, BTW.

But none of the devices could get a new time!

So I looked at the firewall settings to amke sure that port 123 was open .. and it sure was ..

And then I looked in the firewall logs and saw that the poor firewall hadn't updated its time successfully in weeks.  Every time it tried to call a time server, it failed.

So I logged in to the Lingo ATA .. which was no small task.  I still can't get in with the admin password (thinking maybe that would have helped me to solve the problem .. so if anyone knows how .. let me know!) .. but the user password (username: user - password = ph3taswe) .. log in to 172.25.25.1 through a browser .. and I noticed that the ATA has successfully made IP entries for DNS servers (it's getting DHCP from Roadrunner) but that it also has an entry for NTS .. which says "0" ... so I'm guessing that the ATA is intercepting all NTS requests and sending them to the NTS that it knows about ... which .. in this case .. is "0" .. so all NTS requests fail.

I'll bet that if I could get in to the admin interface, I could change the NTS address to something useful (it even looks like the Roadrunner DNS servers are running NTS) .. but I can't.

So at this point (1 AM last night) .. I had two choices:

a) Connect the firewall directly to the cable modem.  This would cause me to lose the QOS that the ATA presumably is giving me (though this may motivate me to add a QOS mod to the firewall).

b) Install NTS on the Win2Kserver .. and use the firewall to redirect all requests to UDP port 123 over to that server.  The time would be consistent within the network - even though they would not likely be "right" according to the Atomic clock.

I Chose option "a" since I want the ReplayTVs to work with Poopli . and I think that other ReplayTVs will need to be able to talk to mine .. so they will all need to agree on the time.

This option worked.  ReplayTVs now can tell the time, and Lingo phone quality doesn't seem too bad.  We'll see what happens when streaming TV shows across the network.

 

December 12, 2004

Scanning at home

At the office, we have great custon-built scanning software that Dave built.  It's worked flawlessly for 3 years now .. and aside from the fact that the TIFF files it makes are a bit bigger than they need to be (hin, hint Dave) ... it's grrreat.

I'm looking for something now to use at home that is just as easy to use.  This is not rocket science .. so I'm surprised that no company has yet produced software that does this elegantly.  If you know of one .. please leave a comment.

The crieteria for a quick and easy scanning solution:

 

  • Easy to use
    • Really, really easy - this means that there is one button "scan" and perhaps a menu to define options such as resolution or turn on duplex, etc. 
  • Stores the files in folders in the OS (or FTP, I suppose) rather than a proprietary database
  • Provised optional annotation or indexing of files .. with either a database (ODBC connection preferred) or a text/XML file that is stored locally or on a network drive
  • Inexpensive.  This is not ricket science .. so we shouldn't pay for rocket science. 
  • Stores files efficiently - in TIFF or .pdf
  • Easy to use .. and really fast. 

What I've found so far:

edrawer - personal version is inexpensive .. but I can't download a demo .. and their website is so poorly designed it makes me wonder about their skills at making usable software.  I can't tell where the files are stored, but it looks like ley are ina database.  I don't want my files trapped in a database in 10 years.  I want them in the OS -- in hierarchies of folders.  They won't be trapped when the scanning software company goes out of business and my software won't work in Windows 2015 .. or Windux .. or Mac OS XV.

PaperMaster.  hmm .. looks enticing,, but again .. where are the files?

SinmpleIndex "the best value in scanning software" .. sores files in folders.  Inexpensive.  Downloaded the demo.  Scans a few images just fine .. then .. crash .. over and over ..

If you want to make sales .. then make sure your demo works.

Douxplorer is a "document managerment systerm."  It works.  But it stores the files in the database .. which has to live on your hard drive .. unless you pay for the professional version (n which case you can store the "library" (databse) on a server or shared folder.

InfoThek Docudex is the winner so far .. as it seems to do everything I want .. and it's developed elegantly.  I'm going to test it for a while to see if I can make it work well.

 

November 01, 2004

Bandwidth

"Bandwidth" is the amount of data a website consumes/generates/requires over a given period of time.  Since building Medlogs.com, the bandwidth consumed by my account on our web host has increased quite a bit.  How ironic that a successful weblog or public service site like Medlogs will cost (rather than earn) the owner more money.

Last month (october, 2004) we used nearly 12 GB of bandwidth ... and one morning our sites were down because we had gone over the limit of 10 GB.  So today I'm experimenting with gzip compression to improve the speed of page downloads on both Medlogs and Docnotes.  There are several ways to enable gzip, but the simplest is to use php:

At the beginning of every document (or add it to the MoveableType template) insert this line:

<?php
ob_start("ob_gzhandler");
?>

Of course, if it's already a php document, you can omit the <?php ... ?>

This will imporve performance on Medlogs.com and will reduce the amount of bandwidth that we use.

Blogrank.org is coming soon too ;-)

September 08, 2004

Gmail, google, etc.

IT digest discusses the present and future of google. 


Here's my idea for another feature .. which I'll bet wouldn't be too hard to implement:


"publish this" in gmail would be a way to publish an e-mail to a weblog.  It would need to support a publishing API so we're not all locked in to blogger.  


oh .. I've got a few gmail invites .. if you want one, post a comment here.


I'll get back to medicine soon. 


- JMR

August 16, 2004

Vacation

I passed the boards.  Was worried that I didn't .. but I ended up doing pretty well.  won't have to do that again for 7 years.  Phew! ..


Going on vacation for a week.  Bye!


 

July 06, 2004

Firewall/Router

Our old Netgear router has been acting up recently and instead of buying a new one, I installed a free software router onto an old PC we weren't using.   Smoothwall is a great router and it also provides firewall, DMZ, etc. I have not gotten it working with DansGuardian yet, but hope to soon to protect my children from the Internet.


Installing Dansguardian into Smoothwall doesn't look too hard, but I am no linuxhead .. so this may take a bit. 1st attempt this morning didn't go so well.

June 12, 2004

drugref.org

www.drugref.org :: Free Peer Reviewed Pharmaceutical Reference

May 20, 2004

My Left Arm for a Gmail Account

Wired News: My Left Arm for a Gmail Account. Lots of talk on the Internet about Gmail accounts. Google's version of webmail provides many features, but the two that have haused the most stir are the privacy issues (google's computers read your e-mail and place targeted text advertisements on the screen next to your message) and the size of the mailbox: 1 gigabyte.

I have a gmail account. Lucky me. I won't have to buy one on ebay. Got it from my brother.

a) I love the 1 gb of storage.
b) I don't care about the privacy issues. I have nothing in my e-mail that google's computers aren't welcome to read. E-mail is inherently insecure anyway.

The great features of gmail are the auto-threading, and the ease with which on can "get through" the e-mails. Auto-threading takes all e-mail conversations and groups them together. So if I get a message from mom .. and I reply .. and she replies back .. is all automatically grouped together as one "conversation" instead of three separate e-mails. E-mail processing is also very quick. It's easy to review messages, identify and handle spam, archive, or label a message. All very fast. The user interface is the best I've seen for a web-based e-mail client .. dispacing my previous favorite, oddpost.

May 14, 2004

PDA as a polling tool

In JAMIA this month .. an atricle on using PDA's in the classroom.  Trouble is .. most PDAs don't have wireless connections.  So to implement this very good idea in the real world .. we'll have to wait a few years.

May 07, 2004

Clinical Systems: Usability

Clarifying the Metrics of Usability is a paper that I found while trolling the web this morning.  I'm looking for a way to clarify to a software vendor how we expect their product to be usable.  It's slippery.  We want to contractually define that the product has to meet the user's needs and expectations.  Of course this is the goal of the vendor too ... but they often seem to miss the mark.  So often - software isn't as usable as it should/could be, and this is terribly important.  Yet it's so hard to define or measure that the standard "I know it when I see it" just won't do in the contract.

May 06, 2004

Soarian

From 10/2003:  Siemens Soarian Goes Live at Largest Customer To Date  .. contrasted with this from 5/04.  How things change...

April 08, 2004

NAPCI

Health Data Management reports that NAPCI now exists.  After years of work, this organization, the brainchild of Moon Mullins and John Zapp, has finally hatched from the egg.

NAPCI is a good idea, and has support from nearly all of the primary care specialties.  "Nearly all" means that AAFP is missing, and this is an ambarrasment for AAFP, IMHO. 

As a member of the Board of NAPCI (I represent STFM) .. I am clearly biased.  But as an AAFP member, I am also compelled to help "my" organization understand the needs of its members.  I've therefore been part of a recent effort to help educate the AAFP on the reasons for NAPCI membership .. and to understand why they have chosen not to join.  Ideed, the boards of STFM and NAPCRG have communicated formally with the leadership of AAFP - imploring AAFP to reconsider this decision.

Alas ... I fear that AAFP's vision for how primary care informatics needs should be expressed lies largely in the hands of David Kibbe - a bright and assertive man who has a clear vision that AAFP should:

... serve as the "physician voice" about the information revolution in office-based medical practice -- to make widely known the views of physicians, and their patients, as they relate to empowerment through HIT.

But if AAFP is the physician voice .. where does that leave all of the other specialties?  Long downtrodden as the Rodney Dangerfields of medicine, we family physicians should have well learned not to be so excluse as this sort of language suggests.  We need to work with the other specialities.  NAPCI therefore needs to become the primary care provider's voice -- with AAFP an active particpant in framing the statements.

At our Board meeting in early March, several representatives of other specialties reported that the leadership of the EHR collaborative had concerns about involving the AAFP because they perceived AAFP to be "going its own way."

This is troubling.  David K denies that he's been uncooperative - and insists that collaboration is a core component of his work.  Yet somehow this is not coming across, and the failure of AAFP to join NAPCI is a rather clear message that AAFP does NOT want to collaborate .. isn't it?

 

March 29, 2004

Computerized Guidelines

Family Practice -- Abstracts: Butzlaff et al. 21 (2): 183

Learning with computerized guidelines in general practice?

A randomized controlled trial M Butzlaff, HC Vollmar, B Floer, N Koneczny, J Isfort and S Langea Medical Knowledge Network evidence.de and a Grönemeyer Institute of Microtherapy, Faculty of Medicine, University Witten/Herdecke, Germany E-mail: butzlaff@uni-wh.de

Background. Evidence-based guidelines are seen as an important instrument to transfer scientifically generated knowledge into daily clinical practice and to ensure high standards of clinical care. Despite wide promulgation, clinical guidelines so far have a limited impact on individual professional learning and on changing daily medical practice.

Objectives. Our aims were (i) to study a potential knowledge increase among German GPs after implementation of web- and evidence-based guidelines and (ii) to identify and analyse potential barriers to individual professional learning with computerized guidelines.

Methods. A prospective, randomized controlled trial was conducted including 72 GPs (21% female, 79% male). The intervention group (n = 38) had access to clinical guidelines via the Internet or CD-ROM, the control group had not (n = 34). Both groups received a standardized two-part questionnaire. An increase of knowledge was measured with 25 multiple choice questions related to four different medical topics. In addition, reasons for using or not using computerized guidelines were analysed after access to guidelines was open to all participating physicians.

Results. There was no significant knowledge increase in the intervention group (P = 0.69). Twenty-two (58%) GPs of the intervention group had used the guidelines. Unspecified curiosity (76%) and a specific medical question (38%) were predominant motives for usage among physicians who had used the guidelines. Among ‘non-users’, 78% stated ‘lack of time’ as the main reason for not using guidelines.

Conclusion. An efficient knowledge transfer through computerized guidelines was not achieved. Usage, individual learning and potential implementation depend on adequate incentives and pragmatic aspects of clinical practice: easy and quick access.

Keywords. Clinical practice guidelines, evidence-based medicine, general practice, Internet, randomized controlled trial

I'm not sure what to make of this study.  The results are smilar to other studies that demonstrate how physicians don't change behaviors very well.  Hmm .. regardless of the methods, docs are not likely to embrace new practice patterns.  Duh.  Just becasue it's on the web or on a CD doesn't make it more palatable.  The key (I highlited it iin the above abstract) is that continuing medical education be relevant to a physican's practice. 

March 01, 2004

pdanet

I just downloaded a trial of pdanet.  It permits the use of a treo 600 as a wireless modem.  I wasn't expecting much, but I am pleasantly surprised!  The speed is reasonable.   

February 28, 2004

Treo 600

Watch - out Bill -- I'm wireless now too. 

After a few months of watching and waiting, I did finally get a treo 600.  It is a useful tool that combines the cellphone and PDA.  It doesn't have any true paging technology (like Motorola's FLEX protocol) so it can't (yet) replace a pager.  It should.  Palm and Motorola had this idea five years ago .. I wonder why it didn't move into these devices.

While I do find the device useful as a PDA (it's got all of the old standbys installed: epocrates, 5mcc, shots) ... and of course a phone ...  the best thing about this device is something that I thought was just a toy beforehand:  Instant Messaging.

Huh?  (you say) ..

For physicians who are not always in the office, this device can significantly improve your life.  Since I work at the Miracle Center 1/2 time ... and I'm at the office 1/2 time, I'm often getting pages from one when I'm at the other.  I can't leave a meeting, or interrupt a patient visit to make a phone call, but I CAN respond to an IM quickly and without too much distraction.

Nurse Kathy and I had several little conversations last week with IM.  It saved me four or five phone calls ... and got her immediate answers to her patient care questions .. so patients got better service.

I'm using chatter - which is a wonderful little program .. and she's using yahoo.  Yeh .. not very secure.  So no PHI.  I've looked into Jabber  -- and we'll probably use that once I can figure out how to install a jabber server.

 

February 22, 2004

ESF

Since we're on the topic of RSS (see the previos post) ... take a look at John Bristowe's Weblog -- where ther is discussion of how ESF feeds (a superset of RSS) can be used to generate (via newsgator) schedule entries in Outlook automatically.  Not bad.  We'll have to give that a go .. eh Dave?

Technical Pearls

Today's news:

  • Chris Cates has released a new version of his wonderful software, Visual RX:
      • "What’s New?

        In the 2004 Updated version of Visual Rx the Confidence Interval (CI) for the calculated Number Needed to Treat (NNT) can be generated by entering the upper and lower CI for the Odds Ratio or Relative Risk on the data entry screen. The CI for the NNT will then be displayed on the second smiley face screen. The rounding is always up to the next integer when calculating NNT (so 3.1 will round up to 4)."
  • The National Library of Medicine has an excellent palm-based Medline lookup tool.

January 25, 2004

Coldfusion Weblog

CFBlog v.005 is Dave's next big hit.  It's built on Mach II.

Here's a spec-on-a-napkin (the best kind)

  • Imports Radio and MovableType
  • Generates RSS 2.0
  • Won't Generate Atom (just to spite them!)
  • Tackback
  • Searching
  • Multiple Blogs
  • Multiple Authors
  • "easy" mode with layout templates, etc (like Radio or TypePad)
  • "hard" mode with customizable tags .. this will require basic coldfusion skills.
  • Support for static or dynamic page generation
  • RSS subscription (supporting the creation of mini-aggregators)
  • Make breakfast
  • WYSIWYG editing for posts and comments
  • Spam-proof comments
  • Support for categories

January 17, 2004

On Medblogs

The Medicine on the Net Front Page article this month is on medical weblogs.  It's a good article, but you have to pay to read it all.  I hadn't read Medicine on the Net before.   It looks like they are publishing a trade journal that aims to keep people informed of what is happening in the Internet related to the business and practice of medicine.

Last week, Bill Reith (Bill - do you have a weblog?  I can't find it if you do!) .. asked me to write more about my "other job" and I recognized that I don't write much about it here.

I'll try to write some more about medicine and technology.  It's an important topic, and I believe that technology and medicine have always influenced each other. 

The important thing to remember about technology is that teh hard decisions are nto about what we can do with technology.  The list is as long as my arm - and it's easy to dream up cool new applications of technolgoy.  What we should do is much a harder question - and deserves great thought and understanding of both the technology and the process to which technology is being applied.  In a paragraph - this is what I do.  I help make the decisions about what we should do.  It's therefore my job to know as much as I can about the work that we do in a hospital ("we" includes physicians, nurses, residents, medical students, ward clerks, phleotomists, pharmacists, speech therapists, administrators, billing clerks, finance specialists, and so-on), and I also need to know as much as I can about technology.

I can't have the "usa-today" version of how to build an electronic health record in my head.  I really need to know the nuts-and-bolts of how this is done.

November 17, 2003

Medical Informatics

Back to Medical Informatics this evening ..

a) There is a new report out from the GAO.  It's 120 pages long, but worth the download if you're intersted.  Here's the overview:

The rapidly rising costs of health care, along with an increasing concern for the quality of care and the safety of patients, are driving health care organizations to use information technology (IT) to automate clinical care operations and their associated administrative functions. Among its other functions, IT is now being used for electronic medical records, order management and results reporting, patient care management, and Internet access for patient and provider communications. It also provides automated billing and financial management.

The Ranking Minority Member of the Senate Committee on Health, Education, Labor, and Pensions asked GAO to identify cost savings and other benefits realized by health care organizations that have implemented IT both in providing clinical health care and in the administrative functions associated with health care delivery. GAO analyzed information from 10 private and public health care delivery organizations, 3 health care insurers, and 1 community data network.

 

b) In my discussions of the AMIA meetings from last week - I didn't discuss two topics that were more important than I expected.

  1. CCR.  I mentioned it briefly last week (and last May) but it deserves more explanation. CCR is an attempt to develop a minimal data set that would provide enough data for a patient to be adequately cared for in a new setting.  Ideally thought of as a "transfer record" - it's become more than that over the last 6 months, and remains a work in progress.

    CCR is controversial.  Many argue that HL7 could do this just fine, and that there is no reason to develop a NEW standard - where augmentation of the existing data transfer standard would suffice.

    But maybe it wouldn't - and maybe we need to agree on what this minimal dataset is before 2015 - as HL7 (the organization) moves rather slowly.

    So with the framework of ASTM and the support of HIMSS and the Massachusetts Medical Society, CCR is building steam.  A measure of this steam is the fact that the AAFP project (and all of the vendors who have signed on with that project) has embraced CCR as a method of sharing data across systems.

    Hmmm ... While this is intuitively good, it's also risky at this point for anyone to be certain that this is good, since the definition of CCR remains up in the air.  the drafts I've seen have had weaknesses - depending on the perspective of the reviewer.  The balance betweek keeping it simple (and therefore easy to implement) and keeping it complete (thereby capturing all of the important data) is a tricky one.

    CCR will be defined in XML.  This is no big deal - and is certainly the appropriate way to express it.  What's nice about XML is that the data can be transformed very easily depending on how the user wants to see it.  If you're curious what in the world I'm talking about - you may need a tiny intro to XML  Here you go.  Just read the 1st page -- shouldn't take you more than 2 minutes.  I'll wait here until you come back.

    Ok .. so we all "get" XML now.  See .. it's really pretty simple and indeed that is the goal of CCR.  To define a patient record in a simple way so that we can transfer care quickly and easily.

    Microsoft is building new XML tools such as InfoPath.  They understand that healthcare is the right kind of business to market this stuff to.  Here's an interesting demonstration of Infopath:  The Microsoft Office InfoPath 2003 HL7 CDA Demo.

    Should we start interrogating our vendors on whether they support CCR?  No .. not yet .. but if they haven't heard of CCR at all - we may want to give them some homework.  To get more involved in the CCR project and review drafts, give input, etc .. join ASTM.
  2. Along similar lines, there is a confusing project now going on within HL7.  When many people think of HL7, they think of the protocol that defines transactions.  IN fact, HL7 is an organization and within this organization, there are a group of people who are trying to answer a question that the government has charged them with answering:  what is an electronic health record?

    It's and important question - since the answer will ultimately define a set of standards that will, one hopes, provide better uniformity in how these systems function.  Think of medical records in our practices and hospitals like money in banks.  It doesn't really matter to the banks how the money is stored electonically.  I'll bet that the database at Bank of America looks different from the database at Wells Fargo.  But since the banks have all agreed on how the money will go out and come in ... my money can move from one bank to another pretty well.  The standard that defines how the money moves is like the HL7 standard for transactions --- and in some ways, like the CCR.    My bank account is like my electonic health record.  If we can't agree on what a bank account (electonic health record) is, then it's going to be hard to form the standard for the transactions between the banks (healthcare providers).

    So what?  well .. if one system understand the concept of "family history" and the other one doesn't .. then the system there is no way that this data is going to come across from one system to the other.  So we have to define what the systems will be able to understand.

    This is what the HL7 EHR functional Model  is. 

    I went to a session hosted by the HL7 folks.  It was billed as a "town meeting" but was rather sparsly attended.  For two