Time-Based Charging

Donate to this project

Development Project Status: Under Discussion

Due date for completion of this stage: 
Project funding: 

You can donate money to this project by entering the amount above and clicking the 'Add to cart' button. In the Checkout process you can either choose to pay now (via Bank Transfer, Cheque or Pay Pal) or you can pledge the amount by choosing the 'Pledge a payment for a Development Project' method. If you make a pledge, then when we have 100% funding commitments, you will be notified by email and you can then action your payment. Note that development will not commence until all funds are received.

Project description: 


Time-Based Charging will allow patients to be invoiced for the amount of time they spend on a Work List.

This can be used to improve charge capture as it removes the need to manually calculate a charge based on patient visit times.

Charging will be triggered for Work Lists that are configured for charging:

  • when Check-out is performed from a Task

    A prompt will be displayed e.g.

            The following charge will be invoiced: Hospitalisation Fee - 12

  • when a Task is transferred to a different Work List
    A prompt will be displayed e.g.

            The following charge will be invoiced: Hospitalisation Fee - 12

    Pressing OK performs the transfer and invoices the charge. This will display the Visit Editor if the charge displays pop-ups.

    Pressing Cancel cancels the transfer.

  • Periodically
    Charging can be configured so that a new charge is added periodically, when the configured interval expires. This can be used to better inform customers of their current bill, rather than waiting for Check-Out

The following rules apply:

  • Charging will only occur if the Task is In Progress
  • The time that a patient spends on the Work List determines the quantity charged. This time resets:
    • when they are transferred to a different Work List
    • each time they are charged, if period charging is configured


At Check-Out, a prompt wil be displayed if a Task exists for the patient that is on a Work List that attracts a charge, and is not the one being checked-out from. For example if the patient is on a hospital Work List that attracts a periodic charge, but Check-Out is performed from the appointment, this gives the user the option to bill and complete the Task.


Charging will be configured by:

  • attaching a Product to a Work List
    This may be any product, including a Template.
  • specifying the interval to charge e.g.:
    • 15 minutes
    • 1 hours
    • 12 hours
  • specifying to charge periodically, or in bulk
    When charging perodically, a charge will be added each time the interval expires. This will be limited to intervals of not less than 1 hour.
    Any remaining time will be charged on transfer or check-out.
    When charging in bulk, a single charge will be added for the total time that the patient is on the Work List.

Specifying a Template:

  • enables muliple products to be charged
  • supports Location-based pricing via the Practice Use Location Products option

Quantity Calculation


The quantity charged is calculated based on the elapsed time that the patient spent on the Work List, and is rounded to the nearest interval.


E.g., given a patient spending 95 minutes on a Hospitalisation work list, the following would be charged for the intervals:

Interval Quantity
1 Minutes 95
15 Minutes 6
1 Hour 2

When periodic charging is configured, a charge of quantity 1 is added each time the interval expires. The interval remaining at transfer or check-out will be charged as above.

Charging Mechanism

Charging will be done via Customer Orders, to avoid multiple threads/users updating an invoice concurrently. A new Customer Order type will be required, in order to support product templates.

To Do

  • Would it be better to support fractional quantities, rather than round? E.g. bill 6.2 hours.
  • If a template is used, the quantity of each line item will be based on the number of minutes elapsed. It may be necessary to be able to charge minutes for one item, and a specific quantity for another


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Re: Time-Based Charging


This is an exciting project!

Question - would it be possible for things to be charged with invoice items on each day. For example we would love to use this for hospitalistion charging. However we don't want an invoice item at the end of 10 days billing all the hospital at that time. This creates issues for updating people about where their bills are at as hospitalisaion goes on.... We would prefer that as each time period passes the invoice item is added.

Would it be possible to have options for q6 or q12 hour charging under this system. I think so reading the spec, but just want to make sure.



Re: Time-Based Charging

I've updated the spec to include periodic charging. If by q6 and q12 you mean bill in 6 and 12 intervals, then yes this would be supported.
For periodic billing, a 6 hour interval would be charged every 6 hours, with a quantity of 1.

For bulk billing, a 6 hour interval would be charged as a quantity of 4, if the patient was on the Work List for 24 hours.

Re: Time-Based Charging

this sounds fantastic!

thank you!

Syndicate content