Parsing Volume to Value, Proxy Measures, and the Streetlight Effect

Despite some concern that the migration from fee-for-service to value based payment (VBP) is being reversed, there remains strong momentum for VBP – both nationally – in the form of the bipartisan 21st Century Cures Act that was passed and signed into law last December, and many state and commercial initiatives, including the one I’m personally involved with, New York Delivery System Reform Incentive Payment Program (DSRIP).  Defining value, of course, is not easy.  I’ve often returned to Michael Porter’s short essay on this topic when I feel my definition meandering. Go read it now.  Please.

Ok, you’re back?  Cool.  That was good, eh?  I love the last paragraph:

The failure to prioritize value improvement in health care delivery and to measure value has slowed innovation, led to ill-advised cost containment, and encouraged micromanagement of physicians’ practices, which imposes substantial costs of its own. Measuring value will also permit reform of the reimbursement system so that it rewards value by providing bundled payments covering the full care cycle or, for chronic conditions, covering periods of a year or more. Aligning reimbursement with value in this way rewards providers for efficiency in achieving good outcomes while creating accountability for substandard care.

As CEO of Alliance for Better Health, I’ve been working with care delivery organizations in our community to navigate the path forward.  They clearly have their feet in two canoes:  the majority of their reimbursement continues to come from traditional sources with a traditional structure:  more patients seen = more money.  And then – from the edges, they have people like me telling them that the future is something different.  It’s new, it’s going to pay them to do something that they would like to do – but they’re not quite sure how to do it, and, yes, some fear accountability.  

Walk before we run, or jump right into the deep end? How do we traverse this gap between where we are and where we would like to be?  One framework says that here is no traverse at all: we need to leapfrog to tomorrow and start from scratch.  Iora Health is one such model.  Care providers are focused on personalized, proactive care.  The practice is led by health coaches, nurses, physicians, and administrators working together as teams to maximize health for the communities they serve.  Reduced cost is a byproduct of great care, not a target itself.  The office workflow is different from a traditional practice, the architecture is different, the hiring practices are different, the EHR is different.  This model steps out of the old canoe and into the new one.  For those with the guts, it’s a great model.  For the rest, a slower path may work better.  Of the slower paths, there are a handful of options, and many of them are complimentary rather than mutually exclusive.  Accountable Care Organizations represent a compelling alternative to the Iora-style leapfrog.  By offering a migration path – with increasing levels of shared risk, an ACO can coalesce a community of providers, collaborate with the federal government or commercial payers to standardize care for the better, and improve health outcomes.  There are many models of ACOs, but I would argue that a common thread for the successful ones is that they have maintained laser focus on two guiding principles:  a) success will attract the right partners;  b) great primary care is the keystone of an ACO.  Let’s parse this for a moment:  why do I say that success will attract the right partners?  There is a misconception that one should start with the creation of a large ACO.  Growing the numbers of care delivery organizations will grow the number of “accountable lives” (people) and therefore, if one follows the “bigger is better” hypothesis, one can take advantage of the scale to reduce overall risk, and create a more powerful negotiating lever with the payers. While seductive, this hypothesis is flawed.  A big network is hard to manage, and an ACO will be forever “herding cats” if they start too big.  They won’t see shared savings, and they won’t be able to meaningfully accept risk, because they can’t be confident that they will perform well.  An alternative model, and one that has been followed by all successful ACOs, (which, of course,  includes my friends at Aledade) is to start small.  For the first turn of the ACO wheel in a community, focus on a small group of providers who are “all-in.”  They are fully engaged and dedicated to the success of the program.  When successful, this attracts others – like moths to a light bulb – to the program.  The ACO can then attract great partners (great primary care providers) rather than working hard to corral everyone and then re-educate them to the new ways.  The difference, of course, is “pull” vs “push.”  “Pull” usually works – and if it doesn’t, it wasn’t meant to.  “Push” never does.  We call this Motivational LeadershipTM  (More on this in another blog post.)

DSRIP Performance.  Many states have DSRIP programs, and it’s beyond the scope of my essay today to explain what DSRIP is, or what exactly New York’s variant represents.  Today, our focus is on DSRIP Performance.  Click on the image over there for a snapshot of what I mean.  Each line is a measure Alliance Performance Measures and our performance against this measure will determine a payment from the New York Department of Health.  The program (more than) pays for itself:  with improved health of a population, unnecessary acute care services are prevented.  Healthier people, better care experience, lower cost.  In that order.    One challenge that we have is that the dependent variable here is our community’s performance, yet we won’t know what that is for 6-12 months .. which gets us to the heart of our story today:  proxy measures and why we need them.

  1. Problem to solve: we want to pay our community for performance against DSRIP goals.  Most of these goals of course are measures.  We call them outcome measures – but internally we know that most of them are process measures.  That’s ok. It’s all a continuum. We’re not going to measure life expectancy (we don’t have 50 years) – so we’ll have to draw the line somewhere – and “preventable ED visits” (and the 38 other measures you can see by clicking on that thumbnail above) may be just fine.
  2. Hurdle to leap:  DSRIP funds have too long a payment lag.  Telling a CBO or small practice or a hospital CFO that “I’ll pay you Tuesday for a hamburger today” (I’ll pay you in 2019 for preventing ED visits now) just won’t work. It’s too far.  I can’t train my dog to sit by rewarding him in an hour.  I need to tie the positive reinforcement to the act that I’m reinforcing.
  3. Opportunity: we’ve created an incentive program in which we have committed to distribute funds (which we have in the bank) in advance of performance.  Up to 30% of the funds that could be earned this year will be distributed quarterly (up to 7.5% per quarter) for near-term performance.
  4. You are now asking the right (next) question:  “how will you know what near term performance looks like?”  Aaahh .. yes!  We will need to measure performance! In some cases (preventable ED visits) we will do our best to mirror DOH methods with the data that we have available from claims data, from clinical data feeds, and other sources that are available.  Of course – “data we have available” is a classic quality measurement challenge – the so-called “streetlight effect.” We’ll avoid that as much as possible by using proxy measures.
  5. Proxy Measures are therefore a big topic of conversation in these parts.  What’s a good one?  What’s not?  We want to let the community do some of this work – as thinking about how to measure value is a great exercise for them as they transition to value based payment. We don’t need them to make these perfect!  That’s what I think is the elegance to this model.  Worst case:  they make easy proxy measures that look like success, get 30% up front, miserably fail on the “real” measures from DOH and we get $0 at the end.  This is fine.  We will have tried – and they will have “cheated” us for 30%.  But we have the 30% this year to cover our experiment because of the evolution of New York DOH’s DSRIP program:  this year, we still get some funding to support “pay for reporting.”  Next year, we shift to nearly 100% “pay for performance” and $0 for “pay for reporting.”  By allowing for this evolution, we encourage providers  to experiment with proxy measures, allow them to be imperfect, all while pulling (not pushing!) forward into value based payment.    It’s unlikely that they’ll fail miserably and “cheat” us.  Much more likely is that this enough to cause them to work really hard for true success.  The 30% is then just a pre-payment – and they’ll get the 70% next year when it flows from DOH for our extraordinary performance.What’s an example of a proxy measure?  Ideally, a proxy measure is a perfect reflection of the “real” measure we’re aiming to satisfy.  So if we want to reduce preventable Emergency Department visits, and our performance measure will be “% annual reduction in preventable ED visits,” then a monthly (weekly? daily?) measure of this would be optimal.  Indeed, if we had rapid insight, we could intervene.  This where quality measurement, if performed real-time, actually becomes decision support.  (This is a topic for another day …) So here’s an example of a less obvious but perfectly reasonable proxy measure:  if we accept the hypothesis that preventable ED visits are a given percentage of all ED visits, and the hypothesis that ED visits resulting in hospital admissions are less likely to be preventable ED visits (they represent conditions that merit a hospital admission) then if the proportion of ED visits that result in hospital admissions grows, one might conclude that the number/proportion of preventable (unnecessary) visits fell.   Long-term, this would be a terrible performance measure, since it may cause the ED staff to feel pressure to admit more patients.  But as a proxy for a reduced number of preventable ED visits, I think it does a nice job. Do you agree?  Disagree?

You can play too, if you like.  Here is an editable spreadsheet with all 39 of our measures.    Add/edit columns with your ideas for proxies!  You can also see much of the baseline data for the DSRIP performance measures (and others) by poking around here.

12 years of blogging .. about medicine, technology and their intersection …

This post from November 26th, 1999 – was the first on this blog.  There were a few months of previous posts, but due to several platform changes back then – these seem to be lost.  

No matter.  12 years is a long time.  My blog is now officially an adolescent.  I wonder what it will be when it grows up!  Long-time readers are of course observant that I've been remarkably quiet for the past few years.  This is due to my evolving work for an HIT vendor and now the Federal Government.  

So I've been operating with this in the background for the past six years:

The opinions expressed on this blog are my own and do not represent the veiws of my employer.

And there is a rough "social media policy" (google docs – you have edit rights .. feel free to steal or enhance … ) that I have in my head as well .. so in general I have done my best to observe and occasionally point to important publicly available information, but take care not to comment too deeply – for fear that others would interpret my commentary as a telegraph of my employer's next steps.  This wouldn't be appropriate for me to share – and increasingly – I am concerned that most of my public thoughts could be interpreted in this way – so I've been holding back from any public commentary.

So for now – here we are. 

I'll push the envelope a teensy bit and comment on some events of the past few months:

Tim HISTalk covered my arrival at ONC in a post about a month ago.    He asked the right questions about the topic at hand – but he didn't get to the one that I am hearing often these days – which is .. "Why did you leave your leadership role at one of the top health IT companies, choose to spend weekdays away from your family, AND (with two kids in college) take a giant pay cut?"  

The answer is easy:   It's the right thing to do.  

Health Care in the United States  is at a turning point.  It is well known that despite great advances – we don't provide the quality of care that we would.   It is also self-evident (to me) that technology – carefully applied – will improve both the quality of care – and the efficiency, sensitivity, and ease with which it is delivered.  Yes – some of those words may not be familiar to you – but why WOULDN'T we want it to be EASY to deliver great care?  Why shouldn't we deliver SENSITIVE care (sensitive to your hopes, religion, fears, preferences) – in addition to efficient, evidence-based and (of course) cost effective) care?

 So I have always tried to focus my work on helping others meet their true potential.   In my first career – as a 16 year old sailing teacher, I helped kids find the freedom and autonomy that a good breeze and a sunfish will provide.   As a teacher of junior high school kids – I witnessed breathtaking intellectual growth in a herd of 12 year olds who were otherwise distracted by adolescence and its daily challenges.  Working with (some say "caring for") patients as a family physician - I found that my most important work was not to take control and "fix" my patients (as some of my mentors had advised in medical school) but to partner with my patients – serving as a resource – without any judgment or critique.  As Bill Miller and James Prochaska have demonstrated (motivational interviewing, transtheoretical model) – people change when they choose to – and no sooner.  Can we facilitate growth in others?  Of course we can.  But "facilitate" and "cause" are inherently different.

As a leader in a large health IT software company – my role was often to help our teams align the software products we were producing with the needs of our customers.  This is not unlike the role of a good physician:  we need to listen carefully and critically so that we understand the needs (which will sometimes differ from the "wants") so that we can facilitate success.

And isn't that the role of government too?   Perhaps that's a political question.  Some would argue that government should get out of the way, while others would argue that there is an important role for government to provide an infrastructure with which success can be facilitated.  Is a healthy happy nation something that is important?  Are there ways that government can facilitate a migration toward these goals? 

I think so.  Keep an eye on my occasional tweets , g+ posts (rss), and posts here on this blog.  It will continue to be sparse here on the blog. 

Sammy Starts a Business …

With some help from Nikita – the offshore development leader, Sam is on the edge of releasing his first website.  While it's not likely to cause him to be the next Sergey Brin – he hopes to make a little bit of money – and provide a valuable service.  Details to follow in a few days when version 0.5 goes live …

Sam needed to create an LLC.  When we created about a decade ago – we did a quick google search (maybe it was Altavista back then!) and chose a company that could "take care of creating a company for you" for a low-low price.

But the low-low price we paid got us stuff we didn't really need (a special seal, a binder with 10 pages in it, an annual fee for a Registered Agent, etc.

So this time – we used UpstartLegal.   They do what you need (help fill out the forms and file them with your State and with the IRS – and don't do what you don't need.  Most of the companies that you find on the Internet will charge you more for filing with your state – and they generally include registered agent fees.  But if you create your LLC in your home state – you don't need a registered agent.  So even though they may have a low-low price of $99 – when it all comes together – you'll end up paying much more than that .. and more every year thereafter.

The UpstartLegal team is smart, honest and very clear.  It's a nice service that made this part of Sam's new endeavor completely painless and worry-free.  Well done. 

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.  🙁

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!

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  (No .. it's not really "phonehost" either)

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



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:
cmd=callTells the PBX this command is a call origination command
extension=104What extension to ring on the PBX system
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?
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 `' 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:

ServerApache/2.0.48 (Fedora)


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.

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 Or 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 & memorize – 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 system does .. like answer the phone .. route calls to extensions, manage voicemial, etc.  There are two things that make Asterisk different from most systems: 

  1. It usues VOIP
  2. It is free

The difference between a VOIP system and an analog system is that the voice is moved from the server to the phones over computer wires just like the signals from one computer to another.  Yes – it will work over WiFi too.  So of course the phones are not regular $9.99 phones you can pick up at Kmart .. they are actually little computers themselves – since they need to decode the bunches of data that represent the voice and make it into something that the person hears.  It all sounds like it would be too hard and too slow to do all of this encoding of data .. moving it and then decoding it .. but the technology has gotten pretty good.  Trust me – it works. Yes – you can even use the $9.99 phone from Kmart if you buy an ATA – which is a little adapter thing that costs about $60 and does the comptuer work for you.

Why would you want to use VOIP indtead of an analog system?  Using a computer to set-up the system and route the calls makes more sense than remembering (or reading) a bunch of codes and punching them into a telephone.  VOIP also means that the phones keep their setup information wherever they are.  So if you unplug the phone from the office and plug it back in at home (so long as you have an Internet connection) — the phone will work the same as it did at the office.  Dial a "local" extension for the person who was one office away and it will ring there just as if you had been back at work.

This makes it easy to have remote workers.  One of our nurses will be working from home to help us triage calls when we get too busy.  

Hardware and infrastructure needs.  To install a VOIP system – you really don’t need much.  Asterisk can run on an old PC with not-too much RAM.   The load on the server is proportional to the number of concurrent calls.  For home or small business – a reasonably capcable desktop PC would be fine.  Big companies can run hundreds fo concurrent calls through a moderately sized server.

The system needs to get calls .. and make calls – just like any phone system. 

If you want to use it at home, you could set it us with straight VIOP and pay for calls either monthly (unlimited minutes) or by the minute with Broadvoice or one of the other VOIP providers.  Google "Asterisk VOIP" and you’ll find lots.  You’ve heard of Vonage?  Well think of an Asterisk system as your own little Vonage.  Each extension you create in the system is like one of Vonage’s customers.

For a medical practice – VOIP may work for some things (we’re going to have a few lines on VOIP for overflow) but it’s better to connect the system to a T1 or partial T1 that is provided by your local phone company.  This will replace the analog lines that are plugged into your current system and will provide from 9 to 18 (depending on what you buy) lines.  The T1 connects to the Asterisk system (you have to buy a T1 card that goes into the computer for this – about $600), and Now Asterisk can "see " the lines from the phone company.  Calls from inside the system got out to the phone company .. and calls from outside come in.  You can set up rules for how calls are handled, set up "IVR trees" to help callers find what they want .. etc etc.

Still with me?

Ok .. so why use Switchvox instead of plain (free) asterisk?  Because The setup and management of Asterisk is not plug-and play.  I can do it ( I set up two Asterisk servers at home) and most nerds can – but I want something that our office manager can set up and manage without any technical help.  Switchvox is a commercial product that puts a plug-and-play user interface on top of Asterisk.  While there are other UI enhancements to Asterisk from competing vendors and open-source collaboratives, We selected Switchvox for the reasons I discuss in the review.  Switchvox costs about $1500.  Add the phones and you are probably talking about $3000 for the whole nine yards.  Compare that to a $10,000 or $20,000 phone system that does less.  Hmm .. hard choice — eh?