v1
patient_enrichment record, v1 — canonical aliases.
Consumers and the record registry import from here and never touch the inner
module names, mirroring steps/*/v1/__init__.py.
Module
Submodules
- bitfount.cache.types.patient_enrichment.v1.migrations - No inbound migration — this is the base version.
- bitfount.cache.types.patient_enrichment.v1.model - Pydantic record for the
patient_enrichmentcache table (v1). - bitfount.cache.types.patient_enrichment.v1.schema - SQLAlchemy ORM for the
patient_enrichmentcache table (v1). - bitfount.cache.types.patient_enrichment.v1.store - CRUD for the
patient_enrichmentrecord (v1).
Classes
ORM
class ORM(**kwargs):One supplied measurement, as a single observation-shaped fact.
Long format on purpose: a new key in the supplied payload becomes new rows,
never a schema migration. measured_at is part of the key, so a patient's
measurement history accumulates rather than overwriting — which keeps a
recency criterion possible later without a migration either.
A simple constructor that allows initialization from kwargs.
Sets attributes on the constructed instance using the names and
values in kwargs.
Only keys that are present as attributes of the instance's class are allowed. These could be, for example, any mapped columns or relationships.
Ancestors
Variables
-
bitfount_patient_id : Union[sqlalchemy.orm.attributes.InstrumentedAttribute[+_T_co], +_T_co]
-
code_code : Union[sqlalchemy.orm.attributes.InstrumentedAttribute[+_T_co], +_T_co]
-
code_system : Union[sqlalchemy.orm.attributes.InstrumentedAttribute[+_T_co], +_T_co]
-
laterality : Union[sqlalchemy.orm.attributes.InstrumentedAttribute[+_T_co], +_T_co]
-
measured_at : Union[sqlalchemy.orm.attributes.InstrumentedAttribute[+_T_co], +_T_co]
-
mrn : Union[sqlalchemy.orm.attributes.InstrumentedAttribute[+_T_co], +_T_co]
-
processed_at : Union[sqlalchemy.orm.attributes.InstrumentedAttribute[+_T_co], +_T_co]
-
run_id : Union[sqlalchemy.orm.attributes.InstrumentedAttribute[+_T_co], +_T_co]
-
source : Union[sqlalchemy.orm.attributes.InstrumentedAttribute[+_T_co], +_T_co]
-
source_hash : Union[sqlalchemy.orm.attributes.InstrumentedAttribute[+_T_co], +_T_co]
-
tags : Union[sqlalchemy.orm.attributes.InstrumentedAttribute[+_T_co], +_T_co]
-
task_hash : Union[sqlalchemy.orm.attributes.InstrumentedAttribute[+_T_co], +_T_co]
-
unit : Union[sqlalchemy.orm.attributes.InstrumentedAttribute[+_T_co], +_T_co]
-
value_num : Union[sqlalchemy.orm.attributes.InstrumentedAttribute[+_T_co], +_T_co]
-
value_str : Union[sqlalchemy.orm.attributes.InstrumentedAttribute[+_T_co], +_T_co]
Record
class Record(**data: Any):One externally-supplied measurement.
Re-runs upsert on
(task_hash, bitfount_patient_id, source, code_code, laterality, measured_at).
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be
validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
Variables
- static
bitfount_patient_id : str
- static
code_code : str
- static
code_system : str
- static
laterality : str
- static
measured_at : str
- static
model_config
- static
mrn : str | None
- static
processed_at : datetime.datetime
- static
run_id : str | None
- static
source : str
- static
source_hash : str
- static
tags : dict[str, typing.Any] | None
- static
task_hash : str
- static
unit : str | None
- static
value_num : float | None
- static
value_str : str | None