This program accepts newline-separated queries that can be expressed using a single criterion, reading them from the standard input. It searches the PhysioBank Index, which it loads into memory at startup time, for records that satisfy the queries it receives, and writes its results to the standard output. When a connection to the server is first established, there may be a brief delay while the PhysioBank Index is loaded. When it is ready to accept a query, it writes a prompt ("> ", or "Look for: ", depending on how it has been compiled). A simple query is of the form: [MODIFIER] SUBJECT OP PATTERN where [MODIFIER] specifies the format of the results, and may be omitted SUBJECT specifies a category of data in the PhysioBank Index OP is one of < <= = >= > ~ !~ != ? PATTERN is the pattern or threshold with which successive elements of the SUBJECT are compared By default, results are shown as a list of matching record names, followed by an empty line and a status line (showing the number of matches and the query as it was understood by this program). Any query may be prefixed by a [MODIFIER], which is a single character (either # or +). The modifier # suppresses display of the list of matches, so that only the status line appears as output. The modifier + adds the matching SUBJECT elements to the list of matches as a second column. A SUBJECT may be a literal subject or a subject class. Literal subjects may be: * a quoted signal name such as "aVF" or 'CVP' [' and " are equivalent] * an @-prefixed annotator name such as @atr or @qrs * a /-prefixed annotation mnemonic such as /V or /(SVTA Case is significant in literal subjects; /E and /e are different. Subject classes may be any of: AnnM Age BP EP Resp AnnR Diag CO Flow Sound Info CO2 HR ST Med ECG Noise Status Record EEG O2 Stim Sex EMG PLETH SV EOG Pos Temp AnnM and AnnR are machine and reference annotators respectively. Subjects in the second column (Age, Diag, etc.) select categories of metadata. The remaining subjects are classes of signals. Case is not significant in non-literal subjects (Age = age = AGE = aGe). Append -N to any non-literal SUBJECT to find records including at least N instances of the SUBJECT (so ecg-3 is defined for records with 3 or more ECG signals). The hyphen (-) may be omitted unless SUBJECT is CO, CO2, or O2, where it is needed to avoid ambiguity. OP specifies how your SUBJECT elements are compared with your PATTERN. The '~' (similar) and '!~' (different) operators behave differently when applied to numeric and string comparisons. Numbers are "similar" if the SUBJECT is within 10% of the PATTERN, and "different" otherwise. Strings are "similar" if the SUBJECT contains the PATTERN, and "different" otherwise. Queries containing the '?' (is defined) operator return rows in which SUBJECT is present; PATTERN is ignored in such queries. Queries consisting of a SUBJECT only are equivalent to 'SUBJECT ?' queries. Note that OP must be separated from SUBJECT and PATTERN by whitespace (one or more spaces or tabs). PATTERN may include whitespace (spaces and tabs) if it is enclosed in quotation marks; otherwise, it ends at the first whitespace and any remaining input characters are ignored. Patterns containing ':' are assumed to specify durations in [hh:]mm:ss format, patterns ending in Hz are assumed to specify sampling frequencies, and patterns containing 'adu/' are assumed to specify signal gains (see examples below). If PATTERN is omitted in a query, its value is '' (the empty string, which is less than any non-empty value in string comparisons) or 0 (in numeric comparisons). Examples of simple queries: Query Matches records with age > 18 age of subject defined and greater than 18 sex = F a female subject ECG-2 < 0:30 two or more ECG signals, duration less than 30 seconds "aVF" an aVF signal @atr >= 10:0 atr annotations, duration 10 minutes or more @qrs >= 100 qrs annotations, 100 or more AnnR reference annotations length > 2:0:0 duration greater than 2 hours length > 48:0:0 duration greater than 2 days (48 hours) @atr/(VT > 0:3 atr annotations with VT episodes, total > 3 seconds /V > 100 any annotator with more than 100 V annotations record ~ mitdb record name contains 'mitdb' med ~ Atenolol medication list contains 'Atenolol' ECG-12 >= 250Hz twelve or more ECG signals, sampled at 250Hz or more ECG-12 >= "250 Hz" same as above BP > "10 adu/mmHg" blood pressure signals with resolution > 10 adu/mmHg info ~ "ST elev" info contains 'ST elev' Note that the patterns in the last three examples are quoted because they contain spaces. Enter a query, or ? to view short help, HELP for this help, or EXIT to quit.