I am looking for any information and/or ideas people may have about the file formats of the files created by the Philips Respironics System One REMstar Pro C-Flex+ CPAP machine.
I have recently been diagnosed with Sleep Apnea and have started using a REMstar Pro C-Flex+ machine. I looked into getting the software (Encore) for analyzing the therapy data that the machine records during operation, but found it to be too expensive. I also feel that the software should come with the machine and don't feel that it would be right to pay for it on top of the price of the machine. I found a free program called MyEncore but it requires the Encore software to already be present, apparently because it just visualizes data that Encore has generated after analyzing the raw files created by the machine.
I decided to take a look at the files produced by the machine, so I read the contents of the SD card onto a computer (the SD card used by the machine has a standard UDF filesystem on it). I found the following structure:
The content of some of these files is easy to determine:
<serial number>: The letter "P" followed by a 12 digit hex number.
last.txt: Pointer to the <serial number> folder where current records are stored.
propterties.txt: Human readable list of unit specific values: SerialNumber, ModelNumber, ProductType, DataFormat, DataFormatVersion, Family, FamilyVersion, SoftwareVersion, FirstDate, LastDate=, BasicKey, DetailsKey, ErrorKey, PatientFolderNum, PatientFileNum, EquipFileNum, ValidCheck
.005: A series of 1-byte signed integer samples.
Each set of files consists of a .001, a .002 and a .005 file. I presume that each set consists of what the machine considers a therapy session. That is, from usage starts and until it stops or until the Ramp button is pushed.
The main bulk of data is stored in the .005 files. A quick look at these files in a hex editor showed what looked like a 24 byte header followed by a series of 1-byte signed integers. This file can be imported into audio editors such as Audacity using the raw import function and setting the sample size to 1-byte signed integers. The resulting curve shows was looks like breathing patterns, so presumably the samples are from the pressure in the machine.
I have not looked closely at the header data in the .005 files or the data in the .001 and .002 files, but this data looks like it will be much harder to reverse engineer than the sample data in the .005 files. Since the sample data is unencrypted, I don't think any of the other data is encrypted either.
Any feedback and speculation on the contents of these files is welcome. Some questions are:
- Since metrics such as Periodic Breathing and AHI is provided in the user interface, the machine must do some of the analysis of the raw data on board. Is this analysis data also stored on the card and if so, what is the format?
- What, if any, analysis is not performed on board, but by the Encore software?
- Which other data does the machine store on the card?
- What are the algorithms that the machine uses for turning raw sample data into therapy metrics such as Periodic Breathing and AHI?