Fee Schedules are one of the more powerful features in QuickEMR. They allow the user to define the charges for each service/procedure based on date and insurance. This article covers the process of generating a fee schedule and how information is pulled from that fee schedule within QuickEMR. This article assumes you are familiar with creating and completing notes. It also assumes you have some familiarity with the Batch Management Screen.

Fee Schedule Groups

Fee schedules are designed to follow an insurance contract. Creating a fee schedule starts with identifying contracts or groups of insurances that pay out at a different rate. In the main menu visit Billing => Lists => Fee Schedule Groups. You may create a new group with the "+ Create" button at the top of the list or you may edit/rename a group by selecting its name in the list. To hide a group that is no longer used select the "Make Inactive" link to the right of the name.

Create one group for each "contract" or charge rate. A typical setup would include a group for Commercial* (STANDARD), Medicare, and Cash Pay. But it is normal for a practice to have only 1 rate for all insurance or multiple commercial and institutional contracts depending on size and scope of the practice. You can edit these values at any time to add new groups as needed. In this example walkthrough we are going to add a "Cash Pay" group to capture the 30% discount given to cash pay patients. Select the Create link, give the group a name, and select save.

*Best practices prefer your primary group be named "STANDARD". QuickEMR will automatically use this STANDARD group if no group is assigned to a given insurance or if no insurance is assigned to a case.

Fee Schedules

Once the groups are defined it's time to create a schedule. In the main menu visit Billing => Fee Schedules. Like the groups you may add a fee schedule with the "+ Create" button, or edit a fee schedule by selecting it's name. A fee schedule will be assigned to a group and given an active date range.


All QuickEMR databases start with at least 1 fee schedule in place. Usually the STANDARD fee schedule. When creating a new fee schedule it is best to copy from this STANDARD fee schedule and customize it from there. The date range usually covers 1 year to correspond to an insurance contract. However it is fully customizable and may span 1 month, or 10 years as you see appropriate.  In this walkthrough the new Cash Pay fee schedule will duplicate the 2021 Standard fee schedule.

*Best practices for a fee schedule is to name them "{Year} {Group}" as seen on the screenshot above. This makes them much easier to find in the copy from and edit on a procedure page. It is also best to have a fee schedule cover 1 calendar year as QuickEMR will automatically duplicate your fee schedules from the previous year on January 1st.


Due to the amount of raw data and the importance of having a fee schedule available it is not possible to delete a fee schedule at this time. However as the fee schedules are only active during the dates specified it is easy to "deactivate" a fee schedule by changing the start and end dates to a single day that has no notes on it. It is also helpful in these instances to prepend the fee schedule name with "deleted". 


Now that the new fee schedule has been created, or if you are editing an existing fee schedule select the Charges tab on the left. All active procedure codes in the system will be present on the fee schedule. The initial values will be copied from the template selected during the creation process. The charges tab displays 100 fee schedule entries at a time and may be paged using the "page up" and "Page down" links at the top and bottom of the list. The fee schedule lines may be edited "inline". This means you click on the table entry you want to edit, type in the new value, and move to the next cell and all changes are saved automatically. Similar to a spreadsheet you may tab through the fields or click on them to edit the value.

A brief definition of each of the columns follows:

  • Description - The procedure code description. Read Only.
  • Code - The procedure code. Read Only.
  • Alternate Code - When populated the Alternate code will be sent in place of the procedure code in all places where this fee schedule is applied. Most system do not require an alternative code so it will usually match the procedure code.
  • Charge - This is the amount the practice charges for the given service. This is not necessarily the contract amount. The charge value is used in all exports and billing reports. This field is required to take advantage of most of QuickEMR's billing features.
  • Allowed - This is the amount the group is contracted to pay you. This field is used for your reference and is not exported or used in calculations.
  • M1-M4 - These modifier codes will be appended to the end of a charge whenever this fee schedule is applicable. Do not use these for capturing Medicare or CCI Edit modifiers such as GP, GO, GN, KX, 59, etc. Those modifiers are added automatically by QuickEMR based on insurance settings. If your insurance contract requires a modifier always be present for a given procedure this may be the correct place to put it. If you separate your RT, LT, 50 charge codes this may be the correct place to put those modifier codes. When in doubt leave these values blank to minimize the risk of billing errors.


An insurance is also assigned to a Fee Schedule Group in it's "General Tab" Make sure to assign the same group as the newly created or intended fee schedule.