Skip to content

Remove unused DataElement placeholder (#9, #61)#109

Merged
matthewhorridge merged 1 commit into
mainfrom
chore/remove-dead-dataelement
May 13, 2026
Merged

Remove unused DataElement placeholder (#9, #61)#109
matthewhorridge merged 1 commit into
mainfrom
chore/remove-dead-dataelement

Conversation

@matthewhorridge
Copy link
Copy Markdown
Contributor

@matthewhorridge matthewhorridge commented May 13, 2026

Summary

src/harmonization_framework/element.py defined DataElement and DEType as placeholders for a domain model that was never finished or adopted. A repo-wide search confirms nothing imports either symbol:

grep -rn \"DataElement\|DEType\" src/ tests/ demo/
src/harmonization_framework/element.py:5:class DEType(Enum):
src/harmonization_framework/element.py:17:class DataElement:
src/harmonization_framework/element.py:24:    element_type: DEType

Only self-references. Rules use plain strings for source/target column names, primitives work on values directly, and the API has no DataElement-shaped endpoints.

The competing ORM-side DataElement that motivated the naming-collision concern in #61 was already removed in 879f49e (Jan 2026) when the database layer was retired — so both the placeholder and the collision it was designed to coexist with are obsolete. The bug in #9 (no __init__, broken __hash__) only matters if the class were used, which it isn't.

Rather than finish an unused abstraction speculatively, delete it. A real DataElement model can be designed when there's a concrete consumer (e.g. ontology integration, RADx Data Dictionary alignment).

Closes #9, #61.

Test plan

  • All 167 tests still pass
  • No references remain in the repo

🤖 Generated with Claude Code`

`src/harmonization_framework/element.py` defined `DataElement` and
`DEType` as a placeholder for a domain model that was never finished or
adopted. A repo-wide search confirms nothing imports either symbol —
rules use plain strings for source/target column names, primitives work
on values directly, and the API surface has no DataElement-shaped
endpoints.

The competing ORM-side DataElement that motivated the naming-collision
concern in #61 was already removed in 879f49e (Jan 2026) when the
database layer was retired. So both the placeholder and the collision
it was designed to coexist with are gone.

Closes #9, #61.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@matthewhorridge matthewhorridge merged commit 8c0b856 into main May 13, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Finish DataElement implementation

1 participant