Admin Timed Service Charging Units - hmislk/hmis GitHub Wiki

Admin — Timed Service Charging Units (One Time, Per Minute, Per Hour, Per Day)

Every timed service fee says how elapsed time turns into money. A nebulisation billed by the minute, a ventilator billed by the hour, a room billed by the day and a physiotherapy visit charged once regardless of how long it took are all configured the same way — by picking a Charged By unit on the fee, then giving the length of one charged block in that unit.

Pages:

  • Administration → Manage Inpatient Services → Services → Manage Service Fees (/inward/inward_timed_item_fee.xhtml) — timed service fees
  • Administration → Manage Inpatient Services → Rooms → Manage Room Charges (/inward/inward_room_facility.xhtml) — room charge blocks

Privilege: InwardAdministration


The four units

Charged By What "Duration" means Typical use
One Time Fee Nothing — the field is disabled A visit, a procedure, a set-up charge billed once no matter how long it ran
Per Minute Length of one charged block, in minutes Nebulisation, short procedures, theatre time
Per Hour Length of one charged block, in hours Oxygen, ventilator, special nursing
Per Day Length of one charged block, in days Room rent, daily care charges

The Charged By dropdown showing One Time Fee, Per Minute, Per Hour and Per Day

Per Hour is the default, and it is also what every fee configured before charging units existed is read as. Existing services keep billing exactly as they always have — nothing needs re-entering. The unit only changes behaviour where somebody picks a different one.


Setting up a per-minute service

The classic example: Rs. 10 per minute.

  1. Open Manage Service Fees and pick the service under Select Service
  2. Fee Name — a label for this fee block, e.g. Per Minute Charge
  3. Fee — 10 (and Foreigner Fee if the service is priced differently for foreign patients)
  4. Charged By — Per Minute
  5. Duration — 1 (one charged block is one minute)
  6. Slot Order — 1
  7. Tick Repeating so the same rate applies to every following minute
  8. Click Add

A per-minute fee saved: Fee 10, Charged By Per Minute, Duration 1, Repeating ticked

A 30-minute service then bills Rs. 300.

Order matters when entering: pick Charged By before typing the Duration and Over Shoot values. Changing the unit refreshes those two fields, which clears anything already typed into them.

Charging in blocks larger than one unit

Duration does not have to be 1. Charged By = Per Minute with Duration = 15 bills in quarter-hour blocks — 50 minutes of use is charged as 3 blocks.


Setting up a one-time charge

  1. Charged By — One Time Fee
  2. Duration and Over Shoot grey out — a one-time charge has no block length
  3. Enter the Fee and Slot Order, then Add

One Time Fee selected, with Duration and Over Shoot disabled

The fee is charged exactly once for the service, whether it ran for five minutes or a week.


Over Shoot follows the unit

Over Shoot is the grace period before a partly-used block is charged as a whole block, and it is counted in the same unit as Duration:

  • Per Day, Duration 1, Over Shoot 0.5 → a stay of 36 hours leaves a 12-hour remainder, which reaches the half-day grace, so 2 days are charged
  • The same config with Over Shoot 0 charges 1 day, and the leftover 12 hours are free

Duration is required for time-based fees

A time-based fee with a Duration of 0 can only ever price at zero, so it is rejected on save:

Saving a Per Hour fee with Duration 0 is rejected with "Duration must be greater than 0 for a Per Hour fee."

If what you want is a flat charge, use One Time Fee rather than a zero duration.


What staff see when the service is billed

The configured unit is applied everywhere a timed service is priced — the timed service consume screen, the room management pages, the interim bill and the final bill all read the same setting, so a service cannot be charged one way on one screen and another way on another.

On Manage Inward Timed Services, the Total Charges column reflects the unit directly:

Four timed services billed side by side: per-minute 30 min = 300.00, one-time over 7 days = 2,000.00, per-minute 46 min = 460.00, per-hour 2.5 h = 1,000.00

Reading that table row by row:

Service Charged By Rate Time used Charged
Nebulisation Per Minute, block 1 Rs. 10 30 minutes Rs. 300
Physiotherapy Visit One Time Fee Rs. 2,000 7 days Rs. 2,000
Nebulisation Per Minute, block 1 Rs. 10 46 minutes Rs. 460
Oxygen Therapy Per Hour, block 1 Rs. 500 2 h 30 min Rs. 1,000

The Oxygen Therapy row shows the whole-block rule: two complete hours are charged, and the leftover 30 minutes are not, because that fee has no Over Shoot grace configured.

The same amounts carry through to the bill:

The interim bill's Timed Service Detail tab listing the same four charges

Start Time and Stopped Time

A timed service is priced from its Start Time to its Stopped Time. Both are editable on the consume screen — correct either one and press Update, and the charge is recalculated against the new window. A service that has not been stopped yet is priced up to the current time, and is closed automatically at discharge.


Room charges use the same units

Room charges are timed charges too, so Manage Room Charges has the same Fee Calculation Block Unit selector next to its block duration:

A room charge configured as Per Hour with a block duration of 24

Rooms have conventionally been set up as Per Hour with a block duration of 24. That still works and is unchanged. Per Day with a duration of 1 is the same thing expressed more plainly, and produces identical charges — pick whichever reads better to the people maintaining the configuration.

The Over Shoot for the last Block value follows the unit here too, so a room converted from Per Hour / 24 / Over Shoot 1 to Per Day / 1 needs its Over Shoot re-expressed in days (1 hour = 0.0417 days) if that grace period is to be preserved.


Related Articles