mgbam's picture
Upload 2 files
688f381 verified
raw
history blame
927 Bytes
from datetime import datetime
from sqlalchemy import Column, DateTime, Float, Integer, String, func
from sqlalchemy.orm import declarative_base
from sqlalchemy import JSON as JSONType # type: ignore
Base = declarative_base()
class ECGSample(Base):
"""
Database model for storing ECG signals and associated metadata.
"""
__tablename__ = "ecg_samples"
id = Column(Integer, primary_key=True, index=True)
patient_id = Column(String, index=True, nullable=False)
created_at = Column(DateTime(timezone=True), server_default=func.now(), nullable=False)
signal = Column(JSONType, nullable=False)
label = Column(String, nullable=True)
score = Column(Float, nullable=True)
alert_level = Column(String, nullable=True)
hr = Column(Integer, nullable=True)
# Additional metadata fields
device_id = Column(String, nullable=True)
sampling_rate = Column(Float, nullable=True)