Skip to content

Commit bd29c09

Browse files
committed
dynamic named episode cols
1 parent d6d096b commit bd29c09

6 files changed

Lines changed: 27 additions & 24 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,7 @@
4242
- treatment eps
4343

4444
## 0.2.6
45-
- update col for treatment eps
45+
- update col for treatment eps
46+
47+
## 0.2.7
48+
- episode cols dynamic name correction

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "omop-constructs"
3-
version = "0.2.6"
3+
version = "0.2.7"
44
description = "For building complex constructs on top of the omop-alchemy library."
55
readme = "README.md"
66
authors = [

src/omop_constructs/alchemy/episodes/condition_episode_mv.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ class OverarchingDiseaseEpisodeMV(
3939
extent_episode_concept_id: so.Mapped[Optional[int]] = so.mapped_column(sa.Integer, nullable=True)
4040
extent_episode_label: so.Mapped[Optional[str]] = so.mapped_column(sa.String, nullable=True)
4141

42-
extent_start_date: so.Mapped[Optional[date]] = so.mapped_column(sa.Date, nullable=True)
43-
extent_end_date: so.Mapped[Optional[date]] = so.mapped_column(sa.Date, nullable=True)
42+
extent_episode_start_date: so.Mapped[Optional[date]] = so.mapped_column(sa.Date, nullable=True)
43+
extent_episode_end_date: so.Mapped[Optional[date]] = so.mapped_column(sa.Date, nullable=True)
4444

4545
def __repr__(self) -> str:
4646
if self.has_extent:
@@ -62,7 +62,7 @@ def disease_interval(self):
6262
def extent_interval(self):
6363
if self.extent_episode_id is None:
6464
return None
65-
return (self.extent_start_date, self.extent_end_date)
65+
return (self.extent_episode_start_date, self.extent_episode_end_date)
6666

6767
@register_construct
6868
class TreatmentRegimenCycleMV(
@@ -89,15 +89,15 @@ class TreatmentRegimenCycleMV(
8989
regimen_episode_concept_id: so.Mapped[int] = so.mapped_column(sa.Integer)
9090
regimen_episode_label: so.Mapped[str] = so.mapped_column(sa.String)
9191

92-
regimen_start_date: so.Mapped[date] = so.mapped_column(sa.Date)
93-
regimen_end_date: so.Mapped[Optional[date]] = so.mapped_column(sa.Date, nullable=True)
92+
regimen_episode_start_date: so.Mapped[date] = so.mapped_column(sa.Date)
93+
regimen_episode_end_date: so.Mapped[Optional[date]] = so.mapped_column(sa.Date, nullable=True)
9494

9595
cycle_episode_id: so.Mapped[Optional[int]] = so.mapped_column(sa.Integer, nullable=True)
9696
cycle_episode_concept_id: so.Mapped[Optional[int]] = so.mapped_column(sa.Integer, nullable=True)
9797
cycle_episode_label: so.Mapped[Optional[str]] = so.mapped_column(sa.String, nullable=True)
9898

99-
cycle_start_date: so.Mapped[Optional[date]] = so.mapped_column(sa.Date, nullable=True)
100-
cycle_end_date: so.Mapped[Optional[date]] = so.mapped_column(sa.Date, nullable=True)
99+
cycle_episode_start_date: so.Mapped[Optional[date]] = so.mapped_column(sa.Date, nullable=True)
100+
cycle_episode_end_date: so.Mapped[Optional[date]] = so.mapped_column(sa.Date, nullable=True)
101101

102102

103103
def __repr__(self) -> str:
@@ -114,10 +114,10 @@ def has_cycle(self) -> bool:
114114

115115
@property
116116
def regimen_interval(self):
117-
return (self.regimen_start_date, self.regimen_end_date)
117+
return (self.regimen_episode_start_date, self.regimen_episode_end_date)
118118

119119
@property
120120
def cycle_interval(self):
121121
if self.cycle_episode_id is None:
122122
return None
123-
return (self.cycle_start_date, self.cycle_end_date)
123+
return (self.cycle_episode_start_date, self.cycle_episode_end_date)

src/omop_constructs/alchemy/episodes/episode_factories.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -48,25 +48,25 @@ def get_episode_hierarchy_query(
4848
parent_episode_subq: sa.Subquery,
4949
child_episode_subq: sa.Subquery,
5050
name: str = "episode_optional_children",
51-
parent_label: str = 'disease',
52-
child_label: str = 'extent'
51+
parent_label: str = 'disease_episode',
52+
child_label: str = 'extent_episode'
5353
) -> sa.Subquery:
5454
"""
5555
Expands an episode subquery to optionally include child episodes.
5656
"""
5757

5858
return (
5959
sa.select(
60-
parent_episode_subq.c.episode_id.label(f"{parent_label}_episode_id"),
60+
parent_episode_subq.c.episode_id.label(f"{parent_label}_id"),
6161
parent_episode_subq.c.person_id.label("person_id"),
62-
parent_episode_subq.c.episode_concept_id.label(f"{parent_label}_episode_concept_id"),
63-
parent_episode_subq.c.episode_label.label(f"{parent_label}_episode_label"),
64-
parent_episode_subq.c.episode_start_date.label(f"{parent_label}_episode_start_date"),
65-
parent_episode_subq.c.episode_end_date.label(f"{parent_label}_episode_end_date"),
62+
parent_episode_subq.c.episode_concept_id.label(f"{parent_label}_concept_id"),
63+
parent_episode_subq.c.episode_label.label(f"{parent_label}_label"),
64+
parent_episode_subq.c.episode_start_date.label(f"{parent_label}_start_date"),
65+
parent_episode_subq.c.episode_end_date.label(f"{parent_label}_end_date"),
6666

67-
child_episode_subq.c.episode_id.label(f"{child_label}_episode_id"),
68-
child_episode_subq.c.episode_concept_id.label(f"{child_label}_episode_concept_id"),
69-
child_episode_subq.c.episode_label.label(f"{child_label}_episode_label"),
67+
child_episode_subq.c.episode_id.label(f"{child_label}_id"),
68+
child_episode_subq.c.episode_concept_id.label(f"{child_label}_concept_id"),
69+
child_episode_subq.c.episode_label.label(f"{child_label}_label"),
7070
child_episode_subq.c.episode_start_date.label(f"{child_label}_start_date"),
7171
child_episode_subq.c.episode_end_date.label(f"{child_label}_end_date"),
7272
)

src/omop_constructs/alchemy/episodes/episode_joins.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,6 @@
3131
parent_episode_subq=treatment_regimen_select,
3232
child_episode_subq=treatment_cycle_select,
3333
name="treatment_regimen_with_cycles",
34-
parent_label="regimen",
35-
child_label="cycle"
34+
parent_label="regimen_episode",
35+
child_label="cycle_episode"
3636
)

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)