GUIDE · 6 MIN READ

How to import oximeter data and see it on your CPAP night

Your CPAP machine knows what your airway did. An overnight oximeter knows what your blood oxygen did. Put them on the same timeline and you can see whether the events that remain are costing you anything. This guide shows how to import oximeter data into Apnealytics from the three common sources: a Wellue O2Ring, a Contec CMS50-family finger oximeter, and a ResMed SAD.edf file written to the machine's own SD card. Oximetry overlay is a Pro feature ($8.99/month or $99.99/year).

How to import oximeter data and see it on your CPAP night
01

What you get once it is in

  • SpO₂ and pulse rate overlaid on the night, aligned to airflow, pressure, leak and event strips.

  • ODI₃ and ODI₄: desaturations of 3 or 4 points per hour.

  • T90: minutes spent below 90 percent.

  • A crosshair you can drag across an event to see the desaturation that followed it, and zoom.

What you get once it is in
02

Before you start

  • Wear the oximeter for the whole night, and only the night. Put it on just before you start the machine and take it off just after. A recording that includes an hour of reading in bed before therapy will still import, but the extra time makes alignment less tidy.

  • Set the oximeter's clock. Both devices stamp their data with their own clock. If the oximeter is an hour off, the overlay will be an hour off. Most oximeter apps sync the clock from the phone when you connect.

  • Know your file. Apnealytics accepts EDF and CSV. The three sources below each produce one of those.

03

Option A: Wellue O2Ring

The O2Ring stores nights on the ring and syncs to the ViHealth app. The export is a CSV per night.

  1. Open the Wellue app and connect the ring.

  2. Find the night in the history list and open it.

  3. Tap Share or Export and choose CSV.

  4. Save the file somewhere you can reach from a browser: Files on iPhone, Downloads on Android, or send it to yourself.

  5. Sign in at my.apnealytics.com, open the night in Nights, and choose Add oximetry.

  6. Upload the CSV. Apnealytics reads the timestamps and aligns the trace to the therapy session.

  7. Check the alignment. The pulse trace usually shows a clear rise when you wake; it should line up with the end of the airflow trace.

The O2Ring also records its own motion data. Apnealytics uses SpO₂ and pulse and ignores the rest.

04

Option B: Contec CMS50 family (CMS50D+, CMS50E, CMS50F, CMS50I and relatives)

These finger oximeters store the night internally and export through the manufacturer's desktop software (SpO2 Assistant or SpO2 Review, depending on model) or a third-party app.

Option B: Contec CMS50 family (CMS50D+, CMS50E, CMS50F, CMS50I and relatives)
  1. Connect the oximeter to your computer by USB, or by Bluetooth on models that have it.

  2. Open the Contec software and download the stored recording.

  3. Export as CSV. If the software offers only its own format, look for a "Save as" or "Export data" option that lists CSV.

  4. Open the night in Apnealytics and choose Add oximetry.

  5. Upload the CSV. Apnealytics expects columns for time, SpO₂ and pulse; the header names vary by model and the importer looks for the common ones. If it cannot find them, it shows you the first rows and asks you to point to the right columns.

  6. Check alignment as above.

Note the model name in the Gear section so the oximeter appears in your accessories list and the import defaults to the right column mapping next time.

05

Option C: ResMed SAD.edf on the machine's SD card

Some ResMed machines accept a compatible oximeter through an adapter and write the SpO₂ and pulse traces to the SD card as SAD.edf inside the night's DATALOG folder. If yours does, there is no separate import.

  1. Upload your SD card as usual on the Import page.

  2. Apnealytics detects SAD.edf for each night that has one and overlays it automatically.

  3. Open the night and the SpO₂ lane is already there.

This is the easiest path when it is available, because the machine and oximeter share a clock, so alignment is exact.

06

Option D: any other oximeter that exports EDF or CSV

If your device is not one of the above but can export EDF or CSV, upload it the same way as Option B. EDF files carry their own channel labels and timestamps and usually import without mapping. CSV files may need the column-mapping step.

07

Reading the result

Three things to look at the first time:

  1. Do desaturations follow events?

    Drag the crosshair across a cluster of hypopneas. A dip of 3 or 4 points a few seconds later is the expected pattern. Events with no desaturation are less concerning; desaturations with no events are worth a note.

  2. ODI versus AHI.

    If they are close, the machine's event count is a fair proxy for what reached your blood. If ODI is well above AHI, discuss it with your clinician.

  3. T90.

    Near zero is the aim. Minutes below 90 percent, especially in one stretch, is worth showing to your clinician alongside the therapy chart.

Also check for artifact. A finger oximeter that slips shows as a sudden drop to an implausible number with pulse dropping out at the same moment. Apnealytics marks stretches with missing pulse as low confidence; ODI and T90 exclude them.

08

How often to wear it

Nightly if you are investigating something. Otherwise one week a quarter is enough for most people to confirm nothing has shifted. Apple Health / Health Connect SpO₂ averages (free) fill the gaps in between at a daily-summary level, without the per-event detail.

FAQ

Questions people ask

Which oximeters work with Apnealytics?

On Pro: the Wellue O2Ring, Contec CMS50-family finger oximeters via CSV export, ResMed SAD.edf written to the machine's SD card, and any oximeter that exports EDF or CSV. Apnealytics overlays SpO₂ and pulse on the night and calculates ODI₃, ODI₄ and T90.

Does the oximeter need to be the same brand as my CPAP?

No. The oximeter records to its own file with its own timestamps, and Apnealytics aligns the two by time. The one case where brand matters is ResMed's SAD.edf, where the machine itself records a connected oximeter and no separate import is needed.

Why is my SpO₂ trace offset from my CPAP events?

The oximeter's clock is probably off. Both devices stamp their own data, so a one-hour clock difference becomes a one-hour offset. Sync the oximeter's clock from your phone before the next night. For the current night, Apnealytics lets you nudge the trace by a fixed offset after import.

What is a normal ODI on CPAP?

ODI tracks AHI fairly closely in most people on effective therapy, so an ODI₃ under 5 is in the same territory as a good AHI. There is no single normal; the useful comparison is your ODI against your AHI and your T90 against zero. Discuss persistent gaps with your clinician.

Can I see oximeter data on the free plan?

Per-night oximetry overlay with ODI and T90 is a Pro feature. The free plan shows daily SpO₂ averages and lows from Apple Health or Health Connect in the Vitals tiles, which is useful for trend but does not line up individual desaturations with events.

Ready for a clearer picture of your nights?

The web app is live today. iPhone and iPad are on the App Store. Android is on Google Play. Your first 30 nights are free, forever.

Apnealytics in use