refactor: reorganize repository to src/ layout

Move 6 packages (core, config, data_processing, analysis, visualization, cli)
into src/ to reduce root clutter. Merge tools/data.py into
data_processing/transforms.py. Move docs to docs/.

Path resolution via .pth file (setup_dev.py), pytest pythonpath config,
and sys.path bootstrap in rxconfig.py and CLI entry points.

Clean up pyproject.toml deps (remove stale pins, add snowflake-connector-python).
Fix tomllib import for Python 3.10 compatibility.

All 113 tests pass.
This commit is contained in:
Andrew Charlwood
2026-02-06 12:03:48 +00:00
parent 1581b1d3dd
commit 76838887e6
40 changed files with 589 additions and 214 deletions
-50
View File
@@ -1,50 +0,0 @@
"""
Analysis package for patient pathway processing.
This package contains refactored functions from the original generate_graph() pipeline:
- pathway_analyzer: Main analysis pipeline with prepare_data, calculate_statistics, build_hierarchy
- statistics: Statistical calculation functions (costs, frequencies, durations)
"""
from analysis.pathway_analyzer import (
prepare_data,
calculate_statistics,
build_hierarchy,
prepare_chart_data,
generate_icicle_chart,
)
from analysis.statistics import (
count_consecutive_values,
calculate_drug_costs,
calculate_dosing_frequency,
calculate_drug_frequency_row,
calculate_cost_per_patient_per_annum,
calculate_treatment_duration,
calculate_pathway_proportion,
aggregate_patient_costs,
aggregate_drug_frequencies,
format_treatment_statistics,
remove_nan_values,
)
__all__ = [
# Pathway analysis pipeline
"prepare_data",
"calculate_statistics",
"build_hierarchy",
"prepare_chart_data",
"generate_icicle_chart",
# Statistical calculations
"count_consecutive_values",
"calculate_drug_costs",
"calculate_dosing_frequency",
"calculate_drug_frequency_row",
"calculate_cost_per_patient_per_annum",
"calculate_treatment_duration",
"calculate_pathway_proportion",
"aggregate_patient_costs",
"aggregate_drug_frequencies",
"format_treatment_statistics",
"remove_nan_values",
]