from sqlalchemy import Column, String, Integer, Boolean, DateTime, ForeignKey, Text, JSON, ARRAY from sqlalchemy.dialects.postgresql import UUID from src.config.database import Base from sqlalchemy.sql import func import uuid class CPTCode(Base): __tablename__ = 'cpt_codes' id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4, nullable=False) code = Column(String(255), nullable=False, unique=True) description = Column(String(255), nullable=False) short_description = Column(String(255), nullable=True) category = Column(String(255), nullable=True) specialty = Column(String(255), nullable=True) effective_date = Column(DateTime, nullable=True) termination_date = Column(DateTime, nullable=True) version = Column(String(255), nullable=False) rvu_work = Column(String(255), nullable=True) rvu_facility = Column(String(255), nullable=True) rvu_non_facility = Column(String(255), nullable=True) global_period = Column(String(255), nullable=True) synonyms = Column(JSON, nullable=True) created_at = Column(DateTime(timezone=True), server_default=func.now(), nullable=False) updated_at = Column(DateTime(timezone=True), server_default=func.now(), onupdate=func.now(), nullable=False) def __repr__(self): return f''