RustXMLParseTest/CNIBPFamily.xml
Kyle Kiteveles b87eb06a11 Finished parsing, multi-threading, and file write.
Message and Object write string creation added but need to be checked.
2023-08-14 12:59:03 -04:00

641 lines
No EOL
35 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<FAMILY name="FmNIBP">
<!--====================================-->
<!--Species Key Reference -->
<!-- ====================================-->
<SPECIES_KEY>
<GENUS name="GnDATA">
<SPECIES name="SpSTANDARD" defaultvalue="0"/>
<SPECIES name="SpDATA" defaultvalue="1"/>
<SPECIES name="SpENGCHUNK" defaultvalue="2"/>
<SPECIES name="SpEVENTCHUNK" defaultvalue="3"/>
<SPECIES name="SpHARDWARESTATE" defaultvalue="4"/>
<SPECIES name="SpLOCK" defaultvalue="5"/>
<SPECIES name="SpRAWDATA" defaultvalue="6"/>
<SPECIES name="SpPRESSUREDATA" defaultvalue="7"/>
<SPECIES name="SpSTATUS" defaultvalue="8"/>
<SPECIES name="SpDATAMODIFIED" defaultvalue="9" />
</GENUS>
<GENUS name="GnCONFIG">
<SPECIES name="SpSTANDARD" defaultvalue="0"/>
<SPECIES name="SpDATA" defaultvalue="1"/>
<SPECIES name="SpCALIBRATION" defaultvalue="2"/>
</GENUS>
<GENUS name="GnPARAMETER">
<SPECIES name="SpDATA" defaultvalue="1"/>
<SPECIES name="SpSELECTOR" defaultvalue="2" comment="Used to indicate that the Value is a selector"/>
<SPECIES name="SpCHUNK_SELECTOR" defaultvalue="3" comment="Used to indicate that the Value is a chunk selector"/>
</GENUS>
<GENUS name="GnDATAEXT">
<SPECIES name="SpSTANDARD" defaultvalue="0"/>
</GENUS>
</SPECIES_KEY>
<!--Platform BP Objects-->
<!--BP Status-->
<DEFINITION class="CNIBPDStatus" abrv="CNBPDST" version="200" family="FmNIBP" genus="GnDATA" species="SpSTATUS">
<MEMBERS>
<MEMBER type="uint16" name="moduleState" minversion="100" maxversion="CURRENT_VERSION" comment="Value describing the current state of the module"/>
<MEMBER type="uint16" name="error" minversion="100" maxversion="CURRENT_VERSION" comment="Error state of the module 0 = no error, anything else the module is in error. Request CErrEStd for the Platform error object."/>
<MEMBER type="uint16" name="hardwareStates" minversion="100" maxversion="CURRENT_VERSION" comment="Hardware states {0 - FALSE, 1 - TRUE}"/>
<MEMBER type="uint16" name="safetyStates" minversion="100" maxversion="CURRENT_VERSION" comment="Safety states"/>
<MEMBER type="int16" name="cuffPressure" minversion="100" maxversion="CURRENT_VERSION" comment="Scale/Units: 0.01 mmHg"/>
<MEMBER type="int16" name="batVoltage" minversion="100" maxversion="CURRENT_VERSION" comment="Scale/Units: 0.001 volts"/>
<MEMBER type="int16" name="ambTemp" minversion="100" maxversion="CURRENT_VERSION" comment="Scale/Units: 0.1 degrees C"/>
<MEMBER type="int16" name="statusType" minversion="200" maxversion="CURRENT_VERSION" comment="The status type"/>
</MEMBERS>
<ENUMERATION name="moduleState">
<ENUM name="IDLE" defaultvalue="0" comment="Device idle, cuff-deflating, no cycles active"/>
<ENUM name="AUTOZERO" defaultvalue="1" comment="Auto-zeroing the transducers"/>
<ENUM name="INFLATING" defaultvalue="2" comment="Inflating the BP cuff"/>
<ENUM name="STABILIZING" defaultvalue="3" comment="Waiting for the pressure to stabilize"/>
<ENUM name="BLEEDING" defaultvalue="4" comment="Controlled deflations"/>
<ENUM name="DUMPING" defaultvalue="5" comment="Fast deflating getting below residual pressure limit"/>
<ENUM name="REPUMP" defaultvalue="6" comment="Re-inflating the cuff"/>
<ENUM name="ERROR" defaultvalue="7" comment="There is a POST or safety error"/>
<ENUM name="BOOT" defaultvalue="8" comment="Boot-loader is active"/>
<ENUM name="POST" defaultvalue="9" comment="In POST"/>
</ENUMERATION>
<ENUMERATION name="hardwareState">
<ENUM name="valveClosed" defaultvalue="32768" comment="bit 15 - valve state"/>
<ENUM name="pumpOn" defaultvalue="16384" comment="bit 14 - pump state"/>
<ENUM name="ECGPulseReceived" defaultvalue="8192" comment="bit 13 - ECG synchronization pulse received"/>
<ENUM name="savingCal" defaultvalue="4096" comment="bit 12 - Saving the cal record to nonvolatile memory"/>
<ENUM name="savingSettings" defaultvalue="2048" comment="bit 11 - Saving the settings record to nonvolatile memory"/>
<ENUM name="SingleLHoseConnect" defaultvalue="1024" comment="bit 10 - Single Lumen Hose Connected"/>
</ENUMERATION>
<ENUMERATION name="safetyStates">
<ENUM name="belowResidual" defaultvalue="32768" comment="bit 15 - is pressure below residual"/>
<ENUM name="longAutoTimerClear" defaultvalue="16384" comment="bit 14 - has enough time passed since last cycle"/>
<ENUM name="statAutoTimerClear" defaultvalue="8192" comment="bit 13 - has enough time passed since last cycle"/>
<ENUM name="failsafeFault" defaultvalue="4096" comment="bit 12 - has enough time passed since last cycle"/>
<ENUM name="autoZeroFault" defaultvalue="2048" comment="bit 11 - has enough time passed since last cycle"/>
<ENUM name="transducerFault" defaultvalue="1024" comment="bit 10 - has enough time passed since last cycle"/>
</ENUMERATION>
<ENUMERATION name="statusType">
<ENUM name="NONE" defaultvalue="0" comment="Not specified"/>
<ENUM name="PRIMARY" defaultvalue="1" comment="Primary processor status"/>
<ENUM name="SECONDARY" defaultvalue="2" comment="Secondary processor status"/>
</ENUMERATION>
<SPECIES_TABLE>
<SPECIES name="SpSTATUS" defaultvalue="8"/>
</SPECIES_TABLE>
</DEFINITION>
<!--BP Calibration-->
<DEFINITION class="CNIBPCCal" abrv="CNBPCCL" version="100" family="FmNIBP" genus="GnCONFIG" species="SpCALIBRATION">
<MEMBERS>
<MEMBER type="uint8" name="calType" minversion="100" maxversion="CURRENT_VERSION" comment="The calibration type."/>
<MEMBER type="int32" name="calSignature" minversion="100" maxversion="CURRENT_VERSION" comment="The calibration signature"/>
<MEMBER type="TIME" name="calDateTime" minversion="100" maxversion="CURRENT_VERSION" comment="The calibration date and time"/>
<MEMBER type="int16" name="modConfig" minversion="100" maxversion="CURRENT_VERSION" comment="The module configuration bits"/>
<MEMBER type="int16" name="spanCorr" minversion="100" maxversion="CURRENT_VERSION" comment="The transducer span correction factor"/>
<MEMBER type="int16" name="zeroCorr" minversion="100" maxversion="CURRENT_VERSION" comment="The transducer zero correction factor"/>
<MEMBER type="int16" name="battCal" minversion="100" maxversion="CURRENT_VERSION" comment="The battery calibration signature"/>
<MEMBER type="int16" name="tempCal" minversion="100" maxversion="CURRENT_VERSION" comment="The temperature calibration value"/>
</MEMBERS>
<ENUMERATION name="calType">
<ENUM name="NONE" defaultvalue="0" comment="Not specified"/>
<ENUM name="PRIMARY" defaultvalue="1" comment="Primary calibration"/>
<ENUM name="SECONDARY" defaultvalue="2" comment="Secondary calibration"/>
</ENUMERATION>
<SPECIES_TABLE>
<SPECIES name="SpCALIBRATION" defaultvalue="2"/>
</SPECIES_TABLE>
</DEFINITION>
<!--Engineering Chunk Data/Event log-->
<DEFINITION class="CNIBPDChunk" abrv="CNBPDCHK" version="100" family="FmNIBP" genus="GnDATA" species="SpENGCHUNK">
<MEMBERS>
<MEMBER type="int8" name="tag" size="4" minversion="100" maxversion="CURRENT_VERSION" comment="The 4 character tag code"/>
<MEMBER type="uint16" name="chunkId" minversion="100" maxversion="CURRENT_VERSION" comment="The identifier for the chunk we want"/>
<MEMBER type="uint16" name="chunkIndex" minversion="100" maxversion="CURRENT_VERSION" comment="The index of chunks for this device"/>
<MEMBER type="uint8" name="chunkData" size="100" minversion="100" maxversion="CURRENT_VERSION" comment="The actual chunk data"/>
</MEMBERS>
<SPECIES_TABLE>
<SPECIES name="SpENGCHUNK" defaultvalue="2"/>
<SPECIES name="SpEVENTCHUNK" defaultvalue="3"/>
</SPECIES_TABLE>
</DEFINITION>
<!--Hardware State-->
<DEFINITION class="CNIBPDHState" abrv="CNBPDHST" version="100" family="FmNIBP" genus="GnDATA" species="SpHARDWARESTATE">
<MEMBERS>
<MEMBER type="int16" name="hardware" minversion="100" maxversion="CURRENT_VERSION" comment="The index of the hardware to get/set the state of"/>
<MEMBER type="int16" name="state" minversion="100" maxversion="CURRENT_VERSION" comment="The state of the hardware"/>
</MEMBERS>
<ENUMERATION name="hardware">
<ENUM name="PRIM_VALVE" defaultvalue="0" comment="The primary valve"/>
<ENUM name="SEC_VALVE" comment="The secondary valve"/>
<ENUM name="PUMP" comment="The pump"/>
</ENUMERATION>
<SPECIES_TABLE>
<SPECIES name="SpHARDWARESTATE" defaultvalue="4"/>
</SPECIES_TABLE>
</DEFINITION>
<!--Device Test Locks-->
<DEFINITION class="CNIBPDLock" abrv="CNBPDLCK" version="100" family="FmNIBP" genus="GnDATA" species="SpLOCK">
<MEMBERS>
<MEMBER type="int16" name="lock" minversion="100" maxversion="CURRENT_VERSION" comment="The lock to get/set"/>
<MEMBER type="int8" name="state" minversion="100" maxversion="CURRENT_VERSION" comment="state The state of the lock"/>
</MEMBERS>
<ENUMERATION name="lock">
<ENUM name="AMB_TEMP_CHECK" defaultvalue="0" comment="Locks the ambient temperature check"/>
<ENUM name="PRIM_SAFETY_CHECK" comment="Locks the primary processors safety checks"/>
<ENUM name="SAFE_SAFETY_CHECK" comment="Locks the safety processors safety checks"/>
<ENUM name="SINGLE_LUMEN_CHECK" comment="Locks the single lumen detection test"/>
<ENUM name="AD_CHANNEL" comment="Locks the AD channel"/>
<ENUM name="FAILSAFE_TEST_MODE" comment="Locks the failsafe test mode"/>
</ENUMERATION>
<SPECIES_TABLE>
<SPECIES name="SpLOCK" defaultvalue="5"/>
</SPECIES_TABLE>
</DEFINITION>
<!--AD Raw Data-->
<DEFINITION class="CNIBPDRData" abrv="CNIBPDRDT" version="100" family="FmNIBP" genus="GnDATA" species="SpRAWDATA">
<MEMBERS>
<MEMBER type="uint32" name="raw5V" minversion="100" maxversion="CURRENT_VERSION" comment="The raw counts of the 5V/2 rail"/>
<MEMBER type="uint32" name="raw1V" minversion="100" maxversion="CURRENT_VERSION" comment="The raw counts for the 1V rail"/>
<MEMBER type="uint32" name="raw2V" minversion="100" maxversion="CURRENT_VERSION" comment="The raw counts for the 2V rail"/>
<MEMBER type="uint32" name="raw4V" minversion="100" maxversion="CURRENT_VERSION" comment="The raw counts for the 4V rail"/>
<MEMBER type="int16" name="rawBat" minversion="100" maxversion="CURRENT_VERSION" comment="The raw battery counts"/>
<MEMBER type="uint32" name="rawAmbTemp" minversion="100" maxversion="CURRENT_VERSION" comment="The raw ambient temperature counts"/>
<MEMBER type="uint32" name="rawPrimTrans" minversion="100" maxversion="CURRENT_VERSION" comment="The raw primary transducer counts"/>
<MEMBER type="int16" name="rawSecTrans" minversion="100" maxversion="CURRENT_VERSION" comment="The raw secondary transducer counts"/>
<MEMBER type="int16" name="rawSecBat" minversion="100" maxversion="CURRENT_VERSION" comment="The raw secondary battery counts"/>
<MEMBER type="int16" name="rawSecCorr" minversion="100" maxversion="CURRENT_VERSION" comment="The raw secondary correction factor counts"/>
</MEMBERS>
<SPECIES_TABLE>
<SPECIES name="SpRAWDATA" defaultvalue="6"/>
</SPECIES_TABLE>
</DEFINITION>
<!--Pressure Data-->
<DEFINITION class="CNIBPDPData" abrv="CNIBPDPDT" version="100" family="FmNIBP" genus="GnDATA" species="SpPRESSUREDATA">
<MEMBERS>
<MEMBER type="int16" name="primPress" minversion="100" maxversion="CURRENT_VERSION" comment="The primary pressure transducer pressure"/>
<MEMBER type="int16" name="primPressNoise" minversion="100" maxversion="CURRENT_VERSION" comment="The primary pressure transducer noise value"/>
<MEMBER type="int16" name="primAzeroOffset" minversion="100" maxversion="CURRENT_VERSION" comment="The primary pressure transducer autozero offset"/>
<MEMBER type="int16" name="secPress" minversion="100" maxversion="CURRENT_VERSION" comment="The secondary pressure transducer pressure"/>
<MEMBER type="int16" name="secPressNoise" minversion="100" maxversion="CURRENT_VERSION" comment="The secondary pressure transducer noise value"/>
<MEMBER type="int16" name="secAzeroOffset" minversion="100" maxversion="CURRENT_VERSION" comment="The secondary pressure transducer autozero offset"/>
</MEMBERS>
<SPECIES_TABLE>
<SPECIES name="SpPRESSUREDATA" defaultvalue="7"/>
</SPECIES_TABLE>
</DEFINITION>
<!--Formerly CNIBPPConfigStart - BP parameter-->
<DEFINITION class="CNIBPPData" abrv="CNBPPDTA" version="200" family="FmNIBP" genus="GnPARAMETER" species="SpDATA">
<MEMBERS>
<MEMBER type="int16" name="targPress" minversion="200" maxversion="CURRENT_VERSION"
comment="The default adult target pressure (0 equals default)"/>
<!-- Adult Range: 80 mmHg to 280 mmHg
Ped Range: 80 mmHg to 20 mmHg less than ped Max Press Limit
Neo Range; 50 mmHg to 130 mmHg
-->
<MEMBER type="int8" name="patientMode" minversion="200" maxversion="CURRENT_VERSION"
comment="The default patient mode for the sensor"/>
<MEMBER type="int8" name="cycleMode" minversion="200" maxversion="CURRENT_VERSION"
comment="Specifies the type of cycle to perform"/>
<MEMBER type="int8" name="algorithm" minversion="200" maxversion="CURRENT_VERSION"
comment="The algorithm to use"/>
<MEMBER type="int8" name="disableNeoCheck" minversion="200" maxversion="CURRENT_VERSION"
comment="This value specifies whether the neonate protection check is enabled in adult mode"/>
<MEMBER type="boolean" name="firstReading" minversion="200" maxversion="CURRENT_VERSION"
comment="Indicates if this is the first reading of the sequence."/>
</MEMBERS>
<ENUMERATION name="patientMode">
<ENUM name="DEFAULT" defaultvalue="0" comment="Use the default option"/>
<ENUM name="ADULT" comment="The adult patient mode (greater than 29 days)"/>
<ENUM name="PEDIATRIC" comment="The pediatric patient mode (age TBD (subset of adult)))"/>
<ENUM name="NEONATE" comment="The neonate patient mode (less than 29 days)"/>
</ENUMERATION>
<ENUMERATION name="cycleMode">
<ENUM name="MANUAL" defaultvalue="0" comment="Manual reading (user initiated)"/>
<ENUM name="LONG_AUTO" comment="Long term automatic mode cycle"/>
<ENUM name="STAT" comment="Short term automatic mode"/>
</ENUMERATION>
<ENUMERATION name="algorithm">
<ENUM name="DEFAULT" defaultvalue="0" comment="Use the default option"/>
<ENUM name="FAST_BP" comment="The fast BP algorithm valid for adults and peds"/>
<ENUM name="STEP_BP" comment="The step BP algorithm valid for adults and peds)"/>
<ENUM name="NEO_BP" comment="The neonate BP algorithm valid for neonates"/>
</ENUMERATION>
<SPECIES_TABLE>
<SPECIES name="SpDATA" defaultvalue="1"/>
</SPECIES_TABLE>
</DEFINITION>
<!--Formerly CNIBPCSettings - BP Settings-->
<DEFINITION class="CNIBPCData" abrv="CNBPCDTA" version="200" family="FmNIBP" genus="GnCONFIG" species="SpDATA">
<MEMBERS>
<MEMBER type="int16" name="dfltAdultTargPress" minversion="200" maxversion="CURRENT_VERSION"
comment="The default adult target pressure, Range: 80 mmHg to 280 mmHg"/>
<MEMBER type="int16" name="dfltPedTargPress" minversion="200" maxversion="CURRENT_VERSION"
comment="The default pediatric target pressure, Range: 80 mmHg to 20 mmHg less than ped Max pressure limit"/>
<MEMBER type="int16" name="dfltNeoTargPress" minversion="200" maxversion="CURRENT_VERSION"
comment="The default neonate target pressure, Range: 50 mmHg to 130 mmHg"/>
<MEMBER type="int16" name="pedMaxPressLimit" minversion="200" maxversion="CURRENT_VERSION"
comment="The pediatric maximum pressure limit, Range: 100 mmHg to 300 mmHg"/>
<MEMBER type="int16" name="residualMaxPressLimit" minversion="200" maxversion="CURRENT_VERSION"
comment="The pediatric residual pressure limit, Range: 90 seconds to 150 seconds"/>
<MEMBER type="int8" name="dfltPatientMode" minversion="200" maxversion="CURRENT_VERSION"
comment="The default patient mode for the sensor"/>
<MEMBER type="int8" name="dfltAdultAlg" minversion="200" maxversion="CURRENT_VERSION"
comment="The default adult algorithm, use dfltAlg"/>
<MEMBER type="int8" name="dfltPedAlg" minversion="200" maxversion="CURRENT_VERSION"
comment="The default pediatric algorithm, use dfltAlg"/>
<MEMBER type="int8" name="dfltNeoAlg" minversion="200" maxversion="CURRENT_VERSION"
comment="The default neonate algorithm, use dfltAlg"/>
<MEMBER type="boolean" name="SAOEnabled" minversion="200" maxversion="CURRENT_VERSION"
comment="True indicates SAO algorithms are enabled"/>
</MEMBERS>
<ENUMERATION name="dfltPatientMode">
<ENUM name="ADULT" defaultvalue="0" comment="The adult patient mode (greater than 29 days)"/>
<ENUM name="PEDIATRIC" comment="The pediatric patient mode (age TBD (subset of adult)))"/>
<ENUM name="NEONATE" comment="The neonate patient mode (less than 29 days)"/>
</ENUMERATION>
<ENUMERATION name="dfltAlg">
<ENUM name="FAST_BP" defaultvalue="0" comment="The fast BP algorithm valid for adults and peds"/>
<ENUM name="STEP_BP" comment="The step BP algorithm valid for adults and peds"/>
<ENUM name="NEO_BP" comment="The neonate BP algorithm valid for neonates"/>
</ENUMERATION>
<SPECIES_TABLE>
<SPECIES name="SpDATA" defaultvalue="1"/>
</SPECIES_TABLE>
</DEFINITION>
<!--BP Reading -->
<DEFINITION class="CNIBPDData" abrv="CNBPDDTA" version="201" family="FmNIBP" genus="GnDATA" species="SpDATA">
<MEMBERS>
<MEMBER type="int16" name="Status" minversion="200" maxversion="CURRENT_VERSION"
comment="The status for the entire reading"/>
<MEMBER type="OBJECT" class="CNumDStd" name="Systolic" minversion="200" maxversion="CURRENT_VERSION"
comment="Systolic BP {in 0.01 mmHg units}"/>
<MEMBER type="OBJECT" class="CNumDStd" name="Diastolic" minversion="200" maxversion="CURRENT_VERSION"
comment="Diastolic BP {in 0.01 mmHg units}"/>
<MEMBER type="OBJECT" class="CNumDStd" name="MAP" minversion="200" maxversion="CURRENT_VERSION"
comment="Mean Art. Pressure {in 0.01 mmHg units}"/>
<MEMBER type="OBJECT" class="CNumDStd" name="PR" minversion="200" maxversion="CURRENT_VERSION"
comment="NIBP Pulse Rate (in Beats/Minute units}"/>
</MEMBERS>
<ENUMERATION name="Status">
<ENUM name="RD_OK" defaultvalue="0" comment="Reading is okay"/>
<ENUM name="RD_ABORT" comment="Reading aborted"/>
<ENUM name="RD_NOT_AVAIL" comment="Reading is not yet available"/>
<ENUM name="RD_SPLAT" comment="Reading splat"/>
<ENUM name="RD_ARTIFACT" comment="Too much artifact to calculate a reading"/>
<ENUM name="RD_LOW_INFLAT" comment="Reading couldn't be obtained because a high enough inflation couldn't be reached"/>
<ENUM name="RD_KINKED_TUBE" comment="Inflation was too quick check for a kinked hose"/>
<ENUM name="RD_EARLY_DUMP" comment="Reading couldn't be obtained because the system dumped too soon"/>
<ENUM name="RD_NOT_ENOUGH_DATA" comment="Not enough data could be obtained"/>
<ENUM name="RD_PATIENT_INVALID" comment="The patient is outside of the modules capability to measure"/>
<ENUM name="RD_REINF_TOO_LATE" comment="The device needed to re-inflate after it was safe"/>
<ENUM name="RD_REINF_LIMIT" comment="Too many re-inflates requested"/>
<ENUM name="RD_BLEED" comment="Pressure could not be bleed below SVRP"/>
<ENUM name="RD_LEAK" comment="An air leak has been detected"/>
<ENUM name="RD_SAFETY_FAULT" comment="An air leak has been detected"/>
<ENUM name="RD_ZERO_FAULT" comment="Transducers could not be zeroed" /> <!-- Added version 201 of object -->
</ENUMERATION>
<!-- ======= -->
<!-- Species -->
<!-- ======= -->
<SPECIES_TABLE>
<SPECIES name="SpDATA" defaultvalue="1"/>
</SPECIES_TABLE>
</DEFINITION>
<DEFINITION class="CNIBPDDataModified" abrv="CNBPDDTAM" version="202" family="FmNIBP" genus="GnDATA" species="SpDATAMODIFIED">
<MEMBERS>
<MEMBER type="OBJECT" name="NIBPData" class="CNIBPDData" minversion="100" maxversion="CURRENT_VERSION" />
<MEMBER type="uint16" name="Status" minversion="100" maxversion="CURRENT_VERSION" comment="DATA_NOT_AVAIL, DATA_COMPLETE, etc" />
<MEMBER type="TIME" name="STime" minversion="100" maxversion="CURRENT_VERSION" comment="Time reading was taken. Host specified. Not Sensor." />
<MEMBER type="uint8" name="Mode" minversion="100" maxversion="CURRENT_VERSION" comment="Mode of operation"/>
<MEMBER type="uint16" name="PatientPosition" minversion="100" maxversion="CURRENT_VERSION" comment="Describes the patient's position during reading, Sitting, Standing, etc." />
<MEMBER type="uint16" name="CuffSize" minversion="100" maxversion="CURRENT_VERSION" comment="Describes what size cuff was on the patient during the reading." />
<MEMBER type="uint16" name="CuffLocation" minversion="100" maxversion="CURRENT_VERSION" comment="Describes where on the patient the cuff was located during the reading." />
<MEMBER type="uint16" name="Source" minversion="201" maxversion="CURRENT_VERSION" comment="Source of data"/>
<MEMBER type="uint8" name="Method" minversion="201" maxversion="CURRENT_VERSION" comment="Method used"/>
</MEMBERS>
<ENUMERATION name="Status">
<!-- ====== -->
<!-- Status -->
<!-- ====== -->
<!-- Generic Status codes -->
<ENUM name="DATA_NOT_AVAIL" defaultvalue="0" />
<ENUM name="DATA_COMPLETE" />
<ENUM name="DATA_FAILURE" />
<ENUM name="DATA_EXCEPTION" />
<ENUM name="DATA_PROCESSING" />
</ENUMERATION>
<ENUMERATION name="Mode">
<!-- ===== -->
<!-- Mode -->
<!-- ===== -->
<ENUM name="NONE" defaultvalue="0"/>
<ENUM name="UNKNOWN"/>
<ENUM name="ADULT" defaultvalue="10"/>
<ENUM name="NEONATAL"/>
<ENUM name="PEDIATRIC"/>
</ENUMERATION>
<ENUMERATION name="PatientPosition">
<!-- =========== -->
<!-- PatientPosition -->
<!-- =========== -->
<!-- Generic PatientPosition codes -->
<ENUM name="NONE" defaultvalue="0" />
<ENUM name="UNKNOWN" />
<ENUM name="LYING" />
<ENUM name="SITTING" />
<ENUM name="STANDING" />
</ENUMERATION>
<ENUMERATION name="CuffSize">
<!-- ====== -->
<!-- CuffSize -->
<!-- ====== -->
<!-- Generic CuffSize codes -->
<ENUM name="NONE" defaultvalue="0" />
<ENUM name="UNKNOWN" />
<ENUM name="NEONATAL_1" />
<ENUM name="NEONATAL_2" />
<ENUM name="NEONATAL_3" />
<ENUM name="NEONATAL_4" />
<ENUM name="NEONATAL_5" />
<ENUM name="SMALL_INFANT" />
<ENUM name="INFANT" />
<ENUM name="SMALL_CHILD" />
<ENUM name="CHILD" />
<ENUM name="SMALL_ADULT" />
<ENUM name="ADULT" />
<ENUM name="ADULT_LONG" />
<ENUM name="LARGE_ADULT" />
<ENUM name="LARGE_ADULT_LONG" />
<ENUM name="THIGH" />
</ENUMERATION>
<ENUMERATION name="CuffLocation">
<!-- ========= -->
<!-- CuffLocation -->
<!-- ========= -->
<!-- Generic CuffLocation codes -->
<ENUM name="NONE" defaultvalue="0" />
<ENUM name="UNKNOWN" />
<ENUM name="LEFT_ARM" />
<ENUM name="RIGHT_ARM" />
<ENUM name="LEFT_LEG" />
<ENUM name="RIGHT_LEG" />
</ENUMERATION>
<ENUMERATION name="Source">
<!-- Extended Status codes when Status is Data Failure or Data Exception -->
<!-- ====== -->
<!-- Source -->
<!-- ====== -->
<!-- Generic Source codes -->
<ENUM name="NONE" defaultvalue="0"/>
<ENUM name="UNKNOWN"/>
<!-- Class Source codes begin at 10 -->
<ENUM name="CVSM" defaultvalue="10"/>
<ENUM name="MODB"/>
<ENUM name="MODF"/>
<ENUM name="POEM"/>
<ENUM name="MODG"/>
</ENUMERATION>
<ENUMERATION name="Method">
<!-- ====== -->
<!-- Method -->
<!-- ====== -->
<!-- Generic Method codes -->
<ENUM name="NONE" defaultvalue="0"/>
<ENUM name="UNKNOWN"/>
<ENUM name="MANUAL"/>
<ENUM name="DEVICE"/>
<ENUM name="REMOTE"/>
<!-- Class Method codes begin at 10 -->
<ENUM name="FAST_BP" defaultvalue="10"/>
<ENUM name="STEP_BP"/>
<ENUM name="NEONATAL_STEP_BP"/>
<ENUM name="LINEAR_DEFLATION_BP"/>
<!--Added v202-->
<ENUM name="AVERAGE_BP"/>
</ENUMERATION>
<SPECIES_TABLE>
<SPECIES name="SpDATAMODIFIED" defaultvalue="9" />
</SPECIES_TABLE>
</DEFINITION>
<DEFINITION class="CNIBPPChunkSelector" abrv="CNBPPCHK" version="200" family="FmNIBP" genus="GnPARAMETER" species="SpCHUNK_SELECTOR">
<MEMBERS>
<MEMBER type="uint32" name="chunk" minversion="200" maxversion="CURRENT_VERSION" comment="Value is used to specify Max Chunk ID when used with SpRESULT "/>
<MEMBER type="uint32" name="index" minversion="200" maxversion="CURRENT_VERSION" comment="Value is used to specify the index of the chunk we want to recieve"/>
</MEMBERS>
<SPECIES_TABLE>
<SPECIES name="SpCHUNK_SELECTOR" defaultvalue="3" comment="Used to indicate that the Value is a chunk selector"/>
</SPECIES_TABLE>
</DEFINITION>
<DEFINITION class="CNIBPPSelector" abrv="CNBPPSEL" version="200" family="FmNIBP" genus="GnPARAMETER" species="SpSELECTOR">
<MEMBERS>
<MEMBER type="uint32" name="Value" minversion="200" maxversion="CURRENT_VERSION" comment="Value is used to specify the desired option when needed."/>
</MEMBERS>
<SPECIES_TABLE>
<SPECIES name="SpSELECTOR" defaultvalue="2" comment="Used to indicate that the Value is a selector"/>
</SPECIES_TABLE>
</DEFINITION>
<!--====================================-->
<!--GnDATA-->
<!--==================================== -->
<DEFINITION class="CNIBPDStd" abrv="CNBPDSTD" version="106" family="FmNIBP" genus="GnDATA" species="SpSTANDARD">
<MEMBERS>
<!-- Version 001 -->
<MEMBER type="TIME" name="STime" minversion="100" maxversion="CURRENT_VERSION" comment="Time reading was taken"/>
<MEMBER type="uint16" name="Status" minversion="100" maxversion="CURRENT_VERSION" comment="DATA_NOT_AVAIL, DATA_AVAIL, etc"/>
<MEMBER type="int16" name="Systolic" minversion="100" maxversion="CURRENT_VERSION" comment="Systolic BP {in 0.01 mmHg units}"/>
<MEMBER type="int16" name="Diastolic" minversion="100" maxversion="CURRENT_VERSION" comment="Diastolic BP {in 0.01 mmHg units}"/>
<MEMBER type="int16" name="MAP" minversion="100" maxversion="CURRENT_VERSION" comment="Mean Arterial Pressre {in 0.01 mmHg units}"/>
<MEMBER type="uint16" name="HR" minversion="100" maxversion="CURRENT_VERSION" comment="NIBP Heart Rate (in BPM (Beats/Minute) units}"/>
<!-- Version 002 -->
<MEMBER type="uint16" name="ExtStatus" minversion="100" maxversion="CURRENT_VERSION" comment="Extended status/error code"/>
<MEMBER type="uint16" name="Source" minversion="100" maxversion="CURRENT_VERSION" comment="Source of data"/>
<MEMBER type="uint8" name="Mode" minversion="100" maxversion="CURRENT_VERSION" comment="Mode of operation"/>
<MEMBER type="uint8" name="Method" minversion="100" maxversion="CURRENT_VERSION" comment="Method used"/>
</MEMBERS>
<ENUMERATION name="Status">
<!-- ====== -->
<!-- Status -->
<!-- ====== -->
<!-- Generic Status codes -->
<ENUM name="DATA_NOT_AVAIL" defaultvalue="0"/>
<ENUM name="DATA_COMPLETE"/>
<ENUM name="DATA_FAILURE"/>
<ENUM name="DATA_EXCEPTION"/>
<ENUM name="DATA_PROCESSING"/>
<!-- No Class Status codes -->
</ENUMERATION>
<ENUMERATION name="ExtStatus">
<!-- =============== -->
<!-- Extended Status -->
<!-- =============== -->
<!-- One Generic Extended Status codes -->
<ENUM name="NONE" defaultvalue="0"/>
</ENUMERATION>
<ENUMERATION name="Source">
<!-- Extended Status codes when Status is Data Failure or Data Exception -->
<!-- ====== -->
<!-- Source -->
<!-- ====== -->
<!-- Generic Source codes -->
<ENUM name="NONE" defaultvalue="0"/>
<ENUM name="UNKNOWN"/>
<!-- Class Source codes begin at 10 -->
<ENUM name="CVSM" defaultvalue="10"/>
<ENUM name="MODB"/>
<ENUM name="MODF"/>
<ENUM name="POEM"/>
<ENUM name="MODG"/>
</ENUMERATION>
<ENUMERATION name="Mode">
<!-- ==== -->
<!-- Mode -->
<!-- ==== -->
<!-- Generic Mode codes -->
<ENUM name="NONE" defaultvalue="0"/>
<ENUM name="UNKNOWN"/>
<!-- Class Mode codes begin at 10 -->
<ENUM name="ADULT" defaultvalue="10"/>
<ENUM name="NEONATAL"/>
<ENUM name="PEDIATRIC"/>
</ENUMERATION>
<ENUMERATION name="Method">
<!-- ====== -->
<!-- Method -->
<!-- ====== -->
<!-- Generic Method codes -->
<ENUM name="NONE" defaultvalue="0"/>
<ENUM name="UNKNOWN"/>
<ENUM name="MANUAL"/>
<ENUM name="DEVICE"/>
<ENUM name="REMOTE"/>
<!-- Class Method codes begin at 10 -->
<ENUM name="FAST_BP" defaultvalue="10"/>
<ENUM name="STEP_BP"/>
<ENUM name="NEONATAL_STEP_BP"/>
<ENUM name="LINEAR_DEFLATION_BP"/>
<!--Added v106-->
<ENUM name="AVERAGE_BP"/>
</ENUMERATION>
<SPECIES_TABLE>
<SPECIES name="SpSTANDARD" defaultvalue="0"/>
</SPECIES_TABLE>
</DEFINITION>
<!--====================================-->
<!--GnCONFIG-->
<!--==================================== -->
<DEFINITION class="CNIBPCStd" abrv="CNBPCSTD" version="102" family="FmNIBP" genus="GnCONFIG" species="SpSTANDARD">
<MEMBERS>
<MEMBER type="uint16" name="DisplayUnits" minversion="100" maxversion="CURRENT_VERSION" comment="Display units for BP and MAP"/>
<MEMBER type="boolean" name="MAPDisplay" minversion="100" maxversion="CURRENT_VERSION" comment="MAP Display enabled/disabled"/>
</MEMBERS>
<ENUMERATION name="DisplayUnits">
<ENUM name="NIBP_MMHG" defaultvalue="0"/>
<ENUM name="NIBP_KPA"/>
</ENUMERATION>
<ENUMERATION name="MAPDisplay">
<ENUM name="DISABLE" defaultvalue="0"/>
<ENUM name="ENABLE"/>
</ENUMERATION>
<SPECIES_TABLE>
<SPECIES name="SpSTANDARD" defaultvalue="0"/>
</SPECIES_TABLE>
</DEFINITION>
<!--====================================-->
<!--GnDATAEXT-->
<!--==================================== -->
<DEFINITION class="CNIBPDExtStd" abrv="CNBPDXTSTD" version="201" family="FmNIBP" genus="GnDATAEXT" species="SpSTANDARD">
<MEMBERS>
<MEMBER type="OBJECT" class="ANY_CLASS" name="Container" size="UNBOUNDED" minversion="200" maxversion="CURRENT_VERSION" comment="Contains a list of NIBP objects" />
</MEMBERS>
<SPECIES_TABLE>
<SPECIES name="SpSTANDARD" defaultvalue="0"/>
</SPECIES_TABLE>
</DEFINITION>
<!--====================================-->
<!--Messages -->
<!-- ====================================-->
<MESSAGES>
<MSG type="Request" name="GET_BP"/>
<MSG type="Request" name="GET_CONFIG"/>
<MSG type="Response" name="PUT_BP" comment="Requires a CNIBPDData object"/>
<MSG type="Response" name="PUT_CONFIG"/>
<MSG type="Command" name="START_NIBP" comment="Requires a CNIBPPData"/>
<MSG type="Command" name="STOP_NIBP"/>
<MSG type="Command" name="WRITE_CONFIG"/>
<MSG type="Status" name="REPORT_BP"/>
<!--New BP Messages -->
<MSG type="Command" name="ZERO_NIBP"/>
<MSG type="Command" name="MSG_PUSH_ENABLE" comment="Requires a CNIBPPSelector"/>
<MSG type="Stream" name="REPORT_BP" comment="Requires a CNIBPDData object"/>
<!--Platform BP Messages-->
<!--BP Status-->
<MSG type="Request" name="GET_STATUS" comment="Requires CNIBPPSelector object to indicate which processors status to retrieve."/>
<MSG type="Response" name="PUT_STATUS" comment="Requires a CNIBPDStatus"/>
<MSG type="Stream" name="REPORT_STATUS" comment="Requires a CNIBPDStatus, only primary processor status will be reported."/>
<MSG type="Command" name="CLEAR_SAFTEY_STATUS"/>
<MSG type="Command" name="CLEAR_POST_STATUS"/>
<MSG type="Command" name="RESET_DEVICE"/>
<!--BP Calibration-->
<MSG type="Request" name="GET_CALIBRATION" comment="Requires CNIBPPSelector to specify primary or secondary processor cal"/>
<MSG type="Response" name="PUT_CALIBRATION" comment="Requires CNIBPCCal."/>
<MSG type="Command" name="SET_CALIBRATION" comment="Requires CNIBPCCal."/>
<MSG type="Command" name="SAVE_CALIBRATION" comment="Requires CNIBPPSelector to specify primary or secondary processor cal"/>
<MSG type="Command" name="LOAD_CALIBRATION" comment="Requires CNIBPPSelector to specify primary or secondary processor cal"/>
<MSG type="Command" name="RESTORE_DFLT_CALIBRATION" comment="Requires CNIBPPSelector to specify primary or secondary processor cal"/>
<!--BP Settings-->
<MSG type="Request" name="GET_BP_SETTINGS"/>
<MSG type="Response" name="PUT_BP_SETTINGS" comment="Requires CNIBPCData"/>
<MSG type="Command" name="SET_BP_SETTINGS" comment="Requires CNIBPCData"/>
<MSG type="Command" name="SAVE_BP_SETTINGS" />
<MSG type="Command" name="LOAD_BP_SETTINGS"/>
<MSG type="Command" name="RESTORE_DFLT_SETTINGS"/>
<!--Chunk Data Engineering/Event LOG-->
<MSG type="Request" name="GET_CHUNK" comment="Requires a CNIBPPChunkSelector object to indicate the type of chunk to retrieve."/>
<MSG type="Response" name="PUT_CHUNK" comment="Requires a CNIBPDChunk"/>
<MSG type="Request" name="GET_CHUNK_SIZE" comment="Requires a CNIBPPSelector object to indicate what chunk size to retrieve. "/>
<MSG type="Response" name="PUT_CHUNK_SIZE" comment="Requires a CNIBPPSelector object"/>
<MSG type="Request" name="GET_MAX_CHUNK_ID" />
<MSG type="Response" name="PUT_MAX_CHUNK_ID" comment="Requires a CNIBPPSelector object"/>
<!--Hardware State-->
<MSG type="Request" name="GET_HARDWARE_STATE" comment="Requires a CNIBPPSelector to specify the hardware"/>
<MSG type="Response" name="PUT_HARDWARE_STATE" comment="Requires a CNIBPDHState"/>
<MSG type="Command" name="SET_HARDWARE_STATE" comment="Requires a CNIBPDHState"/>
<MSG type="Command" name="PULSE_STEP_VALVE" comment="Requires a CNIBPPSelector to specify time in units 0.0001 seconds"/>
<!--Device Test Locks-->
<MSG type="Request" name="GET_TEST_LOCK" comment="Requires a CNIBPPSelector to specify the lock"/>
<MSG type="Response" name="PUT_TEST_LOCK" comment="Requires a CNIBPDLock"/>
<MSG type="Command" name="SET_TEST_LOCK" comment="Requires a CNIBPDLock"/>
<!--AD Raw Data-->
<MSG type="Request" name="GET_RAW_DATA"/>
<MSG type="Response" name="PUT_RAW_DATA" comment="Requires a CNIBPDRData"/>
<!--Pressure Data-->
<MSG type="Request" name="GET_PRESSURE_DATA"/>
<MSG type="Response" name="PUT_PRESSURE_DATA" comment="Requires a CNIBPDPData"/>
</MESSAGES>
</FAMILY>