File size: 927 Bytes
688f381
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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)