Inpatient Admit a Patient - hmislk/hmis GitHub Wiki

Inpatient — Admit a Patient

Admitting a patient creates a BHT (Bed Head Ticket) — the unique identifier for the admission episode. All subsequent clinical and financial records are linked to this BHT.

Page: Inpatient → Admissions → Patient Admit
XHTML: /inward/inward_admission.xhtml
Controller: AdmissionController.checkBeforeAdmit()
Privilege: InwardAdmissions


Before You Admit

The patient must already exist in the system. Use the Patient Lookup button on the admission page to search, or the Patient Profile button to review the patient before admitting. If the patient is new, register them first via the Patient Registration module.


Admission Form Fields

Field Required Notes
Admission Type Yes Controls BHT number prefix and which items are auto-charged; see Admin — Inpatient Admission Types
BHT Number Auto / Editable Auto-generated from the admission type's numbering sequence. Editable if config key BHT Number can be edited at the time of admission is enabled
Room No Yes Auto-complete search of available rooms. Disabled if the admission type itself carries a fixed room assignment
Admission Time Yes Date-time picker, defaults to current time; can be backdated if required
Consultant Yes Referring consultant (the specialist in charge of care)
Medical Officer Yes OPD doctor or admitting medical officer
Referring Doctor No Doctor who referred the patient from outside the hospital
Referred From Institution No External institution that referred the patient
Payment Mode Yes Cash, Credit (insurance), or other configured payment modes
Credit Company Conditional Required when payment mode is Credit/Insurance
Claimable Conditional Whether the admission is claimable against insurance; controlled by config keys
Comments / Reference No Free-text field; often used for external reference numbers
Patient demographics Reviewed Patient's name, NIC, gender, age, mobile, phone, address are shown for confirmation

Additional mandatory fields can be enabled per deployment via the Mandatory Fields Enabled configuration key (see Admin — Inpatient Module Behaviour Config Keys):

  • Referred From (institution or ward)
  • NIC / Passport
  • Address, district, province
  • Emergency contact name and phone

BHT Number Calculation

When an admission type is selected, the system calls AdmissionController.bhtNumberCalculation():

  1. Reads the admission type's BHT prefix and sequence settings
  2. Queries the last BHT in that series
  3. Proposes the next sequential number in the field

If the config key BHT Number can be edited at the time of admission is true, the generated number can be overridden.


Room Assignment at Admission

When the selected admission type does not carry a pre-assigned room, the user searches for an available room using the auto-complete field. The room list is filtered to show only rooms that are currently vacant.

If the hospital configures admission and room assignment as separate processes (config key: Patient admission and room assignment are simultaneous processes = false), room assignment appears as a separate Admit Room menu item and is not done on this form.


Simultaneous vs Separate Room Assignment

Config Value Behaviour
true (default) Room is assigned on the same admission form
false Admission is saved without a room; room is assigned later via Inpatient → Room → Admit Room

Submitting the Admission

Click Admit. The controller runs checkBeforeAdmit(), which validates:

  • All required fields are filled
  • The selected room is not already occupied

On success, the BHT is created and the screen redirects to the Admission Profile Dashboard for the new admission.

Duplicate Active Admission Check

If the patient already has another active (undischarged) admission, behaviour depends on the config key Inward Admission - Enforce Hard Block on Duplicate Active Admission (boolean, default false):

Config Value Behaviour
false (default) A Patient Already Admitted Warning dialog appears. Staff can click Cancel — Do Not Admit or override it with Yes, Proceed with Admission
true The admission is rejected with an error message ("This patient already has an active (undischarged) admission...") and there is no way to override it from the UI

Patient Already Admitted Warning dialog shown on the Admit a Patient page when the config key is off, offering Cancel or Yes Proceed with Admission

Error message rejecting the admission when the hard-block config key is on, with no override button available

This check also applies to Baby Admission and to converting an OPD/non-BHT encounter to a full admission — only the hard-block rejection applies there; those forms have no soft-warning dialog. Editing the patient's own already-active admission does not trigger this check against itself.


Automatic Admission Charges

If the hospital has configured them, a fixed set of routine charges — an admission charge, a resident M.O. charge, a nursing care charge, an ETU charge — is billed automatically the moment the admission is saved. The amount can differ by admission type and by whether the admission is Cash or Credit, so the payment method chosen on this form affects what is charged.

The charges appear as ordinary inward service bills on the BHT, exactly as if they had been added by hand on Add Services / Investigations to BHT, and show on the interim and final bill under their own charge types. Nothing is charged if the hospital has not configured any.

The price is fixed at the moment of admission. Converting the admission between cash and credit later does not re-price a charge that has already been billed — correct it with a cancellation or a return plus a re-bill.

See Admin — Inpatient Automatic Admission Charges.


Config Button

Administrators can reach the Inpatient Admission configuration screen directly from this page using the Config button (visible to users with the Admin privilege). This opens the application options filtered to "Admission" keys. See Admin — Inpatient Module Behaviour Config Keys.


Related Articles