- Include Age and BirthdateConversion in patient list responses
- Keep Sex label transformation unchanged
- Preserve existing patient audit/update behavior
Remove tracked .serena project and memory files that are environment-specific and not needed in this repository.
Include the staged PatVisitModel adjustment to keep model behavior aligned with current code expectations.
Add AttDocFirstName, AttDocLastName, and AttDocContactCode to showByPatient via joins to contact and site-scoped contactdetail.
Keep existing AttDoc ID field unchanged for backward compatibility.
Update PatientVisit OpenAPI schema, regenerate bundled docs, and extend PatVisitByPatientTest assertions for new fields.
- Add PVADTID query param handling in OrderTestController::index() (supports both PVADTID and pvadtid, with numeric casting).
- Extend OrderTestModel::getOrdersByPatient() with optional PVADTID filtering.
- Apply PVADTID filtering to general order listing queries.
- Update public/paths/orders.yaml to document PVADTID on GET /api/ordertest.
- Regenerate public/api-docs.bundled.yaml to keep OpenAPI bundle in sync.
- handle contact PATCH failures by checking model save result and returning HTTP 400 with the model error message
- update ContactDetailModel nested updates to enforce active-detail checks and use model update() with explicit failure propagation
- extend contact patch assertions and align test-create variants expectations to status=success for POST responses
- refresh composer lock metadata/dependency constraints and include generated docs/data/test files updated during normalization
- impact: API contract unchanged except clearer 400 error responses on invalid contact detail updates
Allow the test map list endpoint to filter by host and client, and include container labels in detail responses. Update the API contract and feature coverage to match.
Separate nested contact details from the base payload, propagate sync failures to the API response, and add a regression test covering contact creation with details.
PATCH requests in this API now follow update semantics and return 200 instead of 201. Update the feature test assertion so it validates the standardized behavior and avoids false failures.
Allow update endpoints to validate only provided fields, avoid overwriting unchanged data, and preserve existing PatDiag when omitted from PatVisit PATCH payloads.
Implement true PATCH behavior so omitted fields stay unchanged, while null can explicitly clear nullable nested data. Align patient update tests and OpenAPI schemas/responses with the new 200/400/404 contract.
Align CALC/GROUP request and response payloads to use the testdefgrp.members structure in controller handling, feature tests, and OpenAPI schemas/examples for a consistent API contract.
Avoid coercing missing SiteID, Decimal, and age boundaries to hardcoded defaults so payload intent is retained across test creation and reference range inserts. Align patient result age checks and OpenAPI examples with day-based age bounds, with feature coverage for create variants.
Use the base test row's RefType and ResultType to decide refnum/reftxt loading, and fetch discipline/department joins directly in getTestById to avoid redundant relation queries. Add feature coverage for show response behavior and include the related workspace cleanup changes so the branch state is consistent.
Rename legacy boolean helpers to is* naming across test definitions, patient models, and infrastructure data to match rest of backend.
Update controllers, models, migrations, seeders, tests, and OpenAPI docs/bundled spec so contracts and runtime align.
Normalize formatting/line endings across configs, controllers, models, tests, and OpenAPI specs.
Update rule expression/rule engine implementation and remove obsolete RuleAction controller/model.
Add unit tests for rule expression syntax and multi-action behavior, and include docs updates.
- Add /api/rules CRUD, nested actions, and expr validation
- Add rules migration, models, and RuleEngine/Expression services
- Run ORDER_CREATED rules after order create (non-blocking) and refresh tests
- Update OpenAPI tags/schemas/paths and bundled docs