CAMOS - Ordering System Form - ready for cvs

markleeds wrote on Saturday, June 24, 2006:

I have worked out the bugs and it is ready for general use.  I would like to upload to CVS before Monday.

I am using it for generating prescriptions.  This requires some small modifications to the patient report pages to give an extra option for printing as a prescription.

I also use an image for the Rx symbol in the prescription printout and I’m not sure where I got it from.  If someone has one that can be used for free or if someone can design a nice one, that would be better than using one of questionable origin.

CAMOS is also for ordering tests, referrals, writing letters, notes for work, etc… whatever actions you need to take as a result of your medical decision making.  It allows more point & click and less typing.  It also makes studying trends in your data and finding specific orders much easier (this requires additional queries to be added to the general report page…)

I will fill it with starter data so it will be obvious to the user how it works.  I hope that some of you will try it out and give me feedback.  The only thing left to do is integrate the starter data into the table.sql file, add a little documentation, and upload.

-Mark

sunsetsystems wrote on Saturday, June 24, 2006:

Sounds interesting - got any screenshots to share?

Regarding prescriptions, is this meant to replace the current prescription support?

Rod
www.sunsetsystems.com

1 Like

markleeds wrote on Sunday, June 25, 2006:

I threw together a set of screenshots:

http://www.drleeds.com/files/camos_screen_shots/

About replacing current prescription support, CAMOS has already replaced it for me.  They can definitely coexist.

I like to think of a prescription as a type of order.  In that sense, it is logical to group it with other types of orders.

markleeds wrote on Friday, June 30, 2006:

Multiple billing entries from form feature is now here.  This feature was requested by users and is now supported in CAMOS.  I just checked in the changes.  I need to add documentation to explain how to do it.

Also now supported:

Multi-line content
C style comments (will be viewable from CAMOS but not insert into form table)

The billing table feature uses the C style comment feature to embed functions that will be interpreted and executed when the user clicks on the Save button and save.php is called. 

Here is a working example from a content box under a lab package item:

CMP, CBC, Lipid Profile.  Dx v70.0

/*billing::CPT4::80054::CMP:: :: ::50.00*/
/*billing::CPT4::85024::CBC:: :: ::25.00*/
/*billing::CPT4::80061::Lipid Panel:: :: ::50.00*/
/*billing::ICD9::V70.0::physical:: :: ::0.00*/

When saved, only the first line will be submitted to the patient’s record.  The other lines are commented out, but will first be parsed for functions.  Right now, ‘billing’ is the only recognized function.  It has 7 arguments.  ‘::’ is the delimiter used between the function name and all of the args.

I just ran a successful test tonight.  I have not made it error proof, so providing a function with the wrong number of args will produce unexpected results.

Also, the new multiline support is making it possible to store things like complete SOAP note templates.

markleeds wrote on Saturday, July 01, 2006:

CAMOS - organized text templates which can contain embedded function calls.

New additions in the works now.  These modifications  are tested and working on my system.  I will upload to cvs soon.

I have achieved the elusive goal of the single-click encounter.  Prescriptions, orders, SOAP note, billing codes (CPT4 and ICD9) all generated by a single click.  And all easily user configurable within the form interface.

I won’t bug the forum with further updates.  I will add a README to the CAMOS directory with feature updates, bug fixes, etc…

Thanks to any willing to test!

drbowen wrote on Sunday, July 02, 2006:

Dear Mark,

I for one like seeing your updates on what you are doing and encourage you to continue to post them.  This gives us all a sense of how things are progressing with devlopment.

Your::PERLishness::is::showing

Thanks for the hard work.

Sam Bowen

jccaldwell wrote on Monday, July 03, 2006:

Thanks Mark. I will start trying it. Hopefully as a newbie and not the brightest bulb in the box maybe I can offer some insight as to how to make it fairly (I)diot-proof. Does this make me a Beta Tester or a (I)ota Tester?

Thanks again
Clif

drbowen wrote on Monday, July 03, 2006:

We have an immediate opening for crash dummies. :wink:

markleeds wrote on Tuesday, July 04, 2006:

I wanted to add ‘justify’ data to the billing entry feature and I discovered a minor problem.  There is a field in the billing table called ‘justify’ which contains this data, the ICD9s that justify a particular CPT4.  I learned early this year when first printing my hcfa forms that I needed to always justify so the data would fill in correctly.

The minor problem is this: the addBilling function inserts data into the billing table but apparently does not have a parameter for justify.  This is the function I call from CAMOS to interpret the billing entry data.

Since addBilling is a trivially simple function which just does an sql insert, I can just cut&paste into CAMOS and add the justify field to the insert.  This will change the number of arguments that CAMOS will expect and will likely break any templates that anyone has set up.  Luckily, it’s still early and probably no one is using it yet.

Do others agree that the ‘justify’ action is common enough that it should be able to be automated within CAMOS templates?  I think so.  Are there any other entries that are essential that should also be included?

I recommend that any practitioners here try this form out, but you may want to wait a few days while I iron out a few more things and update the latest features in cvs. 

I am using and testing it every day in the office.  I am curious to see how much data can be entered into the form before it perceptibly slows loading.  I have added a lot now because I am entering preset SOAP notes for individual patients with their prescriptions and billing entries included.  These are chronically ill patients that come in every few months and usually need the same prescriptions and come for the same thing.  I don’t notice any slowing when using in the office, but if I log in from home, there is a tiny delay now. 

Clif- wasn’t it you that wanted to enter lab packages from a form and have multiple CPT4 entries for the individual tests get entered automatically?  You should be able to do this easily now.  Even the CAMOS that is in cvs now can do this.  If you test now, all you have to do with upgrades is overwrite the old files with the new ones.  If you set it up, let me know and I’ll tell you how to do it.

jccaldwell wrote on Wednesday, July 05, 2006:

This past Friday I took CAMOS out for a test drive while the paint was still wet. My partner had to put up with my gushing over the capabilities. As we order a pre-set group of labs for many of our patients and often from different labs this system works great. I have been kicking the tires hard. The ordering works great.
I look forward to a simple documented README list of the various calls to place ( ie… /* ? ::…*/) for the various functions. As a complete idiot with php I have found CAMOS incredibly easy to use and to insert our particulars. I look forward to the addition of the "justify" option. Any formating changes are no big deal as initial data entry is so easy and straight forward.
Thanks for the incredible work. Maybe I can help document it as I cannot offer much in the programming area.
Thanks Again,
Clif

markleeds wrote on Thursday, July 06, 2006:

Thanks for trying it out.  I have ‘justify’ working now.  I just want to test a little more, and I will try to put it up tonight.  I’m also working on the beginnings of some documentation.

I’m happy that you like it and find it useful.

Mark

tekknogenius wrote on Thursday, July 13, 2006:

I just downloaded the latest cvs to give CAMOS a test run…
1) There are no categories or anything included as in your screen shots (table.sql = table_no_data.sql)

2) The report options do not show as in your screen shots. There are not special options for CAMOS when you print the report

I must be missing something.

Thanx

markleeds wrote on Friday, July 14, 2006:

tekknogenius:

Thanks for trying it out.

1) You are correct.  I was making changes to demonstrate the new features and I didn’t get around to incorporating the sql dump back into table.sql.  I was also wondering if it is appropriate to include starter categories or just to demonstrate how it works in the docs and let users build it up in the most sensible way for their own practice.  I have a huge amount of data in my CAMOS form on my office system, but much of it is practice specific.  I have a lot of referral templates for local doctors and institutions.  I use the /* */ comments to store back line numbers, insurances accepted, etc…  I am working on building a bunch of SOAP templates.  That might be a good thing to include in out-of-the-box presets.

2) The report options shown in the screen shots were changes made to the reporting pages to give special treatment to CAMOS forms.  The problem here is it forces users to do additional installation work beyond the basic form installation.  I was thinking that it might be more sensible to have CAMOS print in such a way, that it didn’t need special treatment.  Since those screenshots were made, I have added multiline support which allows for better formatting of output and a better likelihood that what CAMOS generates from report.php can be used as-is, whatever the purpose.  For example, if it is a prescription you want to print, have the prescription formatted in the ‘content’ section the way you want it to print.  If everyone were to upgrade to the latest version of OpenEMR, it would be no big deal to tweak other code to give CAMOS special treatment in reporting, but that’s not likely to happen.

Thanks again.  I definitely appreciate feedback and suggestions.  I will put back the preset data in table.sql as soon as possible.

Mark

tekknogenius wrote on Monday, July 17, 2006:

1. I would then include a dump so that if one wanted to use it they could. You could call the file initial_data.sql or something. It just makes it easier to use/evaluate immediately.

2. So, in its current implementation how would one print the prescription? I can’t figure it out.

markleeds wrote on Monday, July 17, 2006:

You print a prescription by going to the report page within the patient’s chart and selecting the CAMOS form in which you have entered a prescription.  Then you choose printable version.  Then, print to special prescription paper.

I have modified my printable report page to have an option to look like a prescription, but you don’t have to do that.

mbrinson wrote on Thursday, July 20, 2006:

I noticed that you used a .css sheet to style your form.
I have been working on using css to do tableless layout for some forms.
I have noticed that once the .css gets applied it will not change.  I have removed your css file entirely, logged off openemr, got back in and the form still behaves as though it attached to a css sheet.

Any one else had similar experience or know why I would experience this behavior?

Thanks,
Mike.

mbrinson wrote on Thursday, July 20, 2006:

This behavior has something to do with using firefox as the browser under windows.
I do not get this behavior when viewing in internet exlporer, but then the CSS doesn’t work as expected in some instances.
Anyone have any experience with this?
Maybe something to do with caching in firefox?

andres_paglayan wrote on Thursday, July 20, 2006:

looks like a caching issue,
may be adding a nocache instruction in the file headers can fix it

markleeds wrote on Friday, July 21, 2006:

Mike:

I’m sorry for the confusion with the css file.  The form itself is completely formatted with plain old html tables.  The css is for the help file, which you can access with the help link at the bottom of the form.  I had written a brief Haskell tutorial with css a while ago, and I liked the look, so I copied it for the CAMOS help file.  It didn’t occur to me to design the form with css.  If it means a fixed layout, I would want to avoid that because I want the form to work in a variety of screen sizes and resolutions.  I was able to use it from two different Pocket PCs with the Opera browser, one at 240x240 and the other at 320x240.

I’m sorry about all of the trouble with the css file.  It would have made a great practical joke, but I really didn’t plan it that way :slight_smile:

I am working on rewriting the included data and adding a new embedded function that will allow for text fragment insertion.

Support for additional report formatting (for prescription and order printing) in the patient file report page may be added to cvs for the upcoming new OpenEMR release.  I will make it so the additional report formats links only appear if CAMOS is registered.

I will keep you posted here when new features are complete.

markleeds wrote on Thursday, July 27, 2006:

Useful new features added:

Display at bottom of screen data entered in previous encounter into CAMOS table - so you can see what you did last time.

Entry of current encounter ICD9 codes into content box appended to end of existing text.  Useful for test orders.  Just push the little icd9 button.

Submission of selected text only.  Instead of submitting everything in the content box, just what you have selected with your mouse.  This allows for greater flexibility in how you structure your data.  For example, put multiple variations of a line or paragraph into one content box and select the appropriate one.

I also added some starter data which will go in when new users install for the first time.  Existing users should take the data dump from the table.sql file which starts below the ######## line and put it in a separate file and enter into database with mysql.  Or don’t if you don’t want to go through the trouble.  Entry of category, subcategory, item, content data into the form directly is pretty easy and should be customized for each individual practice.

Thanks for testing!

Mark