Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DeviceEFM: Implementation for Fetal Heart Monitor #2

Closed
tanjera opened this issue Apr 9, 2018 · 3 comments
Closed

DeviceEFM: Implementation for Fetal Heart Monitor #2

tanjera opened this issue Apr 9, 2018 · 3 comments
Assignees

Comments

@tanjera
Copy link
Owner

tanjera commented Apr 9, 2018

The next device I'd like to implement is DeviceEFM - the external fetal heart monitor (abbreviated as EFM- "external fetal monitor", also known as cardiotocography...). It is a monitoring device used in hospitals to monitor pregnant women in labor to track the fetus's heart rate and ensure it is healthy (with a healthy heart rate). The machine tracks two waveforms: fetal heart rate and uterine contractions. The framework for the code, both WPF and C#, is mainly copy/pasted from DeviceECG and adapted.

The screen and the printout both look like this: cat-ii

The top waveform strip is the fetal heart rate, measured in beats per minute (y axis) plotted over time (x axis), with normal heart rates hovering around 130-160 beats per minute. The bottom waveform strip is uterine contractions, measured more subjectively as 0-100% (y axis) plotted over time (x axis).

Steps to do for implementation (non-medical!):

  • Implement EFMTracing.xaml and EFMTracing.xaml.cs as the control for visualizing the graphs (unassigned)

    • Note: EFMTracing.xaml & EFMTracing.xaml.cs are pretty much copy/pasted versions of other Controls that are adapted to specific uses for specific devices/look/feel.
    • Expected outcome: A control much like ECGTracing except with a white background, red grid lines similar to the picture above, with measurement units mimicking the picture above. Lines and labels can either be added programmatic (as WPF items), as Resources (as vector image .svg imported as background image, able to scale with different screen resolutions/window sizes).
    • It would be okay to create TWO controls, one for fetal heart rate and one for uterine contractions. Would prefer names EFMTracingFHR (fetal heart rate) and EFMTracingToco (tocometer- name of device that reads uterine contractions).
  • Implement DeviceEFM.xaml and DeviceEFM.xaml.cs as the actual device screen. (unassigned)

    • Expected outcome: Would be the window containing the EFMTracing controls, arranged like the waveform strip pictured above, able to display waveform strips in the control. Would function and act like other devices (e.g. ECG window), would be spawned by clicking on WPF button on PatientEditor.xml (currently disabled... needs enabling and possibly needs mouse-click trigger event implemented to spawn window).
  • Patient modeling for populating waveform strips in Strip.cs (not medical specific, but integrates with medical-specific functionality) (unassigned)

    • Add_Beat__Obstetric_Baseline - to be used for populating baseline strip waveform, timer event for triggering contractions and decelerations
    • Add_Beat__Obstetric_Contraction - used for populating tocometer and triggering start/end of contraction; triggers FHR decelerations based on contractions
    • Add_Beat__Obstetric_Deceleration - used for triggering unique FHR decelerations
  • Then, implementing medical-specific functionality (assigned: Tanjera)

    • Creating waveforms for EFMTracing in Waveforms.cs
      • EFM_FHR: fetal heart rate rhythm
      • EFM_Toco: tocometer rhythm
    • Display the rhythm strip in EFMTracing...
    • Tie in obstetric patient parameters from Patient.cs
      • FHR, uterine frequency/strength, decelerations
@tanjera tanjera self-assigned this Apr 9, 2018
@tanjera tanjera removed their assignment Apr 17, 2019
@tanjera tanjera added this to the v1.2: DeviceEFM milestone Apr 19, 2019
@tanjera
Copy link
Owner Author

tanjera commented Apr 19, 2019

Miscellaneous notes from "To Do.md"

@tanjera tanjera removed this from the v1.2: DeviceEFM milestone May 4, 2019
@tanjera
Copy link
Owner Author

tanjera commented May 18, 2020

  • Implement Patient parameters via PatientEditor

  • Implement Device
    • Modeled off of ECG device re: background image, controls drawn over

  • Implement Tracings
    • EFMTracing.xaml
    • EFMTracing.xaml.cs

  • Patient timers
    • Beat propagation timers

  • Implement Waveforms
    • EFM_FHR: fetal heart rate rhythm
    • EFM_Toco: tocometer rhythm


  • Implement plotted waveform for fetal heart rate variability
    • Absent, mild, moderate, severe

  • Test basic rhythm (category 1)
    • Including:
      • Varying fetal heart rates
      • Varying contraction rates and lengths

  • Implement variances
    • Accelerations
    • Decelerations
      • Early
      • Late
      • Variable

  • Localization, language translations
    • Initial entries (English, for testing)
    • Complete translations

@tanjera tanjera self-assigned this Jul 6, 2020
@tanjera tanjera pinned this issue Jul 6, 2020
tanjera added a commit that referenced this issue May 13, 2022
- Drawing routines implemented for obstetric baseline
- Drawing routines adjusted for obstetric contraction
- Measurements changed to seconds
  - Localizations updated
- Strip Length menu and functionality implemented
  - 1 minute and 10 minute options
@tanjera tanjera unpinned this issue Jul 16, 2022
@tanjera tanjera pinned this issue Jul 16, 2022
@tanjera tanjera modified the milestone: V 2.4 Jul 17, 2022
@tanjera tanjera linked a pull request Jul 23, 2022 that will close this issue
@tanjera
Copy link
Owner Author

tanjera commented Jul 23, 2022

DeviceEFM implemented in 6ef10eb, tested, working as expected. Only remaining features to implement are accelerations/decelerations. In progress. Closing issue.

@tanjera tanjera closed this as completed Jul 23, 2022
@tanjera tanjera unpinned this issue Jul 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant