Skip to content

feat: Stryker/LIFEPAK CodeStat XML loader — event/channel separation …#294

Open
sorlob wants to merge 1 commit into
UniGrazMath:mainfrom
sorlob:feat/stryker-lifepak-loader
Open

feat: Stryker/LIFEPAK CodeStat XML loader — event/channel separation …#294
sorlob wants to merge 1 commit into
UniGrazMath:mainfrom
sorlob:feat/stryker-lifepak-loader

Conversation

@sorlob
Copy link
Copy Markdown
Collaborator

@sorlob sorlob commented May 21, 2026

Improved importer for a variety of pco files exported through CodeStat research exporter. All available test files passed import.

On the way other isssue arose, which are not fixewd by this commit:

…and TrueCPR support

Fix multiple parsing bugs in read_lifepak (wrong subtree lookups, namespace
issues, defib array length mismatch for LP1000 devices). Add
read_lifepak_cpreventlog for standalone TrueCPR CprEventLog-only exports,
and add the corresponding dispatch branch in add_defibrillator_recording.

All three Stryker loaders (read_lifepak, read_lifepak_cpreventlog,
read_lucas) now return a 3-tuple (pat_dat, channel_data, label_spec_dict).
Waveform and trend-vital data remain Channel objects; per-compression and
per-event data (compressions, ventilations, CPR periods, defibrillations,
12-lead timestamps) are now added as global Label / IntervalLabel objects.
CPR periods missing a final StopCPR event fall back to recording end.

Add docs/source/loaders/stryker_lifepak.md with a full channel reference
(waveform channels, trend vitals, event labels, TrueCPR section, known gaps)
and link it from the documentation index.

Add synthetic and real-data tests covering the full LIFEPAK triplet, the
TrueCPR standalone path, the missing-file error path, and the LP15 fixture.
Update existing Lucas tests to check labels instead of channels.

Available test files passed import.

Co-authored-by: RedX8 <110725804+RedX8@users.noreply.github.com>
@sorlob sorlob requested a review from behackl May 21, 2026 11:22
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.

2 participants