Kulcare Docs

Hospital Readiness Manual QA

Manual acceptance checks for gap-closure U2, with clinical and release gates kept separate.

Setup And Release Gates

  • Record the commit, environment, facility, preset, testers, and evidence links.
  • Apply both readiness migrations and verify ENABLE/FORCE RLS on policy and command tables.
  • In a disposable database, verify empty rollback/reapply and populated rollback refusal. FORCE RLS remains on after refusal, including with no tenant context.
  • Use synthetic data in local or staging. Do not use real patient records for a test fixture.
  • Obtain clinical approval D3 before active clinical use: checklist, freshness, override authority, emergency rules, and representative cases.
  • Record the real approval reference and approver. Never copy the automated test rule into production.
  • Review active cases without policy bindings and approve a care handoff before deployment.
  • Configure permissions in Shell and feature flags in Admin, not Hospital.

The developer guide explains the internal approved-policy services. The framework has no policy-publishing UI. An authorized operator must use the approved setup procedure.

Policy And Case Lifecycle

  • With no approved procedure policy, create a case. Detail shows incomplete setup, not ready.
  • Attempt OT start and discharge completion. Both fail with current readiness blockers and preserve case state.
  • Publish an externally approved synthetic policy. A new case binds its version and starts without evidence.
  • Publish a later version. Existing cases keep the earlier policy.
  • Explicitly rebind a nonterminal case with a reason. Evidence resets and the clinical event retains both policy IDs.
  • Attempt a downgrade or rebind of a completed case. It fails without changing care history.
  • Confirm removed or mismatched requirement rows cannot clear a new policy.
  • Remove a ready or blocked requirement in a later policy and rebind. It disappears from the current checklist; its earlier command history remains readable.

Evidence And Overrides

  • Record manual evidence with a reason. A review-required item does not clear yet.
  • Review the current source with a reason. Required readiness updates in detail and the live list filter.
  • Record blocked evidence and then a ready review. The item remains blocked.
  • Replace reviewed evidence. Its earlier review no longer clears it.
  • Open a review, replace evidence in another session, and refresh. The old form requires reopening or receives a version conflict.
  • Cause a known version conflict without a page reload. Current evidence refetches, and reopening uses its new versions.
  • Check exact freshness expiry. Detail, list filter, OT start, and completion agree on stale state.
  • With explicit override and category authority, override an approved blocked state. Source remains blocked; the reason and lease are visible.
  • Let the lease expire or replace the source. The override no longer clears readiness.
  • Try override as an owner with no explicit grant. It is denied.
  • Try missing, stale, unavailable, or unstarted evidence, or an Inventory requirement. Clinical override cannot clear it.
  • Confirm optional missing items warn without clearing a required blocker.
  • Confirm Lab, pharmacy, and stock are not ready from a manual claim. Their source integrations remain pending.

Retry, Audit, And Isolation

  • Submit twice with the same key and body. One command and clinical event exist; retry returns the original result.
  • Change the body under the same key. It conflicts without a second effect.
  • Simulate a lost response. Retry uses the same complete command and key; no extra effect occurs.
  • Refresh after success. Historical retry evidence is not displayed as the current item state.
  • Inspect the protected command-history GET route. It retains actor, reason, time, source revision, and original result.
  • Rebind the case and read an earlier command. Its original policy ID and full rule snapshot have not changed.
  • Inspect PHI access logs. A new command records an amendment; an unchanged retry records a view, not another amendment.
  • Verify required activity-audit failure rolls back evidence, command history, and clinical event.
  • Race evidence replacement and case completion. The case lock permits one coherent outcome, not stale clearance.
  • Revoke membership or category permission. The next command fails without effects.
  • Suspend the tenant. Authorized history remains readable; writes fail.
  • Disable cases or the category module. Direct routes deny access as navigation does.
  • Try another tenant, an unassigned facility, and a foreign case/item selector. No evidence or history is exposed.
  • Run enforced-role RLS and concurrent-connection tests with zero skips.

UI And Acceptance

  • Check desktop and narrow mobile widths. Fields, errors, buttons, and long reasons do not overlap.
  • Confirm view-only users have no write actions and current server actions control available commands.
  • Confirm reason is required and drafts remain after validation or version errors.
  • Check case-context changes. A form from one case or facility cannot submit for another.
  • Verify missing Lab, MAR, Inventory, TPA, and Billing workflows still show their true integration state.
  • Attach whole-PR backend/frontend CI, review evidence, and staging QA results. Keep unrelated CI failures explicit.
  • Keep the issue open with the QA label. QA closes it after acceptance.

On this page