Dont cry - you had a good run
Don't cry - you had a good run

You may not want to hear this, but Ogilvie II is probably worse for Defendants than Ogilvie I.  1  Check out page 32:

if within five years of the date of injury it later becomes clear that the employee’s individualized proportional earnings loss is significantly higher or lower than anticipated, a party may seek to reopen the issue of permanent disability by challenging the originally used DFEC adjustment factor.

I think we can expect to see a petition to reopen on any case that settled prior to 2/3/2009. 2

  1. Photo courtesy of Lawrence Whittmore []
  2. February 3, 2009 is the day Ogilvie I came out. []

Easy-to-make iPhone
Easy-to-make iPhone

A company once told me someone had offered to build permanent disability calculators for their website in three months for $7,500.  One said six months and $20,000.  Recently, another suggested it would take them a year and $40,000.  My response is usually some variation on “You’ve got to take that deal.  You’re wasting your time talking to me.”

It’s no big secret that building a great product takes a lot of work.  The important thing to remember is that just because something is easy-to-use, that doesn’t mean its easy-to-make. 1

Real iPhone
Difficult-to-make iPhone

Let’s take the iPhone for example.  Everyone will concede its an easy phone to use.  However, it was released more than two years ago on 6/29/2007. 2  In that time the other players – BlackBerry, LG, Nokia, and Palm have all been trying to catch up.  If this easy-to-use phone were easy-to-build everyone would have their own version.

Look, there’s no special magic to building a website like this.  Really, anyone can do it.  All you have to do is learn the calculations inside-and-out, deconstruct the math involved in the various calculations, learn some client and server side programming languages, learn a content management system, make it all work together, keep current on changes in the law, start all over again each time the law changes, and earn the respect of the workers’ compensation community.  Once done, you’ll have your very own workers’ compensation calculator website!

To return to the lesson of the iPhone, building a touch screen phone that can play music and surf the web is totally doable.  Doing it right is another matter entirely.

  1. Visit the link for a PDF of a cut-and-fold iPhone.  Thanks Gizmodo! []
  2. Wikipedia link. []

Getting an upgrade!
Getting an upgrade!

Late last week a user asked for a new feature.1  He wanted to be able to perform the Ogilvie DFEC rebuttal calculation and have the results e-mailed to him.2 Well, I built it!3

To e-mail yourself a calculation, perform the calculation as normal.  When the website returns your calculation, it will say “E-mail Me!”  Just click that button and it will send an e-mail to the address you used to register for this website.

However, here’s the cool part:  I’ve installed this new e-mail system into every calculator4 No more having to copy and paste!  Just click one button and your calculation will show up in your inbox!5

Although I intend this to be a paid-subscription-only feature, I am going to leave it open for all users while I get some feedback.  So, what do you think?  Please leave a comment or shoot me an e-mail!

  1. Thanks Dennis! []
  2. Photo courtesy of Vernhart []
  3. Why, what did you do with your Saturday morning? []
  4. I haven’t installed it in some of the EAMS lookup functions []
  5. If you filled in the boxes for Applicant, WCAB #, and File #, it will include this information in your e-mail as well.  This is only for your convenience and not a requirement. []

I’ve just published the this website’s first guest article courtesy of Thomas Richard of Wiggins, Richard & Romano.

If you’re a workers’ compensation professional and have something interesting or informative to say about workers’ compensation law in California, drop me a lineLots of different people come to this website for information and to use the permanent disability calculators – so why not put your name in front of them?

There are a few submission guidelines, but its totally free advertising.

I recently gave a brief overview of my permanent disability and workers’ compensation benefit calculators. In that post I wrote a little bit about how my online benefits calculators work. Since then I’ve posted about my use of javascript, PHP, and AJAX in creating these permanent disability and permanent impairment calculators.

As I mentioned in the prior post in this series, my first few versions of this website and its workers’ compensation calculators did not use MySQL.  The initial versions of this site only saved information – which meant I only had to use PHP to open a file on the server, add an extra line of information, and then close the file.  This had several problems:

  1. Once my website became more popular, it was not uncommon to have more than one user online.  That meant the server tried to open the file – but couldn’t since it was already open.  This caused the program to freak out.
  2. In order to view just a little bit of information, I had to download the entire file.  This got crazy pretty quickly.
  3. Each time the file got larger, it would take slightly longer to open, append with more information, and close.

MySQL is an incredible tool for storing, organizing, and retrieving a large amount of data.   Like PHP, it is also open-source.  This means it is:

  • Well supported.  There are lots of online resources and books to help you learn.
  • Secure.  Lots of people spend a lot of time thinking of ways to prevent security vulnerabilities.
  • Customizable.  You can configure or even rewrite it, if you wish.
  • Interoperability.  You can save it to just about any format – including MS Excel spreadsheets.
  • Free.  Unlike Oracle or any of the MS alternatives, it is totally free.

So, why did I avoid MySQL?  I didn’t want to have to learn a whole new programming language.  I had to learn how to set up a database, tables within the database, how to search for information in a table, how to put information into a table, and how to change information which was already in a table.  There was a lot of trial and error.  I ended up doing some pretty cool things in the process of learning this language.  Some examples:

  • Teaching others some of the basics of MySQL
  • Writing a program for cataloging books
  • Writing several programs which performed various calculations to track invoices, billings, etc
  • Setting up several blogs/websites

The end result of learning this language is a more interactive website.  One of the last incarnations of this site was a version that would show different color schemes, advertisers, and messages depending upon the user.  All of this was made possible by large amounts of data stored in MySQL.

Thus ends my technical overview of my workers’ compensation permanent disability calculators!  If you have any questions, please feel free to email me or leave a comment below!

Well, the title really says it all.

This website was re-launched on July 6, 2008.  While all of the permanent disability and workers’ compensation benefits calculators are still free, a quick and simple registration process is now required to use them.

In the 33 business days from July 7, 2008 through August 20, 2008, one hundred people have registered for free access to this website.  I like to think that’s pretty good.

My totally unscientific research has revealed this website’s users to be:

  • Well above average in intelligence;
  • Have extremely discriminating taste;
  • And, not at all susceptible to flattery

I recently gave a brief overview of my permanent disability and workers’ compensation benefit calculators. In that post I wrote a little bit about how my online benefits calculators work. Since then I’ve posted about my use of javascript and PHP in creating these permanent disability and permanent impairment calculators.

As I’ve mentioned in those prior posts, both javascript and PHP have inherent downsides. My very first attempt at online benefits calculators using javascript and ASP actually suffered from all of the downsides of javascript and PHP. Those first calculators used tons of user’s computers’ resources, bandwidth, and server power. However, learning more about AJAX enabled me to build a set of calculators which benefited from the strengths of javascript and PHP while minimizing, if not eliminating, their weaknesses.

The acronym “AJAX” refers to “asynchronous javascript and XML” – a collection of other technologies which allow a webpage to communicate with a web server without requiring an entire page download.

Example 1: A calculator without AJAX calculating “6 x 7” would send information to be calculated to the web server. The web server would then respond by giving you an entirely new page with the answer, “42”. However, in order to download that answer you would need to download a whole new page – and all the images, text, and code associated with it. Even a normal web page could be between 30,000 and 300,000 bytes in size.1

Example 2: A calculator with AJAX calculating “6 x 7” would send information to be calculated to the web server. The web server would then respond by sending back just the answer, “42”. This would be 2 bytes.

If my calculators needed to download of 300 kilobytes for every single operation, a simple calculation could take about 30 seconds on dialup and a full 1 second on broadband. Although 1 second doesn’t seem like a long time – it is in the internet age. Most of the calculations on this site take approximately .500 seconds using a broadband connection. I would guess that about 90% of that time is due to network latency/network lag – which wouldn’t be much different for a dialup connection.

For the first few months after the launch of this website, it did not use a MySQL database. I actually went to some pretty ridiculous extremes to not have to learn a new programming language. I eventually gave in, learned how to use MySQL and am a better programmer for it.

Next up, MySQL!

  1. A download of “www.google.com” was approximately 30,000 bytes and a download of “www.yahoo.com” was approximately 300,000 bytes. []

I recently gave a brief overview of my permanent disability and workers’ compensation benefit calculators. In that post I wrote a little bit about how my online benefits calculators work. My last post in this series was about how and why these permanent disability and workers’ compensation benefits calculators use javascript.

I had tried Microsoft’s ASP (active server pages) in experimenting with a prior version of my permanent impairment calculators, and while functional, the coding was a complete mess since I didn’t fully understand what I was doing. To make matters worse, the only manuals on ASP I could find gave examples using VBScript – which is MS’s version of javascript.1

Just over a year ago a friend of mine encouraged me to try PHP. (Thanks Johnny!) Its syntax, the way in which you write code, is very similar to javascript and was fairly easy to learn.

Unlike javascript, PHP is run only on the web server. There are a lot of benefits to moving all of the calculations from being performed by a user’s computer to my web server:

  • Uniformity. All calculations will always be performed by the web server in the same exact way – irrespective of the user’s computer.
  • Speed. Since all calculations are performed on the web server, the user’s computer doesn’t need to do any number crunching.
  • Protection. All of the formulas, tables, and magical incantations used to generate the calculations are kept only on the web server.

But, PHP isn’t without its downsides:

  • PHP is being used to perform a calculation, even when javascript would be faster. Javascript takes longer to crunch the answer, but you have to “wait” for PHP to send a request to the server and wait for the answer.2
  • A pure PHP calculator would require the user to send the web server the entire page and wait for a whole new page to load. Every calculation would take a full second or more using a pure PHP calculator.3
  • When PHP is used to perform handle all calculations, there is more of a strain on the web server itself.

Using AJAX (more on this later) to create workers’ compensation benefits calculators has allowed me to take advantage of all of the strengths of javascript and PHP and minimize the negatives of these technologies.

Next up, AJAX!

  1. Can’t we all just get along? []
  2. I say “faster,” but we’re talking about the difference between 10 milliseconds for javascript to calculate the answer and waiting 400 milliseconds for the server to return the answer. []
  3. A second might not seem like a long time – but it is when you’re using a computer. I’d bet that if these calculators took 1 second for everything (such as finding an occupational code or work restriction) no one would use them. []

I recently gave a brief overview of my permanent disability and workers’ compensation benefit calculators. In that post I wrote a little bit about how my website calculators work.

In late 2004 I spent some of my free time working on a calculator for the 1997 Permanent Disability Rating Schedule 100% pure javascript (the only programming language I knew at the time). I had several reasons for never publicly releasing this calculator:

  • Uniformity. Not all computers and browsers perform all javascript functions the same way.
  • Speed. A pure javascript calculator would require the user to download all of the code – not just the parts they needed.
  • Protection. Anyone with a modicum of technical knowledge could simply downloaded the calculators, and then post it as their own.
  • Obsolete. With SB 899 and the 2005 Permanent Disability Rating Schedule, my calculator became nearly obsolete. I scrapped it rather than building a second calculator.

The current workers’ compensation benefits calculators use very very little javascript. Doing so has meant that I don’t have to worry about different computers/browsers, users only need to download the code they need to run a single calculation, and my calculators don’t work without my server.

Next up, PHP!

Here’s a (simplified) overview of how my permanent disability/impairment and workers’ compensation benefits calculators work. As I’ve mentioned elsewhere, I wrote these website calculators using javascript, PHP, MySQL, and AJAX.

In a recent post, I created a really simple test for cell phones using the above languages. Here’s what was happening:

  • The user clicks the button “Cell Test.”
  • The javascript embedded in the button detects the “click.”
  • The javascript embedded in the button then tells an AJAX program that the button was clicked.
  • AJAX sends a little bit of information to the web server – saying that the user clicked that button.
  • The PHP program on the server is notified that the button was clicked.
  • The PHP program checks a MySQL table to see what it should happen when that button is clicked.
  • The MySQL table returns the answer, what should happen when a button is clicked, to the PHP program.
  • The PHP program takes the answer from the MySQL table and sends it back to the AJAX program.
  • The AJAX program takes that information and, using a little bit of javascript, displays the answer in your web browser.

Easy!