Skip to main content

VitalRecorder simulator that streams HL7 vital signs data to a VitalServer via Socket.IO

Project description

vitalrecorder

VitalRecorder simulator that downloads sample vital signs data from VitalDB open dataset and streams it as HL7 v2.6 messages to a VitalServer via Socket.IO.

Acts as a VitalRecorder client, sending real-time HL7 data for 5 simulated beds.

Installation

pip install vitalrecorder

Usage

# Stream to default server (vitaldb.net)
vitalrecorder

# Stream to a custom server
vitalrecorder https://my-server.com

# With custom VitalRecorder code
vitalrecorder https://my-server.com --vrcode MY_DEMO

Options

Argument Default Description
server https://vitaldb.net VitalServer URL
--vrcode VITALDEMO VitalRecorder device identifier

What It Does

  1. Downloads 5 sample .vital files from api.vitaldb.net on startup
  2. Connects to the specified VitalServer via Socket.IO (WebSocket)
  3. Emits join_vr with the vrcode to register as a VitalRecorder
  4. Sends gzip-compressed HL7 v2.6 payloads via send_data event every 1 second
  5. Loops data infinitely - when a file ends, it restarts from the beginning

HL7 v2.6 Message Format

Each payload contains HL7 messages for all 5 beds concatenated together:

MSH|^~\&|VitalRecorder|VITALDEMO|||20250401120000||ORU^R01|1|P|2.6
PID|||
PV1||I|BED-1
OBR|1|||VITAL_SIGNS|||20250401115959|20250401120000
OBX|1|NM|ECG_HR^Monitor/HR||72|bpm|40^200||||R
OBX|2|NA|ECG_WAV^Monitor/ECG_II@100||0.12^0.15^...||mV|-1.5^1.5||||R
MSH|^~\&|VitalRecorder|VITALDEMO|||20250401120000||ORU^R01|2|P|2.6
PID|||
PV1||I|BED-2
...

OBX Value Types

Type Description Example
NM Numeric 72
NA Waveform (^-separated) 0.12^0.15^0.09
ST String event Induction Start

Node.js Version

A JavaScript version is also available:

npx vitalrecorder [server_url] [--vrcode CODE]

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vitalrecorder-1.0.0.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vitalrecorder-1.0.0-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file vitalrecorder-1.0.0.tar.gz.

File metadata

  • Download URL: vitalrecorder-1.0.0.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for vitalrecorder-1.0.0.tar.gz
Algorithm Hash digest
SHA256 5705031b51bd8166c251269f1c2c2966b41c6508c457ab2cea722700aa210b45
MD5 0373f7a674f984d8a737293e377a156a
BLAKE2b-256 9c335ada85ba4b0bbfa4a21463ff972b30ee08f573f91e750091347a4223bfeb

See more details on using hashes here.

File details

Details for the file vitalrecorder-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: vitalrecorder-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for vitalrecorder-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bab42b6db1910f50be2d333d6e2f8ce7a89e1f32af420830a743947de42377b3
MD5 0ed5150886b811fab2f7644880b3094f
BLAKE2b-256 260d1f376b1273bedf2b647f3ebd4ad8942538a234cc24da7d9ab7138f8e0cdc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page