-- Enable pgvector extension CREATE EXTENSION IF NOT EXISTS vector; -- CreateTable CREATE TABLE "icd_codes" ( "id" TEXT NOT NULL, "code" TEXT NOT NULL, "display" TEXT NOT NULL, "version" TEXT NOT NULL, "category" TEXT NOT NULL, "embedding" vector(1536), "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "updatedAt" TIMESTAMP(3) NOT NULL, CONSTRAINT "icd_codes_pkey" PRIMARY KEY ("id") ); -- Create unique index on code CREATE UNIQUE INDEX "icd_codes_code_key" ON "icd_codes"("code"); -- Create ivfflat index for fast vector similarity search CREATE INDEX "icd_codes_embedding_idx" ON "icd_codes" USING ivfflat (embedding vector_cosine_ops) WITH (lists = 100); -- Add comments for documentation COMMENT ON COLUMN "icd_codes"."embedding" IS 'Vector embedding for semantic search using pgvector (1536 dimensions)'; COMMENT ON INDEX "icd_codes_embedding_idx" IS 'IVFFlat index for fast cosine similarity search with 100 lists';