Still Having problem loading ICD9 codes

aminua wrote on Tuesday, January 04, 2011:

Hi,

I will appreciate it if anybody can tell me what I am doing wrong.

I am a medical doctor who is interested in using openemr and have shown it to my colleagues who are all excited about it.

However, for the past few weeks, I have been trying to load icd9 codes without much success.

I know a lot has been said about the issue but I just couldn’t make it to work after going thru the forum and trying to synthesize the large volume of information on the topic.

I am using windows Xp service pack 3 with OpenEMR v3.2.0.

I have applied the patch from: http://sourceforge.net/tracker/?func=detail&aid=3081753&group_id=60081&atid=493003

I downloaded the XAMPP installer and installed it without much problem. ( A remarkable feet).

I have downloaded and modified the load_icd_desc.plx file from
http://openemr.cvs.sourceforge.net/viewvc/openemr/openemr/contrib/util/load_icd_desc.plx?view=log.

I then changed the lines as instructed on the wiki page http://www.openmedsoftware.org/wiki/Load_ICD9_Codes

I have installed perl using ActivePerl-5.12.2.1202-MSWin32-x86-293621 installer from http://www.activestate.com/activeperl/downloads

The entries on my load_icd_desc.plx look like this:
my $DBNAME = “openemr”;

# You can hard-code the database user name and password (see below),
# or else put them into the environment with bash commands like these
# before running this script:
#
#   export DBI_USER=username
#   export DBI_PASS=password
#
# my $dbh = DBI->connect(“dbi:mysql:dbname=$DBNAME”) or die $DBI::errstr
# if ($DBNAME);

my $dbh = DBI->connect(“dbi:mysql:dbname=$DBNAME”, “openemr”, “0p3n3mr”)
   or die $DBI::errstr if ($DBNAME);

I then run the activeperl command:

Microsoft Windows XP
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\aminua>C:\Perl\bin\ppm install DBD-MySQL
No missing packages to install

C:\Documents and Settings\aminua>C:\Perl\bin\perl c:\xampp\htdocs\openemr\contri
b\load_icd_desc.plx

Inserted 0 rows, updated 0 codes.

Or is there a simpler way for us non programmers to get ICD9 codes working.

Sorry for the lengthy post.

Thank you.

Aminu

kayodu wrote on Wednesday, January 12, 2011:

You are not the only one.  I have exactly the same problem.  I am also a medical doctor interested in medical informatics.

I use Openemr v 3.2 on Windows XP and followed all instructions about downloading the ICD9 codes. I tried both the …/2010/… and …/2011/… URLs with the same result - Inserted rows 0, updated codes 0.

Can Rod or any of the experts help us out?

tmccormi wrote on Wednesday, January 12, 2011:

Is there any reason we can’t just put a current sql dump of the code table for icd9 in the sql directory for people to import?  That perl script is continuous source of problems.    I’d be happy to provide this.   CPT are licensed, but ICD9 is public, we should just include it.

-Tony

sunsetsystems wrote on Wednesday, January 12, 2011:

The perl script is necessary (or at least desirable) for getting future updates.  Tony I don’t have justification for thinking that we can redistribute the ICD9 descriptions from that web site, do you?

Rod
www.sunsetsystems.com

kayodu wrote on Wednesday, January 12, 2011:

Dear Tony and Rod,

Thanks for your contribution to our concerns.  For those of us non-geeks trying to use OpenEMR, Tony’s suggestion would be a great help.

In the meantime, can you guide us on how to get our database populated using the script.  As mentioned earlier, we have followed all the guidelines to the letter and I had even changed to the latess URL (…/2011/Volume1/… with no change in the result.

Lastly, Rod, since the icd9 codes data are in the public domain, I do not foresee any problem with the suggestion of Tony.

Thanks guys for the support as this is an essential part of a successful Open Source Software, which OpenEMR is and should always.

Kayode

rubend87 wrote on Wednesday, January 12, 2011:

Kayodu,

You need to add a line that it is missing, Rod can give you a better explanation on why you need to added that line.

# The <li><a> sequence is recognized as a link to another list
    # that must be followed.  We handle those recursively.
    if ($tag-> eq “li”) {
      $tag = $parser->get_tag;
+    $tag = $parser->get_tag if ($tag-> eq “strong”);
      next unless ($tag-> eq “a”);

The line that you need to add to the script is the one with the plus (+) in front of the command.
+     $tag = $parser->get_tag if ($tag-> eq “strong”); 

This is located almost at the end of the script after Main Logic title, see fererence below.

#######################################################################
#                                                      Main Logic                                                                                       #
#######################################################################

Thank you
Ruben
MIS CET

     

sunsetsystems wrote on Wednesday, January 12, 2011:

The latest script is here:

http://openemr.git.sourceforge.net/git/gitweb.cgi?p=openemr/openemr;a=blob_plain;f=contrib/util/load_icd_desc.plx;hb=HEAD

Regarding “the icd9 codes data are in the public domain”, I just want us to be careful.  Are the descriptions of the codes on the icd9data.com site public domain or otherwise freely redistributable?  I think they probably are, but I want to see it in writing somewhere.

Rod
www.sunsetsystems.com

tmccormi wrote on Wednesday, January 12, 2011:

I have sent a request to WHO (World Health Org).  They are the primary copyright holder of this information.  There is a application for licensing that appears to be informational, ie: no cost, similar to UMLS for the SNOMED codes, etc.

I suspect that this is all that IDC9Data.com has done.   Let you know when I hear back.

-Tony

kayodu wrote on Wednesday, January 12, 2011:

Dear Rod,  Thanks for the updated script.  It worked but after downloading a large number of codes (last had value of 2.092.9) there was forced disconnection by the remote host at script line 74 ($browser -> get ($url);).
What I have done wrong and how do I correct this?   Thanks.

sunsetsystems wrote on Thursday, January 13, 2011:

I just tested this and it happened to me too.  Looks like their web site may be having an issue, or getting overloaded.  Suggest you try it at another time like the middle of the night when traffic will be light.  Hopefully Tony can confirm that we can redistribute this, they probably don’t want a bunch of us scraping their site.

Rod
www.sunsetsystems.com

rubend87 wrote on Thursday, January 13, 2011:

That was happening to me as well. I tried 1am, 2am,5am,and 8am and no go, I disable my firewall (hardware and software)
same problem and finally I disable antivirus just in case and no go…
Some times is said disconnected by software on local machine and other it said disconnected by remote host.
My work around was to load them by section for example:

http://www.icd9data.com/2011/Volume1/001-139/default.htm
and then change the link to
http://www.icd9data.com/2011/Volume1/140-239/default.htm
and so on…

I left the script open and just change the link and hit save and over and over again…

Note: you need to comment out line 53 (put # sign in front of it) if not then it will over right the already loaded codes… it took me maybe like 15 to 20minutes but I was able to load them completely. It may fail once or twice but do not worry it will not create duplicates it is just going to update the codes.

Please let us know is that work for you guys

Thank you
Ruben
MIS CET

midder wrote on Thursday, January 13, 2011:

I’ve been following this thread with interest. I haven’t yet looked at the Perl script to see what the ultimate output is, but I was able to write a quick application which pulls the HCPCS data down, parses it out, and puts it in a tab-delimited text file. For anyone interested in that file, it is located here:

http://bcesolutions.com/wp-content/uploads/2011/01/hcpcs.zip

I didn’t have the same timeout issues that you speak of, but perhaps this dataset is smaller than what is being pulled down by OpenEMR.

I’d be happy to try and get more data as I understand what is needed from within the app. IE it seems like I’m pulling different data than what would be required.

Best
Brian

sunsetsystems wrote on Thursday, January 13, 2011:

Kayode, see http://www.openmedsoftware.org/wiki/LBV_Forms regarding custom forms.

Rod
www.sunsetsystems.com

kunlereedwan wrote on Thursday, January 13, 2011:

Dear Kayode and Aminu
It is very nice to have you guys on the forum. I am iyinolakan Adekunle Reedwan. I have compiled openEMR on Linux for use in hospitals. kindly contact me on kunlereedwan@yahoo.com for building  a lasting business relationship. i represent reed BusinessSolutions, 08023103788

tmccormi wrote on Thursday, January 13, 2011:

Other forms development options can be found at:

http://www.openmedsoftware.org/wiki/OpenEMR_Xml_Form_Generator
and
http://www.openmedsoftware.org/wiki/The_Forms_API

-Tony

aminua wrote on Thursday, January 13, 2011:

Dear Tony, Kayode, Rod and Ruben,

Thank you for all your comments.

For the first time in many weeks, I was able to download some fragments of the ICD codes.

However, I ran into the same problem of “Status read failed: An existing connection was forcibly closed by the remote" yesterday. I thought the problem was from my side and decided to try it today.

I followed the work around by Ruben to load them by section (17 sections according to my calculation) but got the following error message after trying 5 times.

“Error GETing http://www.icd9data.com/2009/Volume1/001-139/030-041/035/default.ht
m: Status read failed: An existing connection was forcibly closed by the remote
host. at c:\xampp\htdocs\openemr\contrib\load_icd_desc.plx line 71”

I will like to suggest that the ICD codes 2009 (or any year for that matter) are included in the subsequent version of OpenEMR.

Not as sql dump or anything but Justas  part of the programme so that people can start using that functionality out-of-the-box.

Anybody who is interested in later versions of the ICD codes from 2010 upward can now use the script to download the new set of codes.

This way non techie folks will not be turn away by the complexity of trying to download the codes.

Thanks once again,

Aminu.

kayodu wrote on Friday, January 14, 2011:

Aminu and Adekunle,

Can you send your private email addresses to me at odusote.kayode@gmail.com?

Kayode

tmccormi wrote on Wednesday, January 19, 2011:

We are OK to just include ICD9 with the distribution.  This is what I got back from the World Health Organization.

Dear Tony,

Thank you for your interest in using ICD-10 codes.  Please take note that WHO no longer publishes ICD-9, it is now in the public domain.

WHO is able to grant licenses to companies/organizations for the right to use ICD-10 for commercial, non-commercial/research and internal purposes. In order to gain a better understanding of your request, please can you complete this new application form available on the following URL http://www.who.int/about/licensing/licence_request_form/en/index.html.

Once you submit the form, you will receive an identification number allocated to your request. Please retain this number for any queries regarding your request. We will make every effort to acknowledge and process your request within 10 working days.

We look forward to hearing from you in due course.

Thank you for your interest in WHO and our published information.

Yours sincerely,

Carla ABOUMRAD
Translation and Licensing rights
World Health Organization Press
Department of Knowledge Management and Sharing
Information, Evidence and Research Cluster
20 Avenue Appia ,CH-1211 Geneva 27, Switzerland
Tel +41.22.791.22.10 - Fax +41.22.791.48.94 Office: 4023
www.who.int/publications

tmccormi wrote on Wednesday, January 19, 2011:

I have icd9 sql files set up for both insert and update actions.   Should I just add them to the sql/ directory?  I don’t think they should be loaded “automatically” at install.
-Tony

sunsetsystems wrote on Wednesday, January 19, 2011:

Tony, just make sure the ICD9 descriptions are the same ones that WHO puts out.

There is logic in the installer to auto-load sql/icd9.sql if it exists.  So give it some other name if you don’t want that to happen.  Or even better, add a GUI item to make it optional.

Rod
www.sunsetsystems.com