From c8c2ad5e41595899140ba8d93f6b42ed6d10d0a3 Mon Sep 17 00:00:00 2001 From: markleeds Date: Sat, 6 Oct 2007 16:07:09 +0000 Subject: [PATCH] Simplified version of help file with some new entries. --- interface/forms/CAMOS/help.html | 383 +++++++++++++++------------------------- 1 file changed, 146 insertions(+), 237 deletions(-) rewrite interface/forms/CAMOS/help.html (78%) diff --git a/interface/forms/CAMOS/help.html b/interface/forms/CAMOS/help.html dissimilarity index 78% index 7e589235c..0f774ae3f 100644 --- a/interface/forms/CAMOS/help.html +++ b/interface/forms/CAMOS/help.html @@ -1,237 +1,146 @@ - - - - - - - CAMOS Help - - - - -
CAMOS Help Page
-
-
- Introduction | - Basic Use | - Advanced Use -
- -
-

Introduction

-

Top

-

-An introduction to CAMOS -

-

-CAMOS (Computer Aided Medical Ordering System) is, on the surface, -just a fancy interface for organizing and choosing pieces of text -to insert into a patient's chart. It is designed to be intuitive -and easy to use. In OpenEMR, CAMOS is a plug-in form that does -not require an upgrade to your current OpenEMR system to use -(assuming you are using a relatively up-to-date system, probably -OpenEMR 2.6 and above and a current PHP4 with a fully javascript -compliant browser, like Firefox). The concept is based on a PDA -EMR program I wrote a few years ago, which was designed to limit -the need for direct text entry during a patient encounter. -

-

-The structure of the form is three select menus titled 'category', -'subcategory', and 'items' and a text box titled 'content'. -Each of the three menus has a one line text box and a set of three buttons -at the bottom and the 'content' text -box has one button. -The buttons are labeled 'add', 'alter', and 'del'. The 'add' button -adds to the menu above whatever has been typed in the one line text box -above the button. The 'alter' button changes the selected text in the menu -to the typed text, again, in the box above the button. The 'del' button -attempts to delete the selected text in the menu. This will not work in -some situations. For example, if you attempt to delete an element of the -'Category' menu, and that element is associated with existing subcategories, -you will not be allowed to delete until all of these subcategories are first deleted. -In turn, a subcategory cannot be deleted until all of the items under it, in other -words, the elements that appear in the 'Item' menu when a particular subcategory is -selected must all be deleted first before the selected subcategory may be deleted. -The text entered in the 'Content' box is directly associated with the selected element in -the 'Item' menu. In fact, when you push the 'add' button below the 'Item' menu, you not only -add the new typed item to the menu, you also add the text in the 'Content' box. -

-

-Once you have set up your category, subcategory, item data the way you want it, when you are -going to insert an order into a patient's chart, you click on the category you want and this will -fill the subcategory menu with the subcategories under that category. Select a subcategory and the -item menu fills in. Select an item and you see it's content in the content text box. Push the submit -button at the bottom of the page to insert into the patient's chart or choose 'do not save' if you -change your mind. -

-

-When you first use CAMOS, the menus will likely be empty. You may want to take time and carefully design -your menu structure, or, you may want to just build it as you go along. Keep in mind that making frequent changes -could potentially affect your ability to study your data with database queries in the future. For example, suppose -that you have a subcategory called Macrolides and another called antibiotic packs. If you save Z-Pack under both -categories and then later attempt to study how many Macrolides you prescribe, your data will not be accurate. -It is important to do some planning for your layout based on how you may study data in the future. -In my system, I have 'prescriptions' as a category, 'antibiotics' is one of my many subcategories under 'prescriptions' and my -commonly prescribed antibiotics are in the item menu under the subcategory 'antibiotics'. In the beginning, experiment a little, -because it is fairly easy to delete elements and start over. -

- -
-

Basic Use

-

Top

-

-Basic use -

-

-This will be a simple tutorial on setting up a category. Type in the text box below the category menu (which may appear as a blank -column under the word 'Category' the first time you use CAMOS). Type the word 'labs'. Now, push the 'add' button below where you -just typed. If all goes well, you should see labs added to your category menu. -

-

-Click on the word 'labs' under Category so that it is highlighted. Now that you have selected labs, add a few subcategories under labs -in the 'Subcategory' menu in the same way you just added your category. Make sure each time that you add your lab subcategories, that the 'lab' -category is selected each time. add a few, including 'chemistry', 'hematology', 'microbiology', 'packages'. Make sure that you add the last one, -because we are going to add items under 'packages'. -

-

-OK, let's add an item to packages. Make sure that the lab category is selected and then the packages subcagetory is selected. Add an item now with the -name 'male > 50. Before you push the 'add' button, type in some information in the 'content' box. Type: CMP, CBC, Lipid Panel, U/A. OK, now push the add -button under the 'Item' menu. There is a mistake we have to fix in our labs. Males over 50 need a PSA done also. Put PSA on the list in the content box -and push the 'add' button under it. This is another way to add to the content of a particular item. Content data will be added with the item add button or you can add or change it later with the content add button. - -

- - - -
-

Advanced Use

-

Top

-

-For the advanced user -

-

-Comments. CAMOS supports C style comments. Here is how they work. A comment opens with /* and closes with */. You cannot nest comments. You cannot overlap comments. Anything in a comment will be seen within CAMOS in the item window, but it will not show when you enter it into the patient's chart. This is useful for making notes on items that are not appropriate to go in the chart. You may want, for example, to document which insurance a particular facility accepts. - -

- -
-
-
-/* Accepts BC/BS */   ok
-/* rx list follows */ ok
-/* /*     */ */       not right
-
-
-
- -

-Embedded functions. CAMOS supports an interface for entering multiple billing codes encoded into a CAMOS item. It works by putting the specially formatted function call within a comment. A function is designated by a keyword followed by a '::', followed by an argument list for the function with each argument seperated by '::'. An example should make this more clear... -

-

-If you want to enter an entry into the billing table to have, for example, a CPT4 or ICD9 code come up after entering a CAMOS form into a patient's chart, do this: -

- -
-
-
-/*billing::CPT4::80054::CMP:: :: ::50.00*/ /*add a cmp for $50*/ 
-/*billing::CPT4::85024::CBC:: :: ::25.00*/ /*add a cbc*/ 
-/*billing::CPT4::80061::Lipid Panel:: :: ::50.00*/ 
-/*billing::ICD9::V70.0::physical:: :: ::0.00*/ /*this is a diagnosis, not a procedure*/ 
-
-
-
- -

-The above is all legal in an item's text and may be interspersed with the regular text that is to be entered into the patient's chart. Let's break down one of the above examples: -

-

-The whole structure of each function call is contained within /* */, the comment symbols. The first word is a key word which is the function name. This is followed by a '::' which is followed by more words or numbers or blank spaces, each separated by a '::'. Each element between the '::' delimiter is an argument of the function, a piece of data to be processed. Where you see just a blank space, this is an argument which has been left out in this case. To really understand what one of these function calls means, you will need to know what arguments the function billing, in this example, is expecting. Here it is: -

-
-
-
-/*billing::code_type::code::code_text::modifier::units::fee*/
-
-
-
- -

-One important thing to note is that CAMOS does not enforce appropriate data entry here. Where OpenEMR, in general, restricts the user from entering bad data in many circumstances, you have a little more freedom here, so be careful. As of right now, there are only a limited number of code types. CPT4 and ICD9 are two common examples. This method of inserting new entries to the billing table allows a user to create new code types which may not make sense and will not be interpreted correctly in other areas of OpenEMR. On the other hand, if you know what you are doing, having the freedom from inside the program to create new code types might be useful. Same goes for the code and code text. These do not have to coincide with data in the code tables. This flexibility can be useful if used carefully. -

-

-Regarding justification of codes: -

- -

-If you want to justify an encounter code with an one or more ICD9, CAMOS has a way for you to do it with the billing function. Just add the codes to be used in justifying as additional parameters at the end. -

- -
-
-
-/*billing::code_type::code::code_text::modifier::units::
-fee::icd9_a::icd9_b::icd9_c*/
-
-
-
- -

-As you can see in the function signature above, you just add as many codes at the end as you need for justification. Again, correctness here is not enforced. You need to be sure that your data is correct. -

-

-For example, this would work, even though the 'codes' used to justify are not in the diagnosis codes that have been entered for the patient. This can create wrong and confusing coding, so be careful. -

-
-
-
-/*billing::CPT4::80054::CMP:: :: ::50.00::these::words::
-are::not::icd9::codes::but::they::will::be::used::to::
-justify::80054::which::makes::no::sense*/ 
-
-
-
- -

-The camos function, CAMOS calling CAMOS: -

-

- -This is really as confusing as it sounds. Why would you want a CAMOS item to include function calls that inserted data into the CAMOS table, and therefore, into the patient's chart? Suppose you had a CAMOS item which was a SOAP note template, say, for sinusitis. Suppose that for most cases of sinusitis, you prescribe Augmentin. You could put in the plan of the SOAP template the fact that you are prescribing Augmentin, but that defeats some of the purposes for using CAMOS in the first place. If you were to choose your prescriptions via the category, subcategory, item menus as usual, you would be able to later do queries on the database and review how many prescriptions you write in a time period, how many antibiotics, how many Augmentin prescriptions, etc... (this depends on how you structure your categories, subcategories, and items, of course). You could find all of the patients prescribed Augmentin if there were to be a recall or new warning. So why not just say in your SOAP template, "see prescription orders", and then pick the prescriptions separately from the CAMOS menus? Just one reason really, to save clicks. If you do it all the time, why not save a few clicks here and there? You just set it up once and it is there. You could list a few alternative prescriptions in the same template and just delete the ones you don't want. The possibilities are many. Here is how you call the camos function to insert entries into the form_CAMOS table (the table in OpenEMR where CAMOS entries are stored for the patient's encounter): -

-
-
-
-/*camos::prescriptions::antibiotics::augmentin::
-
-Augmentin XR 1000mg
-
-#40/forty tablets.
-
-Two tablets by mouth every 12 hours for 10 days.
-::*/
-
-
-
-

-At least this is how I do it in my setup. Note the formatting of the prescription text with line endings. This does not cause any problem with the function call. I do it this way, because I print these as prescriptions from the report page within an encounter. The arguments here correspond of course to category, subcategory, item, and content. Again, no enforcement is made of these elements. It will still work if your CAMOS menus do not contain these particular elements. Likely, if you do not follow the structure you set up for your menus, you will limit your future ability to data mine. Or, you may have good reason for straying from this structure. -

-

-Newly added function: replace. Used as follows: -

-
-
-
-Atenolol 50mg
-/*replace::30 tablets qd*/
-
-
-
-

-In this example, the replace function looks for an 'item' entry called '30 tablets qd' and replaces the function call with the text from the associated content box. This replace function works recursively, meaning that if the text which is used in the replacement contains a call to 'replace' itself, this will be called as well. Other function calls will be executed only after all replace calls are completed. -

- - - + + + + + + + CAMOS Help + + + + +
CAMOS Help Page
+
+
+ Introduction | + Basic Use | + Advanced Use +
+ +
+

Introduction

+

Top

+

+An introduction to CAMOS +

+

+CAMOS (Computer Aided Medical Ordering System) is, on the surface, +just a fancy interface for organizing and choosing pieces of text +to insert into a patient's chart. It is designed to be intuitive +and easy to use. +

+ +
+

Basic Use

+

Top

+

+add button - Type something in the text box above the button and it will be added to the column above. +

+

+alter button - Select text in the column above and type something in the text box above the button and the column text will be altered. +

+

+del button - Select text in the column above and press the button to delete it. +

+

+submit all content button - Submit text in content box to patient's chart. +

+

+submit selected content button - Submit only selected text in content box to patient's chart. This does not work in Internet Explorer. +

+

+lock button - Inserts text: '/*lock::*/' which prevents accidental deletion. Admittedly a dumb way to do it, but maybe helpful. +

+

+icd9 button - Inserts icd9 codes from billing table for this encounter. You have to remember to enter them first before entering this form. +

+

+clone button - Searches for list of entries in this patient's history under the selected category and returns the most recent of each. Data is displayed in the content box in camos function format (see advanced section below). +

+

+clone last visit button - Returns all CAMOS submitted items from last visit plus billing table data. Data is displayed in the content box in camos function format (see advanced section below). +

+

+do not save link - Leave the CAMOS form without saving data to patient's chart. +

+

+help link - Access this help page. +

+ + + +
+

Advanced Use

+

Top

+

+For the advanced user +

+

+Comments. CAMOS supports C style comments. Here is how they work. A comment opens with /* and closes with */. You cannot nest comments. You cannot overlap comments. Anything in a comment will be seen within CAMOS in the item window, but it will not show when you enter it into the patient's chart. This is useful for making notes on items that are not appropriate to go in the chart. You may want, for example, to document which insurance a particular facility accepts. + +

+ +
+
+
+/* Accepts BC/BS */   ok
+/* rx list follows */ ok
+/* /*     */ */       not right
+
+
+
+

+Embedded functions
+

+

+Embedded functions are contained within comments. The first word is the function name. A '::' follows, and then a list of function arguments, each seperated by '::'. +

+

+The billing function

+If you want to enter an entry into the billing table to have, for example, a CPT4 or ICD9 code come up after entering a CAMOS form into a patient's chart, do this: +

+billing function signature +
+
+
+/*billing::code_type::code::code_text::modifier::units::fee::justify1::justify2*/
+
+
+
+Examples +
+
+
+/*billing::CPT4::80054::CMP:: :: ::50.00*/ /*add a cmp for $50*/ 
+/*billing::CPT4::85024::CBC:: :: ::25.00*/ /*add a cbc*/ 
+/*billing::CPT4::80061::Lipid Panel:: :: ::50.00*/ 
+/*billing::ICD9::V70.0::physical:: :: ::0.00*/ /*this is a diagnosis, not a procedure*/ 
+
+
+
+ +

+The camos function, CAMOS calling CAMOS: +

+

+This function is used by the two cloning features. You may take advantage of it yourself. Obvserve how it is used. Keyword is 'camos' and arguments are category, subcatory, item, content. +

+

+The replace function. Used as follows: +

+
+
+
+Atenolol 50mg
+/*replace::30 tablets qd*/
+
+
+
+

+In this example, the replace function looks for an 'item' entry called '30 tablets qd' and replaces the function call with the text from the associated content box. This replace function works recursively, meaning that if the text which is used in the replacement contains a call to 'replace' itself, this will be called as well. Other function calls will be executed only after all replace calls are completed. +

+ + + -- 2.11.4.GIT