#4 Loading pulse/oximetry data from ChoiceMMed devices that use the MedView software

Unstable_(example)
open
nobody
None
5
2014-05-28
2013-05-07
Bill Page
No

The MD300W1 wrist oximeter (and other devices of this type) stores
up to 3 nights of data and can be downloaded by usb cable. I have
attached a very preliminary patch to oximetry.cpp which appears to
successfully load the ".dat" file that is saved by MedView. So far I
have tested it by building SH on an OpenSuSE linux system. But now
that I can see the oximetry data side-by-side with the CPAP data I
have many questions about how this is really supposed to work.

In particular the MedView file format supports mulitple users by
setting an id # and multiple sessions by date/time stamp for each
pulse and SO2 observation. I am not confident that I am handling the
creation of multiple sessions from a single import file properly in
the current code. If anyone is interested I can provide sample data
files.

1 Attachments

Discussion

  • Mark Watkins

    Mark Watkins - 2014-05-28

    Revisiting this.. I'm incredibly sorry I missed your patch last time..

    I've created a MD300W1 stub loader already for the new oximetry system, I just need to have a bit of a rethink on how best to handle multiple sessions...

    Maybe a dialog page needs to show up display a list of available sessions, and asking which session you want to import?

    Or maybe just cheat for now and pick the most recent session recorded?

    The whole point of the new dialog is to make it easier to sync with CPAP.. it's not really practical to present a user interface that can sync multiple oximeter sessions with multiple cpap sessions, as I think it would confuse the crap out of most users, as well as me trying to write it.. :-}

    /Mark

     
    • Bill Page

      Bill Page - 2014-05-28

      Thanks very much for working on this.

      On 28 May 2014 00:44, Mark Watkins jedimark@users.sf.net wrote:

      Revisiting this.. I'm incredibly sorry I missed your patch last time..

      No problem! I am just very happy that now seems like a good time to do it.

      I've created a MD300W1 stub loader already for the new oximetry system,
      I just need to have a bit of a rethink on how best to handle multiple
      sessions...

      Maybe a dialog page needs to show up display a list of available sessions,
      and asking which session you want to import?

      Yes, that is how I do it now. My problem was just that I did not know
      how to construct a widget in QT that displays a list and lets me
      select one of the sessions. So what I did instead was copy some other
      widget code from elsewhere in sleepyhead with a simpler way of
      selecting just the first, second or the last session. That has been
      enough for my own use up till now. But if the oximeter really was
      being used by more than one person or if I let it record data for more
      than 3 days before uploading, then it would be an issue.

      Or maybe just cheat for now and pick the most recent session recorded?

      That would be OK for initial testing.

      The whole point of the new dialog is to make it easier to sync with CPAP..
      it's not really practical to present a user interface that can sync multiple
      oximeter sessions with multiple cpap sessions, as I think it would confuse
      the crap out of most users, as well as me trying to write it.. :-}

      I agree. I only sync one session at a time from the dat file. If I
      have two or three days worth of data, I select the same file more than
      once and select the first session the first time and the second
      session the second time, etc.

      I find that occasionally syncing the data can be made quite difficult
      because the oximeter clock sometimes gets reset while changing
      batteries (I use rechargeables that have to replaced frequently), the
      clock drift accumulates, or for some reason I start the oximetry
      session a long time after or before the CPAP session. So I really
      welcome the changes you are making to simplify this.

      Bill.

       
  • Mark Watkins

    Mark Watkins - 2014-05-28

    Already most of the way there :)

    I have inserted a page just before the sync page that allows you to select which oximeter recording if more than one are present..

    This will help with CMS60 as well, which I found some code for somewhere..

    I just need a sample .dat file for the MD300W1 so I can test it.

     
  • Bill Page

    Bill Page - 2014-05-28

    Here are three sample MD300W1 MedView .dat files in a zip archive.

     
  • Mark Watkins

    Mark Watkins - 2014-05-28

    Thank you Bill! :)

     
  • Mark Watkins

    Mark Watkins - 2014-05-28

    Okay, I've got the session chooser working based of 1 second apart groupings and the first file there reports many seperate chunks.

    Is this individual oximetry sessions (as in you stopped and started from the menu each time) or is it simply not recording any data while the finger is removed?

    Whatever the case, it's not a major problem - My simple solution is to zero fill the empty seconds where data is missing, and let the SleepyHead import stage clean it up properly during it's time delta packing.

     
  • Mark Watkins

    Mark Watkins - 2014-05-28

    Well, that works nicely. Any gaps under 5 minutes gets padded out, anything above that gap goes to a new session.

    Which took the above down to just two sessions.

    The chooser will only show up if there is more than one session available in a recording, otherwise straight to the cpap sync page.

    It's ready for testing.. I may still need to convert the timestamps to UTC.

     
  • Bill Page

    Bill Page - 2014-05-28

    That looks great! I will try building the new version and test with a larger set of files. Thank you.

     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks