#!/usr/bin/env bash
set -e

currentPerformanceYear="${1:-}"
if [ -z "$currentPerformanceYear" ]; then
  read -r -p "Enter performance year (e.g. 2026): " currentPerformanceYear
fi

if ! [[ "$currentPerformanceYear" =~ ^[0-9]{4}$ ]]; then
  echo "Invalid performance year: ${currentPerformanceYear} (expected 4 digits, e.g. 2026)" >&2
  exit 1
fi

claimsCsv="util/clinical-clusters/${currentPerformanceYear}/ClaimsClinical_Cluster.csv"
registryCsv="util/clinical-clusters/${currentPerformanceYear}/RegistryClinicalCluster.csv"

if [ ! -f "$claimsCsv" ] || [ ! -f "$registryCsv" ]; then
  echo "Missing CSV input for ${currentPerformanceYear}." >&2
  echo "Expected:" >&2
  echo "  ${claimsCsv}" >&2
  echo "  ${registryCsv}" >&2
  echo "Run: npm run create:clinical-clusters" >&2
  exit 1
fi

# compile TypeScript
tsc -p .

# generate EMA cluster data
echo "Generating clinical clusters for ${currentPerformanceYear}:"
node dist/scripts/clinical-clusters/ema-clinical-cluster-builder.js \
  "${currentPerformanceYear}" \
  "${claimsCsv}" \
  "${registryCsv}" \
  > /dev/null

# validate EMA clusters
echo ""
echo "Validating clinical-clusters.json produced:"
node dist/scripts/validate-data.js clinical-clusters \
  "${currentPerformanceYear}" \
  "clinical-clusters/${currentPerformanceYear}/clinical-clusters.json"

echo ""
echo "Done. Output: clinical-clusters/${currentPerformanceYear}/clinical-clusters.json"
