Repository Signals File Format
- Lines beginning with
#are comments. - Each line in the file defines either:
- A Generic Signal Type
UseGENERIC_SIGNAL_TYPEprefix to declare a new signal type. The format is:
GENERIC_SIGNAL_TYPE [type_alias] [GSV_string_spec]
(Three tab-separated fields)GENERIC_SIGNAL_TYPE: Marks the line as a signal type definition.type_alias: A short name for the signal type.GSV_string_spec: The full specification is a single, comma-separated string. All T() (Time) channels must be listed before all V() (Value) channels. For example:T(i),V(f).- Time channels use
T(X), whereXis a comma-separated list of basic types (see Types). - Example:
T(i)means one integer time channel;T(i,i)means two integer time channels (can also be written asT(i),T(i)). - Value channels follow after time channels with comma separator between. A signal can include no time channels or no value channels.
- Time channels use
- A Signal Definition
UseSIGNALto define a signal. Each line should have at least four fields, defaults are used for missing fields.SIGNAL: Marks the line as a signal definition.signal_name: The name of the signal.signal_unique_code: A unique numeric code for the signal within the repository.signal_type: Specify the type directly as aGSV_string_spec(e.g.,T(i),V(f)for one integer time channel and one float value channel), or refer to a previously defined type alias using16:type_alias. The 16 is required for the parser to use Custom types and not old and deprecated data type structured.comment: Free text, ignored by the system. Can be empty. Usually we document the signal group liek demographic,labs,cbc. Sometimes multiple tags are provided.categorical_bitmask: A bitmask written left to right with one digit for each value channel indicating which value channels are categorical.1=categorical,0=numeric. (e.g.,10means the first of two value channels is categorical, the second is numeric). Default is0for all value channels.units(optional): Units for the signal, separated by|for multiple channels.
- A Generic Signal Type
Time/Value Channel Types
Here is a complete list of supported types:
uprefix to specify unsigned number and controls the_is_signedc- character, 8 bit integer that can hold 256 unique numberss- short, 16 bit that can hold 65536 unique numbersi- integer, 32 bits, can hold 4B unique numbersl- long, 64 bits, can hold 1.8*10^19 unique numbersf- float 32 bitsd- double float 64 bitsD- long double
For source code please refer to MedSignals.h type_enc::encode
Example
A full list of deprecated signal types by numeric code