| # | Software Architecture Document | # | Software Detailed Design | Document Section |
| SAD-001 |
Every safety function — measurement, display, and alarm annunciation — shall be performed locally on the device and shall not depend on the availability of the hospital network. |
|
|
|
| SAD-002 |
The safety core (measurement, alarm, supervision) shall be separated from the convenience functions (trend storage, connectivity) so that a fault in a convenience function cannot stop measurement or alarm annunciation. |
|
|
|
| SAD-003 |
The software shall start in a fail-safe manner: monitoring is entered only after the start-up self-test has passed, and a supervision function monitors the safety core at run time. |
|
|
|
| SAD-010 |
The Measurement Module shall acquire the raw sensor signals, filter them, and publish one validated heart-rate and SpO2 sample per second to the other modules. |
SDD-001 |
The SensorDriver unit shall read the raw SpO2 and ECG signals from the sensor hardware over the serial interface, time-stamp every reading, and reject readings that fail the plausibility range check. |
2 Measurement Module Units |
| SAD-010 |
The Measurement Module shall acquire the raw sensor signals, filter them, and publish one validated heart-rate and SpO2 sample per second to the other modules. |
SDD-002 |
The SampleProcessor unit shall filter the accepted readings, derive one heart-rate and one SpO2 sample per second, and publish the pair on the internal sample bus. |
2 Measurement Module Units |
| SAD-011 |
The Display Module shall render the published samples and the alarm states on the bedside screen and shall refresh the screen at least once per second. |
SDD-003 |
The VitalsView unit shall subscribe to the sample bus and render the numeric heart-rate and SpO2 values, redrawing within 200 milliseconds after a new sample arrives. |
3 Display Module Units |
| SAD-011 |
The Display Module shall render the published samples and the alarm states on the bedside screen and shall refresh the screen at least once per second. |
SDD-004 |
The AlarmBanner unit shall render the active alarm state received from the AlarmStateMachine unit as a colored banner with the alarm text on top of every screen. |
3 Display Module Units |
| SAD-012 |
The Alarm Module shall compare every published sample against the configured alarm limits, shall manage the alarm state machine, and shall drive the visual and audible annunciators, including the bounded audible pause. |
SDD-005 |
The LimitEvaluator unit shall compare every published sample against the configured alarm limits and shall emit a limit-violation event no later than the next evaluation cycle. |
4 Alarm Module Units |
| SAD-012 |
The Alarm Module shall compare every published sample against the configured alarm limits, shall manage the alarm state machine, and shall drive the visual and audible annunciators, including the bounded audible pause. |
SDD-006 |
The AlarmStateMachine unit shall manage the alarm life cycle (inactive, active, paused-audio) and shall drive the visual annunciator and the audio amplifier, enforcing the 60-second upper bound of the audio pause. |
4 Alarm Module Units |
| SAD-013 |
The Trend Storage Module shall persist every published sample into a 72-hour trend store held in non-volatile memory. |
SDD-007 |
The TrendRingBuffer unit shall append every published sample to a circular file in non-volatile memory sized for 72 hours of data, and shall recover the write position from the file itself after a power loss. |
5 Trend Storage Module Units |
| SAD-014 |
The Connectivity Module shall transmit published samples and alarm events to the nurse station and shall buffer them while the network is unavailable, isolating the safety core from network state. |
SDD-008 |
The NurseStationClient unit shall serialize samples and alarm events into export messages and deliver them to the nurse station with delivery confirmation. |
6 Connectivity Module Units |
| SAD-014 |
The Connectivity Module shall transmit published samples and alarm events to the nurse station and shall buffer them while the network is unavailable, isolating the safety core from network state. |
SDD-009 |
The OfflineQueue unit shall buffer undelivered export messages while the network is unavailable and shall drain the queue in order after the connection returns, without back-pressure on the sample bus. |
6 Connectivity Module Units |
| SAD-015 |
The System Supervisor shall execute the start-up self-test, shall gate the transition into monitoring mode on its result, and shall supervise the safety core modules at run time through a watchdog. |
SDD-010 |
The SelfTestSequencer unit shall execute the start-up self-test steps (memory check, sensor presence, annunciator check) and shall release the monitoring mode only when every step has passed. |
7 System Supervisor Units |
| SAD-015 |
The System Supervisor shall execute the start-up self-test, shall gate the transition into monitoring mode on its result, and shall supervise the safety core modules at run time through a watchdog. |
SDD-011 |
The CoreWatchdog unit shall expect a liveness token from the Measurement Module and the Alarm Module every second and shall raise a device fault when a token is missed twice in a row. |
7 System Supervisor Units |
| SAD-016 |
The Configuration and Audit Module shall authenticate clinicians before permitting alarm-limit changes and shall write alarm events, settings changes, and detected faults into the persistent event log. |
SDD-012 |
The AccessController unit shall verify the clinician credentials against the local user store before unlocking the alarm-limit editor, and shall lock it again after 60 seconds of inactivity. |
8 Configuration and Audit Module Units |
| SAD-016 |
The Configuration and Audit Module shall authenticate clinicians before permitting alarm-limit changes and shall write alarm events, settings changes, and detected faults into the persistent event log. |
SDD-013 |
The AuditLogger unit shall append alarm events, settings changes, and detected faults as tamper-evident entries to the persistent event log. |
8 Configuration and Audit Module Units |