Prescriptions
Use the Rx pad to write safe, NMC-compliant prescriptions from a visit, review allergy and duplicate-drug warnings, finalize the prescription, print it, and share a patient-portal link.
Who can do this: Practitioners, Doctors and Super Admins with rx.read and rx.write. Only the prescribing practitioner can change, finalise or cancel their draft. Printing needs rx.read.
Where: Visit workspace Prescription tab (/app/patients/:patientId/encounters/:encounterId), print view /app/prescriptions/:prescriptionId/print, patient portal /patient/prescriptions/:prescriptionId.

Before you start
- Add your medical council registration number in Profile. The backend blocks finalisation without it.
- Record current allergies in the visit before finalising medicines.
- For teleconsultations, start the teleconsultation identity and consent flow before prescribing.
- Use generic names. The print view renders generic names in CAPITALS and brand names in brackets.
Create or update a draft prescription
- Open a visit and select Prescription.
- Click New prescription if no draft is open.
- In Search medicine (generic or brand), type the generic or brand name.
- Choose a medicine from the results. Result: Generic, Brand, Strength and Form are filled when the selected drug has them.
- Fill Dose, Frequency, Timing and Days.
- Use quick frequency values such as
1-0-1, OD, BD, TDS, SOS or HS, or choose Other (e.g. 1-1-0). - Add Advice and Follow-up date if needed.
- Click Save draft. Result: The toast says Draft saved. The server recomputes Qty, bilingual Instructions and Warnings.
Use Favourites / sets and Apply set for common groups such as fever or post-procedure medicines. Sets add several rows, but you still review every dose and warning.
Review warnings
- Read the Warnings panel.
- Check each line with the medicine row it mentions.
- For warnings that require acknowledgement, tick I have reviewed this warning. Result: Finalize can proceed only after all required warnings are acknowledged.
Warnings are server-authoritative and include:
ALLERGY_MATCH: patient has an active allergy that matches the generic, ingredient, drug class or coded substance.DUPLICATE_GENERIC: the same generic is prescribed more than once.DUPLICATE_CLASS: more than one drug from a duplicate-checked class is prescribed.SCHEDULE_X: special prescription and record-keeping rules apply; acknowledgement required.SCHEDULE_H1: informational Schedule H1 warning.
Finalize a prescription
- Confirm every medicine has Generic, Dose, Frequency and Days unless the frequency is STAT.
- Tick every required warning acknowledgement.
- Click Finalize. Result: The toast says Prescription finalized and the prescription becomes immutable.
- If you see Add your medical council registration number to your profile before finalizing., click Open profile, add the number, then return and finalise again.
A finalized prescription cannot be edited or cancelled. If treatment changes, write a new prescription.
Print a prescription
- In This visit's prescriptions, click Print.
Result: The print route opens at
/app/prescriptions/:prescriptionId/print. - Check the NMC header: clinic details, patient details, practitioner name, qualification, Reg. No., date and Signature line.
- Click Print on the print page or use the browser print dialog. Result: The print action is recorded in the access log.

Share on WhatsApp
- Finalize the prescription.
- Click Share on WhatsApp. Result: Achal records a share access-log entry and opens a WhatsApp message containing only the portal prescription link.
- The patient opens My prescriptions in the patient portal.
The WhatsApp text comes from the print namespace: Your prescription from clinic is ready: url. Clinical details stay behind the patient portal link.
Cancel a draft
- Open the draft prescription.
- Click Cancel prescription.
- Enter the reason when prompted. Result: The status becomes Cancelled. You can create a new draft if needed.
Prescribe during telemedicine
- Start the teleconsultation from
/app/patients/:patientId/teleconsult/new. - Check the visit banner for allowed medicine lists.
- Save and finalize the Rx as usual. Result: The Rx policy blocks prohibited or not-allowed medicines for that consultation type and marks offending lines.
Troubleshooting
| Problem / message | What it means | What to do |
|---|---|---|
Acknowledge every warning to finalize. or WARNINGS_NOT_ACKNOWLEDGED | At least one required warning is not acknowledged. | Review warnings and tick I have reviewed this warning where required. |
Add your medical council registration number to your profile before finalizing. or PRESCRIBER_REGISTRATION_MISSING | Prescriber profile lacks a registration number. | Open Profile, save the registration number and finalise again. |
MIN_ITEMS Add at least one medicine | Draft has no medicines. | Add a medicine row. |
GENERIC_NAME_REQUIRED The generic name is mandatory | NMC finalisation requires generic name. | Select a drug or type the generic name. |
REQUIRED This field is required | Dose, frequency or duration is missing. | Complete the highlighted medicine field. |
FORMAT Unknown frequency (use OD, BD, TDS, QID, HS, SOS, STAT, Qn H or a pattern like 1-0-1) | Frequency was not understood. | Use a listed shortcut or a valid dose pattern. |
UNKNOWN_DRUG_REF Unknown drug reference | Selected drug no longer resolves. | Search and select the drug again. |
GENERIC_NAME_MISMATCH The generic name does not match the selected drug | Client-sent generic differs from selected drug. | Re-select the correct medicine. |
PRESCRIPTION_LOCKED A finalized prescription cannot be changed | You tried to edit or cancel a final prescription. | Write a new prescription. |
INVALID_STATE The prescription is not a draft | Action is valid only for drafts. | Create or open a draft prescription. |
VERSION_CONFLICT | Another save changed the draft first. | Click Reload, review, then save again. |
NOT_PRESCRIBER Only the prescribing practitioner can change this prescription | Another clinician owns the draft. | Ask the original prescriber to finalise/cancel or create your own prescription. |
RX_POLICY_UNAVAILABLE Prescribing rules for this encounter type are unavailable; try again later | Telemedicine policy was not registered. | Retry later and contact support if it repeats. |
TELECONSULT_NOT_STARTED Start the teleconsultation (identity check and consent) before prescribing | Teleconsult encounter has no completed telemedicine start record. | Complete telemedicine identity and consent first. |
TELEMEDICINE_DRUG_PROHIBITED Schedule X and narcotic / psychotropic medicines cannot be prescribed by teleconsultation | NMC telemedicine policy prohibits the item. | Remove the item and arrange in-person care if needed. |
TELEMEDICINE_DRUG_NOT_ALLOWED Some medicines cannot be prescribed in this type of teleconsultation | Medicine list is not allowed for this mode or kind. | Use an allowed medicine or convert to eligible follow-up/in-person care. |
| Only finalized prescriptions can be printed. | Print page opened for a draft. | Finalize first. |
| Only finalized prescriptions can be shared | Share action was attempted on a draft. | Finalize first. |