yehster wrote on Wednesday, November 21, 2012:
I’ve been working on a more interactive approach to the same problem.
Here is a 2 minute demo video.
http://youtu.be/pw3dtSYOD-k
In addition to the problems/issues, I have two additional ways to add codes: review of old fee sheets and the most common codes in the billing table. (You can see how they work in the video).
If folks are willing to provide financial support, I will make this available and maintain it in the future. My work can also serve as a framework for future improvements.
My implementation is modular, and won’t conflict with the work Ensoftek has done. Tony mentions that their code isn’t ready for review, but at first glance I see at least one thing that is routinely done poorly in OpenEMR. That is executing a simple queries with one result multiple times within a loop rather trying to get all the data at once . That’s not the way databases were meant to be used. It’s not going to be a big deal here, but when that approach gets extended into more deeply nested loops performance becomes an issue.
foreach($icdEncArr as $icdKey => $icdVal){
$newtype = "ICD9";
$code = $icdVal;
//Skipp condition checking for saving billing codes
if( !in_array($code,$skipIcdCodes) ){
$icdCodeRow = sqlQuery("select * from codes where code = '".$code."' order by id DESC limit 1");
$modifier = $icdCodeRow['modifier'];
$units = $icdCodeRow['units'];
$fee = $icdCodeRow['fee'];
$provider_id = $icdProvArr[$icdKey];
$code_text = $icdCodeRow['code_text'];
echoLine(++$bill_lino, $newtype, $code, trim($modifier), $ndc_info,1,0,$units,$fee,NULL,FALSE,$code_text,NULL,$provider_id);
}
}
My criticism is obviously biased. So I’m going to leave any further code review to the other integration developers unless I see something glaringly wrong.
I hope that people are interested in funding my approach.
-Kevin Yeh
kevin.y@integralemr.com