feature: Explainable Alerts
This commit is contained in:
Executable
+36
@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
BASE_URL="${BASE_URL:-http://localhost:5270}"
|
||||
|
||||
echo "=== Phase 34 verification ==="
|
||||
|
||||
dotnet test "${ROOT_DIR}/VigilCareClinicalAPI.Tests" \
|
||||
--filter "FullyQualifiedName~ExplainableAlerts" --no-restore
|
||||
|
||||
TOKEN=$(curl -sf -X POST "${BASE_URL}/api/v1/auth/login" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"username":"admin.demo","password":"DemoAdmin1!"}' \
|
||||
| jq -r '.data.accessToken')
|
||||
|
||||
ALERT_ID=$(curl -sf "${BASE_URL}/api/v1/alerts?status=OPEN&pageSize=50" \
|
||||
-H "Authorization: Bearer ${TOKEN}" \
|
||||
| jq -r '[.data.items[] | select(.explanation != null)][0].id // empty')
|
||||
|
||||
if [[ -z "${ALERT_ID}" ]]; then
|
||||
echo "No open alert with explanation found — run a simulator scenario first, then re-run live checks"
|
||||
echo "Phase 34 verification complete (tests only)."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Verify explanation on alert ${ALERT_ID}"
|
||||
curl -sf "${BASE_URL}/api/v1/alerts/${ALERT_ID}" \
|
||||
-H "Authorization: Bearer ${TOKEN}" \
|
||||
| jq -e '.data.explanation.narrativeSummary != null'
|
||||
|
||||
echo "Verify DB jsonb column"
|
||||
docker compose exec -T postgres psql -U vigilcare -d vigilcare -c \
|
||||
"SELECT id, explanation IS NOT NULL AS has_explanation FROM clinical_alerts WHERE id = '${ALERT_ID}';"
|
||||
|
||||
echo "Phase 34 verification complete."
|
||||
Reference in New Issue
Block a user