HOWTO: Add Or Edit A Billing Code In OpenEMR

From OpenEMR Project Wiki


Adding billing codes has been partially documented in many wiki pages written for older versions of OpenEMR. While the feature remains virtually unchanged so those instructions are still valid, the interfaces have changed enough that it seems useful to re-do the docs for v7.

This HOWTO describes the process to manually edit the billing codes available in an OpenEMR instance, or to add new ones. These codes are mostly seen in the fee sheet but they also appear in several other places. Any codes added with this method will appear in all the places codes show up.

Some codesets like the ICD codes can be imported in their totality. That procedure is shown in the steps from the beginning down to the end of section 'Install the codeset' on the wiki page

However, with other codes it is not practical to do that. For example, with CPT4, the entirety of that very large codeset would need to be purchased and installed even though most practices only use a small fraction of the codes. For those you would only want to manually enter the ones used by the practice.

Adding or editing codes must be done by an Administrator but does not require an open current patient record.


1. Preparation

Some other data items may be necessary to have at hand when adding new codes. Not all practices use these items but if yours does you will need to have them ready. These are:

  • The price for each price level of the code
  • Code Type
  • Service Category

2. Add Codes To System

As you may deduce from the previously linked tutorials, three different methods of organizing codes are available.

All the methods require that the codes have already been added to the system. So here is how to add codes.

From Main Menu: Admin/ Coding/ Codes


Then see:


Use the controls in the top half of the screen above the 'Search' controls; the numbered steps below apply to the numbered controls in the picture.

1. Select the code's 'Type' from the dropdown

2. Enter the code

3. Add the modifier if any

4. Presumably this will be an active code so leave it checked

5. Description - free text for the code description

6. Category - leave unassigned until assigning the code to a service category in the next section

7. Diagnosis/ Service Reporting - select if the code will be used in Diagnosis or Service reporting, or both or neither.

8. Fees - if you have multiple price levels (here we see two, ‘Standard’ and ‘Discount’- yours will be different), each one will have a text area here. Enter the dollar value of each price level without the dollar sign.

9. Click link '[Add as New]'

To add the next code, start again at step 1.

3. Find/ Edit Existing Codes


Start in the lower half of the Codes screen at the list box on the left.

A. Select the code type of the code you want to edit (shaded)

B. Enter the entire or partial code, click ‘Search’

C. Reporting checkboxes: select to see only Diagnosis or Reporting codes, or both (oval)

D. ‘Active' checkbox - to only return active codes

Click 'Search'

This search returns partial matches if you only enter some of the code

E. Matched code entries appear in the bottom section (round rectangle)

F. At the far right click the 'Edit' link (oval)

This moves the code item and all its associated data into the top editing area (BIG arrow)

(By the way, if you want to delete this code, you see that ‘Delete’ link next to ‘Edit’...)

G. Make the desired changes

H. Click link '[Update]' (rectangle in center of screen)


NOTE: This technique can be used as described to add any type of code to OpenEMR. However, since CPT4 codes are proprietary some licensing issues may arise from different uses made of them in OpenEMR. I am NOT a lawyer so I will simply link to the relevant page of the AMA site and let the user make their own decision on the implications of how they are used in their own OpenEMR instance.

Now that you have the codes that you want to use in your OpenEMR you can organize them for use in three different ways.

1. Single codes to be added individually to the fee sheet

2. Basic Custom Service Categories which group codes under a relevant heading on the fee sheet

See this page for instructions on that:

3. Multiple Code Fee Sheet List Categories which allow entering on the fee sheet multiple codes at once in a group.

See this page for instructions on that: