feat: implement Contec patient monitor discovery tool and server framework
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
from sqlalchemy import Column, Integer, String, Float, Boolean, DateTime
|
||||
from datetime import datetime, timezone
|
||||
from database import Base
|
||||
|
||||
class Device(Base):
|
||||
__tablename__ = "devices"
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
device_id = Column(String, unique=True, index=True)
|
||||
ip_address = Column(String)
|
||||
status = Column(String, default="active")
|
||||
last_seen = Column(DateTime, default=lambda: datetime.now(timezone.utc))
|
||||
|
||||
class Patient(Base):
|
||||
__tablename__ = "patients"
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
patient_id = Column(String, unique=True, index=True)
|
||||
name = Column(String)
|
||||
|
||||
class VitalReading(Base):
|
||||
__tablename__ = "vital_readings"
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
device_id = Column(String, index=True)
|
||||
patient_id = Column(String, index=True)
|
||||
timestamp = Column(DateTime, index=True)
|
||||
heart_rate = Column(Float, nullable=True)
|
||||
spo2 = Column(Float, nullable=True)
|
||||
systolic_bp = Column(Float, nullable=True)
|
||||
diastolic_bp = Column(Float, nullable=True)
|
||||
map_bp = Column(Float, nullable=True)
|
||||
respiratory_rate = Column(Float, nullable=True)
|
||||
temperature = Column(Float, nullable=True)
|
||||
transmitted = Column(Boolean, default=False, index=True)
|
||||
|
||||
class TransmissionLog(Base):
|
||||
__tablename__ = "transmission_logs"
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
reading_id = Column(Integer, index=True)
|
||||
status = Column(String)
|
||||
response_code = Column(Integer, nullable=True)
|
||||
error_message = Column(String, nullable=True)
|
||||
timestamp = Column(DateTime, default=lambda: datetime.now(timezone.utc))
|
||||
Reference in New Issue
Block a user