Legacy export → ECG Record crosswalk¶
How each value of the legacy to_dict export maps to an ECG Record address (ecg-record:<record_id>@<schema_version>#<pointer>). Source: schemas/ecg-record/1.1/crosswalk-legacy-v0.json, the same table the parity gates (tools/check_record_crosswalk.py, snapshot_regression.py) use.
Per-beat, per-lead fields¶
| Record pointer | Legacy member of beat_features[*] |
Transform | Profiles |
|---|---|---|---|
/delineation/fiducials/p_onset |
p/onset |
native_sample | summary, all, debug |
/delineation/fiducials/p_peak |
p/peak |
native_sample | all, debug |
/delineation/fiducials/p_offset |
p/offset |
native_sample | summary, all, debug |
/delineation/fiducials/qrs_onset |
qrs/onset |
native_sample | summary, all, debug |
/delineation/fiducials/r_peak |
r_peak_index |
native_sample | summary, all, debug |
/delineation/fiducials/qrs_offset |
qrs/offset |
native_sample | summary, all, debug |
/delineation/fiducials/j_point |
j_index |
native_sample | summary, all, debug |
/delineation/fiducials/t_offset |
t/offset |
native_sample | summary, all, debug |
/delineation/fiducials/t_onset |
t/onset |
native_sample | all, debug |
/delineation/fiducials/t_peak |
t/peak |
native_sample | all, debug |
/measurements/intervals/p_duration_ms |
p_dur_ms |
round_half_even | summary, all, debug |
/measurements/intervals/pr_interval_ms |
pr_ms |
round_half_even | summary, all, debug |
/measurements/intervals/qrs_duration_ms |
qrs_ms |
round_half_even | summary, all, debug |
/measurements/intervals/qt_interval_ms |
qt_ms |
round_half_even | summary, all, debug |
/measurements/intervals/tpeak_tend_ms |
tpe_ms |
round_half_even | summary, all, debug |
/measurements/intervals/jt_interval_ms |
jt_ms |
round_half_even | all, debug |
/measurements/amplitudes/p_amplitude_uv |
p_amp_mv |
mv_to_uv | summary, all, debug |
/measurements/amplitudes/r_amplitude_uv |
r_amp_mv |
mv_to_uv | summary, all, debug |
/measurements/amplitudes/s_amplitude_uv |
s_amp_mv |
mv_to_uv | summary, all, debug |
/measurements/amplitudes/st_80ms_uv |
st_80ms_mv |
mv_to_uv | summary, all, debug |
/measurements/amplitudes/t_amplitude_uv |
t_amp_mv |
mv_to_uv | summary, all, debug |
/measurements/amplitudes/u_amplitude_uv |
u_amp_signed_mv |
mv_to_uv | all, debug |
/measurements/areas/qrs_signed_area_uv_ms |
qrs_signed_area |
mv_internal_sample_to_uv_ms | summary, all, debug |
Record-level fields¶
| Record pointer | Legacy pointer | Transform |
|---|---|---|
/measurements/global/heart_rate_bpm |
/global_features/heart_rate_bpm |
round_half_even |
/measurements/global/frontal_qrs_axis_deg |
/global_features/qrs_axis_deg |
round_half_even |
/measurements/global/qtc_bazett_ms |
/global_features/qtc_bazett_ms |
round_half_even |
/measurements/global/qrs_wide_ms |
/global_features/qrs_wide_ms |
round_half_even |
/measurements/global/p_duration_ms |
/global_features/p_duration_ms |
round_half_even |
/measurements/global/pr_interval_ms |
/global_features/pr_ms |
round_half_even |
/measurements/global/qrs_duration_ms |
/global_features/qrs_ms |
round_half_even |
/measurements/global/qt_interval_ms |
/global_features/qt_ms |
round_half_even |
/measurements/global/qtc_fridericia_ms |
/global_features/qtc_fridericia_ms |
round_half_even |
/measurements/global/qtc_framingham_ms |
/global_features/qtc_framingham_ms |
round_half_even |
/measurements/global/qtc_hodges_ms |
/global_features/qtc_hodges_ms |
round_half_even |
/measurements/global/p_axis_deg |
/global_features/p_axis_deg |
round_half_even |
/measurements/global/t_axis_deg |
/global_features/t_axis_deg |
round_half_even |
/measurements/global/qrs_t_angle_deg |
/global_features/qrs_t_angle_deg |
round_half_even |
/measurements/global/atrial_rate_bpm |
/global_features/atrial_rate_bpm |
round_half_even |
/measurements/global/heart_rate_min_bpm |
/global_features/heart_rate_min_bpm |
round_half_even |
/measurements/global/heart_rate_max_bpm |
/global_features/heart_rate_max_bpm |
round_half_even |
/measurements/global/rr_mean_ms |
/global_features/rr_mean_ms |
round_half_even |
/measurements/global/rr_sd_ms |
/global_features/rr_sd_ms |
round_half_even |
/measurements/global/rmssd_ms |
/global_features/rmssd_ms |
round_half_even |
/measurements/global/qt_dispersion_ms |
/global_features/qt_dispersion_ms |
round_half_even |
/axes/beats/*/r_sample |
/beats/*/r_index |
native_sample |
/quality/record/grade |
/metadata/record_quality/record_grade |
identity |
/quality/record/status |
/metadata/record_quality/record_grade |
grade_in_Q0_Q1_usable_else_limited |
/quality/leads/<lead>/status |
/quality/<slot>/reliable |
true_usable_else_limited(reason quality_gate) |
/provenance/internal_sample_rate_hz |
/fs |
float |
/provenance/mains_frequency_hz |
/metadata/mains_frequency_hz |
identity |
/debug/legacy_metadata/<key> |
/metadata/<key> |
json_safe |
Transforms¶
- native_sample: round_half_even(v * acquisition.sample_rate_hz / legacy fs); a result outside [0, sample_count) -> unmeasurable(sample_outside_acquisition)
- round_half_even: round_half_even(v)
- mv_to_uv: round_half_even(v * 1000)
- mv_internal_sample_to_uv_ms: round_half_even(v * 1_000_000 / legacy fs)
Legacy sections without a record 1.0 equivalent¶
fs: mapped: /provenance/internal_sample_rate_hz (engine rate); native rate is /acquisition/sample_rate_hzquality: partially mapped: per-lead reliability -> /quality/leads//status; detailed quality diagnostics are not in record 1.0 beats: mapped: beat axis /axes/beats (ids b0001.., r_sample in native samples)beat_features: partially mapped: the 18 summary + 2 all-profile per-beat/per-lead fields above; the other legacy per-beat keys are unpublished in 1.0 (debug/provenance/implementation per document 02 section C)representative_leads: not in record 1.0: implementation intermediate (document 02 section B); legacy consumers read it through ecgfeat.compat.export_v0 during the compatibility windowgroups: not in record 1.0: implementation intermediateglobal_features: partially mapped: heart_rate_bpm, qrs_axis_deg, qtc_bazett_ms, qrs_wide_ms; other global values are unpublished in 1.0p_wave_assessments: not in record 1.0: intermediate assessment (document 02 section A.1)metadata: partially mapped: record_quality grade, mains_frequency_hz, and (debug profile) input_contract, limited_lead_capabilities, refinement_config; pacing/QT policy metadata becomes structured policy provenance in the staged pipelineinterpretation: removed: interpretation document (separate schema/distribution)clinical_interpretation: removed: interpretation document (separate schema/distribution)statement_engine: removed: interpretation document (separate schema/distribution)rhythm_inputs: not in record 1.0: implementation input for interpretation (document 02 section B)morphology_inputs: not in record 1.0: implementation input for interpretation (document 02 section B)reference_metadata: not in record 1.0: provenance of the legacy exporter