Root cause (checked on nssh.test on 12 Nov, read only). Reproduced: the register's API answers with 0 records. The Form F register is not broken. It only lists scans of tests that have "Requires Form F" ticked. That is an opt-in on each...Sravan V S
Root cause (investigated on 12 Nov, reproduced locally and on nssh.test). What happens: a counter sale stores only the name and phone typed on the Counter Sale screen. The phone lookup matches the registered patient (for example Kavitha...Sravan V S
Moved to In Progress: the delivery is under way under #706. Progress is 50%: the printed templates are built and tested on local branches (plans 1 to 4 of 5), and plan 5, the test site, QA and the release to NSS are still to do. This tic...Sravan V S
Update from the work under #706: * The radiology scan reports from #711 (Dating, Growth, NT and Anomaly) now print as PDFs from Admin > Document Templates, with their existing template codes. Their key images print on a separate page aft...Sravan V S
Being delivered under Feature #706 (Admin > Document Templates platform), which ships as one release after test-site verification and QA sign-off. Nothing is on dev yet. * #706 covers the bills, receipts, clinical documents, letters and ...Sravan V S
What happens: The offer letter and the leave approval letter print raw placeholder text in the PDF instead of real values. The templates ask for values that HR never sends, and the renderer leaves unknown placeholders as they are. Of...Sravan V S
Credential blocking checks today's date, not the roster date, so blocked staff's existing roster entries still publish, and the OPD slot feed does no credential check at all, so a patient can book an unlicensed doctor. Reproduce: roster ...Sravan V S
Document lists and generated letters hand the browser raw Azure links. buildProxyUrl has no callers in this surface and there is no download endpoint to proxy through. Reproduce: open a returned document link in a private browser window....Sravan V S
Manual punches store true UTC; approved regularizations store IST clock time labelled as UTC. ESS shows manual punches 5.5h early, the manager list shows regularized ones 5.5h late. Reproduce on the test box: compare a manual punch and a...Sravan V S
LeaveRequestService.ApproveAsync calls _balanceService.DeductAsync and saves it BEFORE LeaveRequest.Approve()'s state guard runs. Confirmed in code (LeaveRequestService.cs:364-373). Reproduce on the test box: approve a request twice (or ...Sravan V S