diff --git a/docs/html/BidsFile.html b/docs/html/BidsFile.html index 05e307ad..d5991541 100644 --- a/docs/html/BidsFile.html +++ b/docs/html/BidsFile.html @@ -65,7 +65,7 @@
Parameters:
file - object + Object The representation of the file for error messages. @@ -74,9 +74,11 @@
Parameters:
validatorClass - + + BidsValidator + - + The validator class corresponding to this file. @@ -104,18 +106,18 @@

Classes

Members

- file :object + file :Object

- The file object representing this file data. This is used to generate - BidsIssue objects. + The Object representing this file data. This is used to generate + BidsHedIssue objects.
Type:
@@ -125,24 +127,17 @@
Type:
-

- name :string +

+ hasHedData

-
The name of this file.
- -
Type:
- +
Determine whether this file has any HED data.
Source:
@@ -150,17 +145,17 @@
Type:
-

- validatorClass +

+ isTimelineFile

-
The validator class used to validate this file.
+
Whether this is a TSV file timeline file.
Source:
@@ -168,20 +163,24 @@

-

Methods

- -

- hasHedData() → {boolean} +

+ name :string

-
Determine whether this file has any HED data.
+
The name of this file.
+ +
Type:
+
Source:
@@ -189,26 +188,35 @@

-
Returns:
+

+ validatorClass +

-
- True if this file has HED data.
+
The validator class used to validate this file.
-
-
Type
-
- boolean +
+
Source:
+
+
+

Methods

+

validate(schemas) → {Array.<BidsIssue>} + > → {Array.<BidsHedIssue>}

Validate this validator's tsv file.
@@ -245,7 +253,7 @@
Parameters:
@@ -258,7 +266,7 @@
Returns:
Type
- Array.<BidsIssue> + Array.<BidsHedIssue>
@@ -288,6 +296,7 @@

Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -348,7 +357,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -358,6 +366,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -367,7 +377,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -401,7 +411,7 @@

    Global


    diff --git a/docs/html/BidsHedIssue_BidsHedIssue.html b/docs/html/BidsHedIssue_BidsHedIssue.html index 8476bb9a..f66aa034 100644 --- a/docs/html/BidsHedIssue_BidsHedIssue.html +++ b/docs/html/BidsHedIssue_BidsHedIssue.html @@ -77,7 +77,7 @@
    Parameters:
    @@ -110,6 +110,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -170,7 +171,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -180,6 +180,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -189,7 +191,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -223,7 +225,7 @@

    Global


    diff --git a/docs/html/BidsHedSidecarValidator.html b/docs/html/BidsHedSidecarValidator.html index a2b376f5..16f0237b 100644 --- a/docs/html/BidsHedSidecarValidator.html +++ b/docs/html/BidsHedSidecarValidator.html @@ -101,7 +101,7 @@

    Methods

    _validateCurlyBraces() → {Array.<BidsIssue>} + > → {Array.<BidsHedIssue>}

    @@ -114,7 +114,7 @@

    @@ -127,13 +127,13 @@

    Returns:
    Type
    - Array.<BidsIssue> + Array.<BidsHedIssue>

    _validateStrings() → {Array.<BidsIssue>} + > → {Array.<BidsHedIssue>}

    Validate this bidsFile's HED strings.
    @@ -144,7 +144,7 @@

    @@ -157,18 +157,16 @@

    Returns:
    Type
    - Array.<BidsIssue> + Array.<BidsHedIssue>

    validate() → {Array.<BidsIssue>} + >

    -
    - Validate a BIDS JSON bidsFile file. This method returns the complete issue list for convenience. -
    +
    Validate a BIDS JSON bidsFile file. Errors and warnings are stored.
    Source:
    @@ -176,22 +174,11 @@

    - -
    Returns:
    - -
    - Any issues found during validation of this bidsFile file.
    - -
    -
    Type
    -
    - Array.<BidsIssue> -
    -
    @@ -219,6 +206,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -279,7 +267,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -289,6 +276,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -298,7 +287,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -332,7 +321,7 @@

    Global


    diff --git a/docs/html/BidsHedTsvParser.html b/docs/html/BidsHedTsvParser.html index b0c80498..042bfcec 100644 --- a/docs/html/BidsHedTsvParser.html +++ b/docs/html/BidsHedTsvParser.html @@ -82,7 +82,7 @@
    Parameters:
    @@ -119,7 +119,7 @@
    Type:
    @@ -146,7 +146,7 @@
    Type:
    @@ -156,7 +156,7 @@

    Methods

    _parseElementStrings(elements) → {Array.<BidsHedIssue>} + > → {Array}

    Parse element HED strings.
    @@ -193,7 +193,7 @@
    Parameters:
    @@ -201,12 +201,14 @@
    Parameters:
    Returns:
    -
    - The issues resulting in creating the parsed HED strings.
    +
    + - [BidsHedIssue[], BidsHedIssue[]] The errors and warnings resulting in creating the parsed HED strings. +
    Type
    - Array.<BidsHedIssue> + Array
    @@ -223,7 +225,7 @@

    @@ -231,7 +233,9 @@

    Returns:
    -
    - Returns a two-element array [BidsTsvElement[], BidsHedIssue[]].
    +
    + - Returns a two-element array [BidsTsvElement[], BidsHedIssue[], BidsHedIssue[]]. +
    Type
    @@ -281,7 +285,7 @@
    Parameters:
    @@ -313,6 +317,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -373,7 +378,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -383,6 +387,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -392,7 +398,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -426,7 +432,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/BidsHedTsvValidator.html b/docs/html/BidsHedTsvValidator.html index 3f1a0dfd..b25b8453 100644 --- a/docs/html/BidsHedTsvValidator.html +++ b/docs/html/BidsHedTsvValidator.html @@ -104,7 +104,7 @@

    >

    -
    The BIDS TSV file being validated.
    +
    The singleton instance of the checker for reserved requirements.
    Type:
    -
    Returns:
    - -
    - Issues from checking non-temporal files for temporal tags.
    - -
    -
    Type
    -
    - Array.<BidsHedIssue> -
    -
    -

    validate() → {Array.<BidsIssue>} + >

    @@ -198,80 +187,32 @@

    -
    Returns:
    - -
    - Any issues found during validation of this TSV file.
    - -
    -
    Type
    -
    - Array.<BidsIssue> -
    -
    -

    - validateDataset(elements) → {Array.<BidsHedIssue>} + validateDataset()

    Validate the HED data in a combined event TSV file/bidsFile BIDS data collection.
    -
    Parameters:
    - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    elements - Array.<BidsTsvElement> - The element objects, which include the strings and row information.
    -
    Source:
    - -
    Returns:
    - -
    - The errors resulting from final validation, including dataset-level checks.
    - -
    -
    Type
    -
    - Array.<BidsHedIssue> -
    -
    @@ -299,6 +240,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -359,7 +301,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -369,6 +310,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -378,7 +321,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -412,7 +355,7 @@

    Global


    diff --git a/docs/html/BidsJsonFile.html b/docs/html/BidsJsonFile.html index 09315d50..254a17e2 100644 --- a/docs/html/BidsJsonFile.html +++ b/docs/html/BidsJsonFile.html @@ -21,7 +21,7 @@

    Class: BidsJsonFile

    BidsJsonFile()(name, file, jsonData)

    @@ -33,10 +33,56 @@

    Constructor

    - new BidsJsonFile()new BidsJsonFile(name, file, jsonData)

    +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    name + string + The name of the JSON file.
    file + Object + The object representing this file.
    jsonData + Object + The JSON data for this file.
    +
    Source:
    @@ -60,7 +106,7 @@

    Classes

    Members

    - jsonData :object + jsonData :Object

    This file's JSON data.
    @@ -68,7 +114,7 @@

    Type:
    • - object + Object
    @@ -110,6 +156,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -170,7 +217,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -180,6 +226,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -189,7 +237,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -223,7 +271,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/BidsSidecarKey_BidsSidecarKey.html b/docs/html/BidsSidecarKey_BidsSidecarKey.html index b6fe49eb..3e80805b 100644 --- a/docs/html/BidsSidecarKey_BidsSidecarKey.html +++ b/docs/html/BidsSidecarKey_BidsSidecarKey.html @@ -90,7 +90,7 @@
    Parameters:
    @@ -123,6 +123,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -183,7 +184,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -193,6 +193,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -202,7 +204,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -236,7 +238,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/BidsSidecar_BidsSidecar.html b/docs/html/BidsSidecar_BidsSidecar.html index 5f09f1b1..ea7c7d9a 100644 --- a/docs/html/BidsSidecar_BidsSidecar.html +++ b/docs/html/BidsSidecar_BidsSidecar.html @@ -21,7 +21,7 @@

    Class: BidsSidecar

    BidsSidecar(name, sidecarData, file, defManager)(name, file, sidecarData, defManager)

    @@ -30,7 +30,7 @@

    new BidsSidecar(name, sidecarData, file, defManager)(name, file, sidecarData, defManager)

    @@ -45,8 +45,6 @@
    Parameters:
    Type - Default - Description @@ -59,33 +57,27 @@
    Parameters:
    string - - The name of the bidsFile file. - sidecarData + file Object - - - The raw JSON data. + The file object representing this file. - file + sidecarData Object - - - The file object representing this file. + The raw JSON data. @@ -95,8 +87,6 @@
    Parameters:
    DefinitionManager - null - The external definitions to use @@ -108,7 +98,7 @@
    Parameters:
    @@ -141,6 +131,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -201,7 +192,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -211,6 +201,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -220,7 +212,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -254,7 +246,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/BidsTsvElement_BidsTsvElement.html b/docs/html/BidsTsvElement_BidsTsvElement.html index 7a1ef6f8..bf607bc6 100644 --- a/docs/html/BidsTsvElement_BidsTsvElement.html +++ b/docs/html/BidsTsvElement_BidsTsvElement.html @@ -100,7 +100,7 @@
    Parameters:
    @@ -133,6 +133,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -193,7 +194,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -203,6 +203,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -212,7 +214,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -246,7 +248,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/BidsTsvFile.html b/docs/html/BidsTsvFile.html index 76f12060..0097707d 100644 --- a/docs/html/BidsTsvFile.html +++ b/docs/html/BidsTsvFile.html @@ -21,7 +21,7 @@

    Class: BidsTsvFile

    BidsTsvFile(name, {{headers:, file, potentialSidecars, mergedDictionary, defManager)(name, file, tsvData, mergedDictionary, defManager)

    @@ -34,7 +34,7 @@

    Constructor

    new BidsTsvFile(name, {{headers:, file, potentialSidecars, mergedDictionary, defManager)(name, file, tsvData, mergedDictionary, defManager)

    @@ -64,41 +64,37 @@
    Parameters:
    The name of the TSV file. - - {{headers: - - - - - string[], rows: string[][]|Map[]|string} tsvData This file's TSV data. - - - file - object + Object The file object representing this file. - potentialSidecars + tsvData - Array.<string> + Object + | + + Map + | + + string - The list of potential JSON sidecars. + This file's TSV data. mergedDictionary - object + Object The merged bidsFile data. @@ -111,7 +107,7 @@
    Parameters:
    DefinitionManager - + The definition manager for this file. @@ -126,13 +122,6 @@
    Parameters:
    - -
    To Do:
    -
    -
      -
    • This interface is provisional and subject to modification in version 4.0.0.
    • -
    -

    @@ -145,6 +134,24 @@

    Classes

    Members

    +

    + hasHedData +

    + +
    Determine whether this file has any HED data.
    + +
    +
    Source:
    +
    + +
    +
    +

    hedColumnHedStrings :Array.<string> @@ -211,14 +218,16 @@

    Type:

    - parsedTsv :Array.<Map> + parsedTsv + :Map.<string, Array.<string>>

    This file's parsed TSV data.
    @@ -226,7 +235,7 @@

    Type:
    @@ -241,68 +250,6 @@
    Type:
    - -

    - potentialSidecars :Array.<string> -

    - -
    The list of potential JSON sidecars.
    - -
    Type:
    - - -
    -
    Source:
    -
    - -
    -
    - -

    Methods

    - -

    - hasHedData() → {boolean} -

    - -
    Determine whether this file has any HED data.
    - -
    -
    Source:
    -
    - -
    - -
    To Do:
    -
    -
      -
    • To be replaced with property in version 4.0.0.
    • -
    -
    -
    - -
    Returns:
    - -
    -
    Type
    -
    - boolean -
    -
    @@ -330,6 +277,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -390,7 +338,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -400,6 +347,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -409,7 +358,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -443,7 +392,7 @@

    Global


    diff --git a/docs/html/BidsTsvRow.html b/docs/html/BidsTsvRow.html index 7d428280..a5564eef 100644 --- a/docs/html/BidsTsvRow.html +++ b/docs/html/BidsTsvRow.html @@ -102,7 +102,7 @@
    Parameters:
    @@ -137,7 +137,7 @@
    Type:
    @@ -169,6 +169,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -229,7 +230,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -239,6 +239,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -248,7 +250,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -282,7 +284,7 @@

    Global


    diff --git a/docs/html/BidsValidator.html b/docs/html/BidsValidator.html index 11fe00ab..bc91133a 100644 --- a/docs/html/BidsValidator.html +++ b/docs/html/BidsValidator.html @@ -124,6 +124,33 @@
    Type:
    +

    + errors + :Array.<BidsHedIssue> +

    + +
    The issues found during validation.
    + +
    Type:
    + + +
    +
    Source:
    +
    + +
    +
    +

    hedSchemas :SchemasType:

    -

    - issues - :Array.<BidsIssue> + warnings + :Array.<BidsHedIssue>

    -
    The issues found during validation.
    +
    The warnings found during validation.
    Type:
    @@ -172,7 +199,7 @@
    Type:
    @@ -182,12 +209,10 @@

    Methods

    validate() → {Array.<BidsIssue>} + >

    -
    - Validate a BIDS TSV file. This method returns the complete issue list for convenience. -
    +
    Validate a BIDS file. Overridden by particular types of BIDS files.
    Source:
    @@ -195,22 +220,11 @@

    - -
    Returns:
    - -
    - Any issues found during validation of this TSV file.
    - -
    -
    Type
    -
    - Array.<BidsIssue> -
    -
    @@ -238,6 +252,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -298,7 +313,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -308,6 +322,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -317,7 +333,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -351,7 +367,7 @@

    Global


    diff --git a/docs/html/ColumnSpliceSpec.html b/docs/html/ColumnSpliceSpec.html index 643822e8..8eb36f47 100644 --- a/docs/html/ColumnSpliceSpec.html +++ b/docs/html/ColumnSpliceSpec.html @@ -110,6 +110,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -170,7 +171,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -180,6 +180,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -189,7 +191,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -223,7 +225,7 @@

    Global


    diff --git a/docs/html/DefinitionChecker_DefinitionChecker.html b/docs/html/DefinitionChecker_DefinitionChecker.html index 1bc967de..51e39e6c 100644 --- a/docs/html/DefinitionChecker_DefinitionChecker.html +++ b/docs/html/DefinitionChecker_DefinitionChecker.html @@ -69,7 +69,7 @@
    Parameters:
    @@ -102,6 +102,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -162,7 +163,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -172,6 +172,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -181,7 +183,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -215,7 +217,7 @@

    Global


    diff --git a/docs/html/Definition_Definition.html b/docs/html/Definition_Definition.html index 6e6b3bba..975ccb6f 100644 --- a/docs/html/Definition_Definition.html +++ b/docs/html/Definition_Definition.html @@ -100,6 +100,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -160,7 +161,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -170,6 +170,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -179,7 +181,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -213,7 +215,7 @@

    Global


    diff --git a/docs/html/GroupSpec.html b/docs/html/GroupSpec.html index 6507341b..c58473bd 100644 --- a/docs/html/GroupSpec.html +++ b/docs/html/GroupSpec.html @@ -111,6 +111,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -171,7 +172,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -181,6 +181,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -190,7 +192,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -224,7 +226,7 @@

    Global


    diff --git a/docs/html/HedStringParser.html b/docs/html/HedStringParser.html index 60f6e53c..3030cecf 100644 --- a/docs/html/HedStringParser.html +++ b/docs/html/HedStringParser.html @@ -223,12 +223,14 @@
    Type:

    Methods

    -

    +

    parse() → {Array}

    -
    Parse a full HED string.
    +
    + Parse a full HED string. ###Note: now separates errors and warnings for easier handling. +
    Source:
    @@ -236,7 +238,7 @@

    @@ -245,7 +247,7 @@

    Returns:
    - - [ParsedHedString|null, Issue[]] representing the parsed HED string and any parsing issues. + - [ParsedHedString|null, Issue[], Issue[]] representing the parsed HED string and any parsing issues.
    @@ -328,7 +330,7 @@
    Parameters:
    @@ -337,7 +339,7 @@
    Parameters:
    Returns:
    - - [ParsedHedString[], Issue[]] representing the parsed HED strings and any issues found. + - [ParsedHedString[], Issue[], Issue[]] representing the parsed HED strings and any errors and warnings.
    @@ -373,6 +375,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -433,7 +436,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -443,6 +445,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -452,7 +456,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -486,7 +490,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/HedStringTokenizer.html b/docs/html/HedStringTokenizer.html index 9a419916..c824fa64 100644 --- a/docs/html/HedStringTokenizer.html +++ b/docs/html/HedStringTokenizer.html @@ -117,6 +117,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -177,7 +178,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -187,6 +187,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -196,7 +198,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -230,7 +232,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/Issue.html b/docs/html/Issue.html index ed07413d..07efe31d 100644 --- a/docs/html/Issue.html +++ b/docs/html/Issue.html @@ -102,7 +102,7 @@
    Parameters:
    @@ -137,7 +137,7 @@
    Type:
    @@ -162,7 +162,25 @@
    Type:
    + +
    + +

    + isError +

    + +
    Whether this issue is an error.
    + +
    +
    Source:
    +
    +
    @@ -187,7 +205,7 @@
    Type:
    @@ -212,7 +230,7 @@
    Type:
    @@ -239,7 +257,7 @@
    Type:
    @@ -260,40 +278,12 @@

    - -

    - -

    - isError() → {boolean} -

    - -
    Whether this issue is an error.
    - -
    -
    Source:
    -
    -
    -
    Returns:
    - -
    -
    Type
    -
    - boolean -
    -
    -

    toString() → {string} @@ -307,7 +297,7 @@

    @@ -363,7 +353,7 @@

    Parameters:
    @@ -409,6 +399,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -469,7 +460,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -479,6 +469,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -488,7 +480,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -522,7 +514,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/IssueError_IssueError.html b/docs/html/IssueError_IssueError.html new file mode 100644 index 00000000..80aeb65a --- /dev/null +++ b/docs/html/IssueError_IssueError.html @@ -0,0 +1,243 @@ + + + + + JSDoc: Class: IssueError + + + + + + + + + +
    +

    Class: IssueError

    + +
    +
    +

    + IssueError(issue, …params) +

    +
    + +
    +
    +

    + new IssueError(issue, …params) +

    + +
    Constructor.
    + +
    Parameters:
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeAttributesDescription
    issue + Issue + The associated HED issue.
    params + * + <repeatable>
    Extra parameters (to be forwarded to the Error constructor).
    + +
    +
    Source:
    +
    + +
    +
    +
    +
    +
    +
    + + + +
    + +
    + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 + GMT-0600 (Central Standard Time) +
    + + + + + diff --git a/docs/html/ParsedHedColumnSplice.html b/docs/html/ParsedHedColumnSplice.html index 820f438e..c0af4219 100644 --- a/docs/html/ParsedHedColumnSplice.html +++ b/docs/html/ParsedHedColumnSplice.html @@ -186,6 +186,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -246,7 +247,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -256,6 +256,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -265,7 +267,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -299,7 +301,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/ParsedHedString.html b/docs/html/ParsedHedString.html index 5f0f5b38..f4b6860e 100644 --- a/docs/html/ParsedHedString.html +++ b/docs/html/ParsedHedString.html @@ -450,6 +450,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -510,7 +511,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -520,6 +520,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -529,7 +531,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -563,7 +565,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/ParsedHedSubstring.html b/docs/html/ParsedHedSubstring.html index 5df344cc..2d05eee2 100644 --- a/docs/html/ParsedHedSubstring.html +++ b/docs/html/ParsedHedSubstring.html @@ -285,6 +285,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -345,7 +346,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -355,6 +355,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -364,7 +366,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -398,7 +400,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/PartneredSchema.html b/docs/html/PartneredSchema.html index 94036865..f6631ac8 100644 --- a/docs/html/PartneredSchema.html +++ b/docs/html/PartneredSchema.html @@ -71,7 +71,7 @@
    Parameters:
    @@ -108,7 +108,7 @@
    Type:
    @@ -140,6 +140,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -200,7 +201,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -210,6 +210,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -219,7 +221,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -253,7 +255,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/Schema.html b/docs/html/Schema.html index 1a2dd44f..2384c74a 100644 --- a/docs/html/Schema.html +++ b/docs/html/Schema.html @@ -57,7 +57,7 @@
    Parameters:
    xmlData - object + Object The schema XML data. @@ -81,7 +81,7 @@
    Parameters:
    @@ -118,32 +118,7 @@
    Type:
    - -
    - -

    - generation :Number -

    - -
    The HED generation of this schema.
    - -
    Type:
    - - -
    -
    Source:
    -
    -
    @@ -168,7 +143,7 @@
    Type:
    @@ -193,7 +168,7 @@
    Type:
    @@ -218,7 +193,7 @@
    Type:
    @@ -243,7 +218,7 @@
    Type:
    @@ -300,7 +275,7 @@
    Parameters:
    @@ -343,6 +318,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -403,7 +379,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -413,6 +388,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -422,7 +399,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -456,7 +433,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/SchemaAttribute.html b/docs/html/SchemaAttribute.html index 1694f4ab..bb4e881c 100644 --- a/docs/html/SchemaAttribute.html +++ b/docs/html/SchemaAttribute.html @@ -258,6 +258,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -318,7 +319,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -328,6 +328,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -337,7 +339,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -371,7 +373,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/SchemaEntries.html b/docs/html/SchemaEntries.html index 9ebec11f..b709e124 100644 --- a/docs/html/SchemaEntries.html +++ b/docs/html/SchemaEntries.html @@ -427,6 +427,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -487,7 +488,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -497,6 +497,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -506,7 +508,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -540,7 +542,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/SchemaEntry.html b/docs/html/SchemaEntry.html index 58c98cc9..46bbd36a 100644 --- a/docs/html/SchemaEntry.html +++ b/docs/html/SchemaEntry.html @@ -186,6 +186,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -246,7 +247,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -256,6 +256,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -265,7 +267,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -299,7 +301,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/SchemaEntryManager.html b/docs/html/SchemaEntryManager.html index b0d74d4a..b4313af8 100644 --- a/docs/html/SchemaEntryManager.html +++ b/docs/html/SchemaEntryManager.html @@ -510,6 +510,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -570,7 +571,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -580,6 +580,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -589,7 +591,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -623,7 +625,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/SchemaEntryWithAttributes.html b/docs/html/SchemaEntryWithAttributes.html index 13ce59bd..b9c9174f 100644 --- a/docs/html/SchemaEntryWithAttributes.html +++ b/docs/html/SchemaEntryWithAttributes.html @@ -51,6 +51,13 @@

    +

    Classes

    + +
    +
    SchemaEntryWithAttributes
    +
    +
    +

    Members

    @@ -74,7 +81,7 @@

    Type:
    @@ -128,7 +135,7 @@
    Type:
    @@ -155,7 +162,7 @@
    Type:
    @@ -219,7 +226,7 @@
    Parameters:
    @@ -292,7 +299,7 @@
    Parameters:
    @@ -348,7 +355,7 @@
    Parameters:
    @@ -404,7 +411,7 @@
    Parameters:
    @@ -447,6 +454,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -507,7 +515,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -517,6 +524,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -526,7 +535,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -560,7 +569,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/SchemaProperty.html b/docs/html/SchemaProperty.html index a3aad0c0..23fd5929 100644 --- a/docs/html/SchemaProperty.html +++ b/docs/html/SchemaProperty.html @@ -164,6 +164,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -224,7 +225,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -234,6 +234,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -243,7 +245,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -277,7 +279,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/SchemaSpec.html b/docs/html/SchemaSpec.html index da2f70de..e4809737 100644 --- a/docs/html/SchemaSpec.html +++ b/docs/html/SchemaSpec.html @@ -272,6 +272,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -332,7 +333,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -342,6 +342,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -351,7 +353,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -385,7 +387,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/SchemaTag.html b/docs/html/SchemaTag.html index 3435cbf6..61df0173 100644 --- a/docs/html/SchemaTag.html +++ b/docs/html/SchemaTag.html @@ -112,7 +112,7 @@
    Parameters:
    @@ -140,7 +140,7 @@

    @@ -158,25 +158,7 @@

    - -

    - -

    - hasValueClasses -

    - -
    Whether this tag has any value classes.
    - -
    -
    Source:
    -
    -
    @@ -194,7 +176,7 @@

    @@ -221,7 +203,7 @@

    Type:
    @@ -239,7 +221,7 @@

    @@ -266,7 +248,7 @@

    Type:
    @@ -293,7 +275,7 @@
    Type:
    @@ -311,7 +293,7 @@

    @@ -329,7 +311,7 @@

    @@ -376,7 +358,7 @@

    Parameters:
    @@ -432,7 +414,7 @@
    Parameters:
    @@ -475,6 +457,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -535,7 +518,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -545,6 +527,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -554,7 +538,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -588,7 +572,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/SchemaTagManager.html b/docs/html/SchemaTagManager.html index 2c9eeaab..9d887136 100644 --- a/docs/html/SchemaTagManager.html +++ b/docs/html/SchemaTagManager.html @@ -329,6 +329,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -389,7 +390,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -399,6 +399,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -408,7 +410,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -442,7 +444,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/SchemaUnit.html b/docs/html/SchemaUnit.html index a6cd310b..206526c5 100644 --- a/docs/html/SchemaUnit.html +++ b/docs/html/SchemaUnit.html @@ -106,7 +106,7 @@
    Parameters:
    @@ -141,7 +141,7 @@
    Type:
    @@ -190,7 +190,7 @@
    Parameters:
    @@ -233,6 +233,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -293,7 +294,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -303,6 +303,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -312,7 +314,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -346,7 +348,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/SchemaUnitClass.html b/docs/html/SchemaUnitClass.html index f3ecd955..3ff80faf 100644 --- a/docs/html/SchemaUnitClass.html +++ b/docs/html/SchemaUnitClass.html @@ -102,7 +102,7 @@
    Parameters:
    @@ -139,7 +139,7 @@
    Type:
    @@ -157,7 +157,7 @@

    @@ -173,7 +173,7 @@

    units
  • schema/entries.js, - line 660 + line 663
  • @@ -194,7 +194,7 @@

    @@ -239,6 +239,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -299,7 +300,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -309,6 +309,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -318,7 +320,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -352,7 +354,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/SchemaUnitModifier.html b/docs/html/SchemaUnitModifier.html index 2eb49f2f..19cd6428 100644 --- a/docs/html/SchemaUnitModifier.html +++ b/docs/html/SchemaUnitModifier.html @@ -43,7 +43,7 @@

    @@ -83,6 +83,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -143,7 +144,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -153,6 +153,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -162,7 +164,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -196,7 +198,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/SchemaValueClass.html b/docs/html/SchemaValueClass.html index 3dcba92f..7d70521f 100644 --- a/docs/html/SchemaValueClass.html +++ b/docs/html/SchemaValueClass.html @@ -112,7 +112,7 @@
    Parameters:
    @@ -167,7 +167,7 @@
    Parameters:
    @@ -210,6 +210,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -270,7 +271,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -280,6 +280,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -289,7 +291,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -323,7 +325,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/SchemaValueTag.html b/docs/html/SchemaValueTag.html index 242f6c64..97fbd045 100644 --- a/docs/html/SchemaValueTag.html +++ b/docs/html/SchemaValueTag.html @@ -43,7 +43,7 @@

    @@ -64,7 +64,7 @@

    @@ -111,7 +111,7 @@

    Parameters:
    @@ -167,7 +167,7 @@
    Parameters:
    @@ -210,6 +210,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -270,7 +271,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -280,6 +280,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -289,7 +291,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -323,7 +325,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/Schemas.html b/docs/html/Schemas.html index 3616ac8e..94b853b5 100644 --- a/docs/html/Schemas.html +++ b/docs/html/Schemas.html @@ -77,7 +77,7 @@
    Parameters:
    @@ -105,70 +105,7 @@

    - -

    - -

    - generation :Number -

    - -
    - The HED generation of this schema. If baseSchema is null, generation is set to 0. -
    - -
    Type:
    - - -
    -
    Source:
    -
    - -
    -
    - -

    - isHed3 -

    - -
    Whether this schema collection comprises HED 3 schemas.
    - -
    -
    Source:
    -
    - -
    -
    - -

    - isSyntaxOnly -

    - -
    Whether this schema collection is for syntactic validation only.
    - -
    -
    Source:
    -
    -
    @@ -186,7 +123,7 @@

    @@ -219,7 +156,7 @@

    Type:
    @@ -239,7 +176,7 @@

    @@ -286,7 +223,7 @@

    Parameters:
    @@ -329,6 +266,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -389,7 +327,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -399,6 +336,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -408,7 +347,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -442,7 +381,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/SchemasSpec.html b/docs/html/SchemasSpec.html index d78ef9fe..1b07e1da 100644 --- a/docs/html/SchemasSpec.html +++ b/docs/html/SchemasSpec.html @@ -172,6 +172,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -232,7 +233,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -242,6 +242,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -251,7 +253,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -285,7 +287,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/SubstringSpec.html b/docs/html/SubstringSpec.html index 342820a1..1cb5671e 100644 --- a/docs/html/SubstringSpec.html +++ b/docs/html/SubstringSpec.html @@ -110,6 +110,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -170,7 +171,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -180,6 +180,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -189,7 +191,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -223,7 +225,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/TagSpec.html b/docs/html/TagSpec.html index f0b272a8..6c7d56cb 100644 --- a/docs/html/TagSpec.html +++ b/docs/html/TagSpec.html @@ -134,6 +134,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -194,7 +195,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -204,6 +204,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -213,7 +215,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -247,7 +249,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/bids_schema.js.html b/docs/html/bids_schema.js.html index 4b3717d3..38a4e1fa 100644 --- a/docs/html/bids_schema.js.html +++ b/docs/html/bids_schema.js.html @@ -32,12 +32,11 @@

    Source: bids/schema.js

    * Build a HED schema collection based on the defined BIDS schemas. * * @param {BidsJsonFile} datasetDescription The description of the BIDS dataset being validated. - * @param {SchemasSpec} schemaDefinition The version spec override for the schema to be loaded. * @returns {Promise} A Promise with the schema collection, or null if the specification is missing. * @throws {IssueError} If the schema specification is invalid. */ -export async function buildBidsSchemas(datasetDescription, schemaDefinition) { - const schemasSpec = buildSchemasSpec(datasetDescription, schemaDefinition) +export async function buildBidsSchemas(datasetDescription) { + const schemasSpec = buildSchemasSpec(datasetDescription) if (schemasSpec === null) { return null } @@ -48,28 +47,17 @@

    Source: bids/schema.js

    * Build a HED schema specification based on the defined BIDS schemas. * * @param {BidsJsonFile} datasetDescription The description of the BIDS dataset being validated. - * @param {SchemasSpec} schemaDefinition The version spec override for the schema to be loaded. * @returns {SchemasSpec|null} The schema specification to be used to build the schemas, or null if the specification is missing. * @throws {IssueError} If the schema specification is invalid. */ -export function buildSchemasSpec(datasetDescription, schemaDefinition) { - if (schemaDefinition) { - return validateSchemasSpec(schemaDefinition) - } else if (datasetDescription.jsonData?.HEDVersion) { +export function buildSchemasSpec(datasetDescription) { + if (datasetDescription.jsonData?.HEDVersion) { return parseSchemasSpec(datasetDescription.jsonData.HEDVersion) } else { return null } } -function validateSchemasSpec(schemasSpec) { - if (schemasSpec instanceof SchemasSpec) { - return schemasSpec - } else { - IssueError.generateAndThrow('invalidSchemaSpecification', { spec: JSON.stringify(schemasSpec) }) - } -} - export function parseSchemasSpec(hedVersion) { const schemasSpec = new SchemasSpec() const processVersion = castArray(hedVersion) @@ -154,6 +142,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -214,7 +203,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -224,6 +212,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -233,7 +223,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -267,7 +257,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/bids_tsvParser.js.html b/docs/html/bids_tsvParser.js.html index 9f4826c0..fcb44347 100644 --- a/docs/html/bids_tsvParser.js.html +++ b/docs/html/bids_tsvParser.js.html @@ -34,7 +34,7 @@

    Source: bids/tsvParser.js

    * Parse a TSV file. * * @param {string} contents The contents of a TSV file. - * @returns {Map[]} The parsed contents of the TSV file. + * @returns {Map<string, string[]>} The parsed contents of the TSV file. */ export function parseTSV(contents) { const columns = new Map() @@ -61,7 +61,7 @@

    Source: bids/tsvParser.js

    * Convert parsed TSV file data from the old BIDS format to the new BIDS format. * * @param {{headers: string[], rows: string[][]}} oldParsedTsv Parsed TSV data using the old format - * @returns {Map[]} The parsed contents of the TSV file, using the new format. + * @returns {Map<string, string[]>} The parsed contents of the TSV file, using the new format. */ export function convertParsedTSVData(oldParsedTsv) { const columns = new Map() @@ -109,6 +109,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -169,7 +170,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -179,6 +179,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -188,7 +190,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -222,7 +224,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/bids_types_file.js.html b/docs/html/bids_types_file.js.html index dd01c9f2..b5a916cb 100644 --- a/docs/html/bids_types_file.js.html +++ b/docs/html/bids_types_file.js.html @@ -31,11 +31,13 @@

    Source: bids/types/file.js

    * @type {string} */ name + /** - * The file object representing this file data. - * This is used to generate {@link BidsIssue} objects. - * @type {object} + * The Object representing this file data. + * This is used to generate {@link BidsHedIssue} objects. + * @type {Object} */ + file /** * The validator class used to validate this file. @@ -46,8 +48,8 @@

    Source: bids/types/file.js

    /** * * @param {string} name - The name of the file -- used for messages. - * @param {object} file - The representation of the file for error messages. - * @param validatorClass + * @param {Object} file - The representation of the file for error messages. + * @param {BidsValidator} validatorClass - The validator class corresponding to this file. */ constructor(name, file, validatorClass) { this.name = name @@ -55,12 +57,22 @@

    Source: bids/types/file.js

    this._validatorClass = validatorClass } + // /** + // * Parse this bidsFile's HED strings within the bidsFile structure. + // * + // * @param {Schemas} hedSchemas - The HED schema collection. + // * @returns {Array} [Issue[], Issue[]] Any errors and warnings found + // */ + // parseHed(hedSchemas) { + // return [[], []] + // } + /** - * Determine whether this file has any HED data. + * Whether this is a TSV file timeline file. * - * @returns {boolean} - True if this file has HED data. + * @returns {boolean} */ - hasHedData() { + get isTimelineFile() { return false } @@ -68,32 +80,46 @@

    Source: bids/types/file.js

    * Validate this validator's tsv file. * * @param {Schemas} schemas - The HED schemas used to validate this file. - * @returns {BidsIssue[]} - Any issues found during validation of this TSV file. + * @returns {BidsHedIssue[]} - Any issues found during validation of this TSV file. */ validate(schemas) { - if (!this.hasHedData()) { + if (!this.hasHedData) { return [] } if (!schemas) { - BidsHedIssue.fromHedIssue( - generateIssue('genericError', { - message: 'BIDS file HED validation requires a HED schema, but the schema received was null.', - }), - { path: this.file.file, relativePath: this.file.file }, - ) + return [ + BidsHedIssue.fromHedIssue( + generateIssue('missingSchemaSpecification', { + message: 'No valid HED schema specification was supplied.', + }), + { path: this.file.file, relativePath: this.file.file }, + ), + ] } try { const validator = new this.validatorClass(this, schemas) - return validator.validate() - } catch (internalError) { - return BidsHedIssue.fromHedIssues(internalError, this.file) + validator.validate() + return [...validator.errors, ...validator.warnings] + } catch (error) { + // The low-level parsing throws exceptions with the issue encapsulated. + return BidsHedIssue.fromHedIssues(error, this.file) } } + /** + * Determine whether this file has any HED data. + * + * @returns {boolean} + */ + get hasHedData() { + return false + } + /** * The validator class used to validate this file. - * @returns {*} + * + * @returns {function} (typeof BidsValidator) A subclass constructor of {@link BidsValidator}. */ get validatorClass() { return this._validatorClass @@ -127,6 +153,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -187,7 +214,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -197,6 +223,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -206,7 +234,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -240,7 +268,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:11 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/bids_types_issues.js.html b/docs/html/bids_types_issues.js.html index 0a62e68f..752108f6 100644 --- a/docs/html/bids_types_issues.js.html +++ b/docs/html/bids_types_issues.js.html @@ -19,63 +19,51 @@

    Source: bids/types/issues.js

    -
    import { generateIssue, IssueError } from '../../issues/issues'
    +          
    import groupBy from 'lodash/groupBy'
     
    -const bidsHedErrorCodes = new Set([104, 106, 107])
    +import { generateIssue, IssueError } from '../../issues/issues'
     
    -export class BidsIssue {
    +export class BidsHedIssue {
    +  /**
    +   * The file associated with this issue.
    +   * @type {Object}
    +   */
    +  file
    +  /**
    +   * The HED Issue object corresponding to this object.
    +   * @type {Issue}
    +   */
    +  hedIssue
       /**
        * The BIDS issue code.
    -   * @type {number}
    +   * @type {string}
        */
       code
       /**
    -   * The file associated with this issue.
    -   * @type {Object}
    +   * The HED spec code for this issue.
    +   * @type {string}
        */
    -  file
    +  subCode
       /**
    -   * The evidence for this issue.
    +   * The severity of this issue.
        * @type {string}
        */
    -  evidence
    -
    -  constructor(issueCode, file, evidence) {
    -    this.code = issueCode
    -    this.file = file
    -    this.evidence = evidence
    -  }
    -
    +  severity
       /**
    -   * Whether this issue is an error.
    -   *
    -   * @returns {boolean}
    +   * The issue message for this issue.
    +   * @type {string}
        */
    -  isError() {
    -    return bidsHedErrorCodes.has(this.code)
    -  }
    -
    +  issueMessage
       /**
    -   * Determine if any of the passed issues are errors.
    -   *
    -   * @param {BidsIssue[]} issues A list of issues.
    -   * @returns {boolean} Whether any of the passed issues are errors (rather than warnings).
    +   * The line at which the issue was found.
    +   * @type {number}
        */
    -  static anyAreErrors(issues) {
    -    return issues.some((issue) => issue.isError())
    -  }
    -
    -  static async generateInternalErrorPromise(error, errorFile) {
    -    return [new BidsHedIssue(generateIssue('internalError', { message: error.message }), errorFile)]
    -  }
    -}
    -
    -export class BidsHedIssue extends BidsIssue {
    +  line
       /**
    -   * The HED Issue object corresponding to this object.
    -   * @type {Issue}
    +   * The location of the file at which the issue was found.
    +   * @type {string}
        */
    -  hedIssue
    +  location
     
       /**
        * Constructor.
    @@ -84,26 +72,30 @@ 

    Source: bids/types/issues.js

    * @param {Object} file The file this error occurred in. */ constructor(hedIssue, file) { - super(BidsHedIssue._determineBidsIssueCode(hedIssue), file, hedIssue.message) - this.hedIssue = hedIssue + this.file = file + + // BIDS fields + if (hedIssue.level === 'warning') { + this.code = 'HED_WARNING' + } else { + this.code = 'HED_ERROR' + } + this.subCode = hedIssue.hedCode + this.severity = hedIssue.level + this.issueMessage = hedIssue.message + this.line = hedIssue.parameters?.tsvLine + this.location = file?.path } /** - * Determine the BIDS issue code for this issue. + * Split a list of issues into errors and warnings. * - * @param {Issue} hedIssue The HED issue object to be wrapped. - * @returns {number} The BIDS issue code for this issue. - * @private + * @param {BidsHedIssue[]} issues A list of issues. + * @returns {Object<string, BidsHedIssue[]>} The list of issues divided into errors and warnings. */ - static _determineBidsIssueCode(hedIssue) { - if (hedIssue.internalCode === 'internalError' || hedIssue.internalCode === 'internalConsistencyError') { - return 106 - } - if (hedIssue.level === 'warning') { - return 105 - } - return 104 + static splitErrors(issues) { + return groupBy(issues, (issue) => issue.severity) } /** @@ -115,7 +107,9 @@

    Source: bids/types/issues.js

    * @returns {BidsHedIssue[]} The passed issue(s) in BIDS-compatible format. */ static fromHedIssues(hedIssues, file, extraParameters) { - if (hedIssues instanceof IssueError) { + if (hedIssues.length === 0) { + return [] + } else if (hedIssues instanceof IssueError) { return [BidsHedIssue.fromHedIssue(hedIssues.issue, file, extraParameters)] } else if (hedIssues instanceof Error) { return [new BidsHedIssue(generateIssue('internalError', { message: hedIssues.message }), file ?? null)] @@ -168,6 +162,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -228,7 +223,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -238,6 +232,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -247,7 +243,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -281,7 +277,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:11 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/bids_types_json.js.html b/docs/html/bids_types_json.js.html index 6dbe8292..bca1b550 100644 --- a/docs/html/bids_types_json.js.html +++ b/docs/html/bids_types_json.js.html @@ -22,7 +22,7 @@

    Source: bids/types/json.js

    import isPlainObject from 'lodash/isPlainObject'
     
     import { sidecarValueHasHed } from '../utils'
    -import { parse } from '../../parser/parser'
    +import { parseHedString } from '../../parser/parser'
     import ParsedHedString from '../../parser/parsedHedString'
     import { BidsFile } from './file'
     import BidsHedSidecarValidator from '../validator/sidecarValidator'
    @@ -37,11 +37,17 @@ 

    Source: bids/types/json.js

    export class BidsJsonFile extends BidsFile { /** * This file's JSON data. - * @type {object} + * @type {Object} */ jsonData - constructor(name, jsonData, file) { + /** + * + * @param {string} name - The name of the JSON file. + * @param {Object} file - The object representing this file. + * @param {Object} jsonData - The JSON data for this file. + */ + constructor(name, file, jsonData) { super(name, file, BidsHedSidecarValidator) this.jsonData = jsonData } @@ -53,31 +59,37 @@

    Source: bids/types/json.js

    * @type {Map} */ sidecarKeys + /** * The extracted HED data for this bidsFile (string --> string | Object: string, string * @type {Map} */ hedData + /** - * The parsed HED data for this bidsFile (string --> ParsedHedString | Map: string --> ParsedHedString + * The parsed HED data for this bidsFile (string --> ParsedHedString | Map: string --> ParsedHedString). * @type {Map} */ parsedHedData + /** * The extracted HED value strings. * @type {string[]} */ hedValueStrings + /** * The extracted HED categorical strings. * @type {string[]} */ hedCategoricalStrings + /** - * The mapping of column splice references (string --> Set of string) + * The mapping of column splice references (string --> Set of string). * @type {Map} */ columnSpliceMapping + /** * The set of column splice references. * @type {Set<string>} @@ -85,7 +97,7 @@

    Source: bids/types/json.js

    columnSpliceReferences /** - * The object that manages definitions + * The object that manages definitions. * @type {DefinitionManager} */ definitions @@ -94,12 +106,12 @@

    Source: bids/types/json.js

    * Constructor. * * @param {string} name The name of the bidsFile file. - * @param {Object} sidecarData The raw JSON data. * @param {Object} file The file object representing this file. + * @param {Object} sidecarData The raw JSON data. * @param {DefinitionManager } defManager - The external definitions to use */ - constructor(name, sidecarData = {}, file, defManager = null) { - super(name, sidecarData, file) + constructor(name, file, sidecarData = {}, defManager = undefined) { + super(name, file, sidecarData) this.columnSpliceMapping = new Map() this.columnSpliceReferences = new Set() this._setDefinitions(defManager) @@ -113,9 +125,9 @@

    Source: bids/types/json.js

    } else if (!defManager) { this.definitions = new DefinitionManager() } else { - IssueError.generateAndThrow('internalError', { - message: 'Improper format for defManager parameter -- must be null or DefinitionManager', - }) + IssueError.generateAndThrowInternalError( + 'Improper format for defManager parameter -- must be null or DefinitionManager', + ) } } @@ -177,8 +189,8 @@

    Source: bids/types/json.js

    if (sidecarValue.isValueKey) { this.hedValueStrings.push(sidecarValue.valueString) this.hedData.set(key, sidecarValue.valueString) - } else { - this.hedCategoricalStrings.push(...Object.values(sidecarValue.categoryMap)) + } else if (sidecarValue.categoryMap) { + this.hedCategoricalStrings.push(...sidecarValue.categoryMap.values()) this.hedData.set(key, sidecarValue.categoryMap) } } @@ -189,7 +201,7 @@

    Source: bids/types/json.js

    * * @returns {boolean} */ - hasHedData() { + get hasHedData() { return this.sidecarKeys.size > 0 } @@ -199,13 +211,16 @@

    Source: bids/types/json.js

    * The parsed strings are placed into {@link parsedHedData}. * * @param {Schemas} hedSchemas - The HED schema collection. - * @returns {Issue[]} Any issues found. + * @returns {Array} [Issue[], Issue[]] Any errors and warnings found */ - parseHedStrings(hedSchemas) { + parseHed(hedSchemas) { this.parsedHedData = new Map() - const issues = [] + const errors = [] + const warnings = [] for (const [name, sidecarKey] of this.sidecarKeys.entries()) { - issues.push(...sidecarKey.parseHed(hedSchemas)) + const [errorIssues, warningIssues] = sidecarKey.parseHed(hedSchemas) + errors.push(...errorIssues) + warnings.push(...warningIssues) if (sidecarKey.isValueKey) { this.parsedHedData.set(name, sidecarKey.parsedValueString) } else { @@ -213,7 +228,7 @@

    Source: bids/types/json.js

    } } this._generateSidecarColumnSpliceMap() - return issues + return [errors, warnings] } /** @@ -231,9 +246,7 @@

    Source: bids/types/json.js

    } else if (hedData instanceof Map) { this._parseCategorySplice(sidecarKey, hedData) } else if (hedData) { - IssueError.generateAndThrow('internalConsistencyError', { - message: 'Unexpected type found in bidsFile parsedHedData map.', - }) + IssueError.generateAndThrowInternalError('Unexpected type found in bidsFile parsedHedData map.') } } } @@ -259,9 +272,9 @@

    Source: bids/types/json.js

    /** * Add a list of columnSplices to a key map. - * @param {Set} keyReferences + * @param {Set<string>|null} keyReferences * @param {ParsedHedColumnSplice[]} columnSplices - * @returns {*|Set<any>} + * @returns {Set<string>} * @private */ _processColumnSplices(keyReferences, columnSplices) { @@ -288,32 +301,41 @@

    Source: bids/types/json.js

    * @type {string} */ name + /** * The unparsed category mapping. - * @type {Object<string, string>} + * @type {Map<string, string>} */ categoryMap + /** * The parsed category mapping. * @type {Map<string, ParsedHedString>} */ parsedCategoryMap + /** * The unparsed value string. * @type {string} */ valueString + /** * The parsed value string. * @type {ParsedHedString} */ parsedValueString + /** * Weak reference to the bidsFile. * @type {BidsSidecar} */ sidecar + /** + * Indication of whether this key is for definitions. + * @type {Boolean} + */ hasDefinitions /** @@ -332,15 +354,17 @@

    Source: bids/types/json.js

    } else if (!isPlainObject(data)) { IssueError.generateAndThrow('illegalSidecarHedType', { key: key, file: sidecar.file.relativePath }) } else { - this.categoryMap = data + this.categoryMap = new Map(Object.entries(data)) } } /** * Parse the HED data for this key. * + * ###Note: This sets the parsedHedData as a side effect. + * * @param {Schemas} hedSchemas The HED schema collection. - * @returns {Issue[]} Any issues found. + * @returns {Array} - [Issue[], Issues[]] Errors and warnings that result from parsing. */ parseHed(hedSchemas) { if (this.isValueKey) { @@ -350,30 +374,32 @@

    Source: bids/types/json.js

    } /** - * Parse the value string in a bidsFile - * @param {Schemas} hedSchemas - The HED schemas to use. - * @returns {Issue[]} - * @private + * Parse the value string in a bidsFile. * * ### Note: * The value strings cannot contain definitions. + * + * @param {Schemas} hedSchemas - The HED schemas to use. + * @returns {Array} - [Issue[], Issue[]] - Errors due for the value. + * @private */ _parseValueString(hedSchemas) { - const [parsedString, parsingIssues] = parse(this.valueString, hedSchemas, false, true) + const [parsedString, errorIssues, warningIssues] = parseHedString(this.valueString, hedSchemas, false, true) this.parsedValueString = parsedString - return parsingIssues + return [errorIssues, warningIssues] } /** * Parse the categorical values associated with this key. * @param {Schemas} hedSchemas - The HED schemas used to check against. - * @returns {Issue[]} - A list of issues if any + * @returns {Array} - Array[Issue[], Issue[]] A list of error issues and warning issues. * @private */ _parseCategory(hedSchemas) { - const issues = [] this.parsedCategoryMap = new Map() - for (const [value, string] of Object.entries(this.categoryMap)) { + const errors = [] + const warnings = [] + for (const [value, string] of this.categoryMap) { const trimmedValue = value.trim() if (ILLEGAL_SIDECAR_KEYS.has(trimmedValue.toLowerCase())) { IssueError.generateAndThrow('illegalSidecarHedCategoricalValue') @@ -383,18 +409,25 @@

    Source: bids/types/json.js

    file: this.sidecar?.file?.relativePath, }) } - const [parsedString, parsingIssues] = parse(string, hedSchemas, true, true) + const [parsedString, errorIssues, warningIssues] = parseHedString(string, hedSchemas, true, true) this.parsedCategoryMap.set(value, parsedString) - issues.push(...parsingIssues) - if (parsingIssues.length === 0) { - issues.push(...this._checkDefinitions(parsedString)) + warnings.push(...warningIssues) + errors.push(...errorIssues) + if (errorIssues.length === 0) { + errors.push(...this._checkDefinitions(parsedString)) } } - return issues + return [errors, warnings] } + /** + * Check for definitions in the HED string. + * @param {ParsedHedString} parsedString - The string to check for definitions. + * @returns {Issue[]} - Errors that occur. + * @private + */ _checkDefinitions(parsedString) { - const issues = [] + const errors = [] for (const group of parsedString.tagGroups) { if (!group.isDefinitionGroup) { continue @@ -402,12 +435,12 @@

    Source: bids/types/json.js

    this.hasDefinitions = true const [def, defIssues] = Definition.createDefinitionFromGroup(group) if (defIssues.length > 0) { - issues.push(...defIssues) + errors.push(...defIssues) } else { - issues.push(...this.sidecar.definitions.addDefinition(def)) + errors.push(...this.sidecar.definitions.addDefinition(def)) } } - return issues + return errors } /** @@ -446,6 +479,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -506,7 +540,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -516,6 +549,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -525,7 +560,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -559,7 +594,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/bids_types_tsv.js.html b/docs/html/bids_types_tsv.js.html index 4b18e60e..4e75de40 100644 --- a/docs/html/bids_types_tsv.js.html +++ b/docs/html/bids_types_tsv.js.html @@ -33,7 +33,7 @@

    Source: bids/types/tsv.js

    export class BidsTsvFile extends BidsFile { /** * This file's parsed TSV data. - * @type {Map[]} + * @type {Map<string, string[]>} */ parsedTsv /** @@ -41,11 +41,7 @@

    Source: bids/types/tsv.js

    * @type {string[]} */ hedColumnHedStrings - /** - * The list of potential JSON sidecars. - * @type {string[]} - */ - potentialSidecars + /** * The pseudo-bidsFile object representing the merged bidsFile data. * @type {BidsSidecar} @@ -55,30 +51,26 @@

    Source: bids/types/tsv.js

    /** * Constructor. * - * @todo This interface is provisional and subject to modification in version 4.0.0. - * - * @param {string} name The name of the TSV file. - * @param {{headers: string[], rows: string[][]|Map[]|string} tsvData This file's TSV data. - * @param {object} file The file object representing this file. - * @param {string[]} potentialSidecars The list of potential JSON sidecars. - * @param {object} mergedDictionary The merged bidsFile data. - * @param {DefinitionManager} defManager + * @param {string} name - The name of the TSV file. + * @param {Object} file - The file object representing this file. + * @param {{headers: string[], rows: string[][]}|Map|string} tsvData - This file's TSV data. + * @param {Object} mergedDictionary - The merged bidsFile data. + * @param {DefinitionManager} defManager - The definition manager for this file. */ - constructor(name, tsvData, file, potentialSidecars = [], mergedDictionary = {}, defManager) { + constructor(name, file, tsvData, mergedDictionary = {}, defManager = undefined) { super(name, file, BidsHedTsvValidator) if (typeof tsvData === 'string') { this.parsedTsv = parseTSV(tsvData) } else if (tsvData instanceof Map) { - this.parsedTsv = tsvData + this.parsedTsv = new Map(tsvData) } else if (isPlainObject(tsvData)) { this.parsedTsv = convertParsedTSVData(tsvData) } else { - IssueError.generateAndThrow('internalError', { message: 'parsedTsv has an invalid type' }) + IssueError.generateAndThrowInternalError('parsedTsv has an invalid type') } - this.potentialSidecars = potentialSidecars - this.mergedSidecar = new BidsSidecar(name, mergedDictionary, this.file, defManager) + this.mergedSidecar = new BidsSidecar(name, this.file, mergedDictionary, defManager) this._parseHedColumn() } @@ -94,12 +86,10 @@

    Source: bids/types/tsv.js

    /** * Determine whether this file has any HED data. * - * @todo To be replaced with property in version 4.0.0. - * * @returns {boolean} */ - hasHedData() { - return this.parsedTsv.has('HED') || this.mergedSidecar.hasHedData() + get hasHedData() { + return this.parsedTsv.has('HED') || this.mergedSidecar.hasHedData } /** @@ -160,7 +150,7 @@

    Source: bids/types/tsv.js

    } /** - * Override of {@link Object.prototype.toString}. + * Override of {@link object.prototype.toString}. * * @returns {string} */ @@ -171,7 +161,7 @@

    Source: bids/types/tsv.js

    /** * Create a string list of a list of BidsTsvElement objects. - * @param BidsTsvElement[] elements - A list of elements to construct line numbers from. + * @param {BidsTsvElement[]} elements - A list of elements to construct line numbers from. * @returns {string} - A string with the list of line numbers for error messages. */ static getTsvLines(elements) { @@ -231,6 +221,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -291,7 +282,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -301,6 +291,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -310,7 +302,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -344,7 +336,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/bids_utils.js.html b/docs/html/bids_utils.js.html index ae4dc647..d2262d95 100644 --- a/docs/html/bids_utils.js.html +++ b/docs/html/bids_utils.js.html @@ -22,7 +22,7 @@

    Source: bids/utils.js

    /**
      * Determine whether a bidsFile value has HED data.
      *
    - * @param {object} sidecarValue A BIDS bidsFile value.
    + * @param {Object} sidecarValue A BIDS bidsFile value.
      * @returns {boolean} Whether the bidsFile value has HED data.
      */
     export const sidecarValueHasHed = function (sidecarValue) {
    @@ -56,6 +56,7 @@ 

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -116,7 +117,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -126,6 +126,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -135,7 +137,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -169,7 +171,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/bids_validator_sidecarValidator.js.html b/docs/html/bids_validator_sidecarValidator.js.html index de1e6a08..0000420b 100644 --- a/docs/html/bids_validator_sidecarValidator.js.html +++ b/docs/html/bids_validator_sidecarValidator.js.html @@ -40,28 +40,25 @@

    Source: bids/validator/sidecarValidator.js

    } /** - * Validate a BIDS JSON bidsFile file. This method returns the complete issue list for convenience. + * Validate a BIDS JSON bidsFile file. Errors and warnings are stored. * - * @returns {BidsIssue[]} - Any issues found during validation of this bidsFile file. */ validate() { // Allow schema to be set a validation time -- this is checked by the superclass of BIDS file - const sidecarParsingIssues = BidsHedIssue.fromHedIssues( - this.bidsFile.parseHedStrings(this.hedSchemas), - this.bidsFile.file, - ) - this.issues.push(...sidecarParsingIssues) - if (sidecarParsingIssues.length > 0) { - return this.issues + const [errorIssues, warningIssues] = this.bidsFile.parseHed(this.hedSchemas) + this.errors.push(...BidsHedIssue.fromHedIssues(errorIssues, this.bidsFile.file)) + this.warnings.push(...BidsHedIssue.fromHedIssues(warningIssues, this.bidsFile.file)) + if (errorIssues.length > 0) { + return } - this.issues.push(...this._validateStrings(), ...this._validateCurlyBraces()) - return this.issues + + this.errors.push(...this._validateStrings(), ...this._validateCurlyBraces()) } /** * Validate this bidsFile's HED strings. * - * @returns {BidsIssue[]} All issues found. + * @returns {BidsHedIssue[]} All issues found. */ _validateStrings() { const issues = [] @@ -76,9 +73,7 @@

    Source: bids/validator/sidecarValidator.js

    issues.push(...this._checkDetails(sidecarKeyName, valueString)) } } else { - IssueError.generateAndThrow('internalConsistencyError', { - message: 'Unexpected type found in bidsFile parsedHedData map.', - }) + IssueError.generateAndThrowInternalError('Unexpected type found in bidsFile parsedHedData map.') } } return issues @@ -148,7 +143,7 @@

    Source: bids/validator/sidecarValidator.js

    /** * Validate this bidsFile's curly braces -- checking recursion and missing columns. * - * @returns {BidsIssue[]} All issues found. + * @returns {BidsHedIssue[]} All issues found. */ _validateCurlyBraces() { const issues = [] @@ -208,6 +203,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -268,7 +264,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -278,6 +273,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -287,7 +284,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -321,7 +318,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/bids_validator_tsvValidator.js.html b/docs/html/bids_validator_tsvValidator.js.html index 734bc228..999b3dfd 100644 --- a/docs/html/bids_validator_tsvValidator.js.html +++ b/docs/html/bids_validator_tsvValidator.js.html @@ -19,10 +19,10 @@

    Source: bids/validator/tsvValidator.js

    -
    import { BidsHedIssue, BidsIssue } from '../types/issues'
    +          
    import { BidsHedIssue } from '../types/issues'
     import { BidsTsvElement, BidsTsvRow } from '../types/tsv'
     import { BidsValidator } from './validator'
    -import { parse } from '../../parser/parser'
    +import { parseHedString } from '../../parser/parser'
     import ParsedHedString from '../../parser/parsedHedString'
     import { generateIssue } from '../../issues/issues'
     import { ReservedChecker } from '../../parser/reservedChecker'
    @@ -34,7 +34,7 @@ 

    Source: bids/validator/tsvValidator.js

    */ export class BidsHedTsvValidator extends BidsValidator { /** - * The BIDS TSV file being validated. + * The singleton instance of the checker for reserved requirements. * @type {ReservedChecker} */ reserved @@ -53,47 +53,83 @@

    Source: bids/validator/tsvValidator.js

    /** * Validate a BIDS TSV file. This method returns the complete issue list for convenience. * - * @returns {BidsIssue[]} - Any issues found during validation of this TSV file. */ validate() { - // Validate the BIDS bidsFile if it exists. + // Validate the BIDS bidsFile if it exists and return if there are errors if (this.bidsFile.mergedSidecar) { - const sidecarIssues = this.bidsFile.mergedSidecar.validate(this.hedSchemas) - this.issues.push(...sidecarIssues) - if (BidsIssue.anyAreErrors(sidecarIssues)) { - return this.issues + const issues = this.bidsFile.mergedSidecar.validate(this.hedSchemas) + const splitErrors = BidsHedIssue.splitErrors(issues) + this.errors.push(...(splitErrors.error ?? [])) + this.warnings.push(...(splitErrors.warning ?? [])) + if (this.errors.length > 0) { + return } } // Valid the HED column by itself. - const hedColumnIssues = this._validateHedColumn() - this.issues.push(...hedColumnIssues) - if (BidsIssue.anyAreErrors(this.issues)) { - return this.issues + this._validateHedColumn() + if (this.errors.length > 0) { + return } // Now do a full validation const bidsHedTsvParser = new BidsHedTsvParser(this.bidsFile, this.hedSchemas) - const [bidsEvents, parsingIssues] = bidsHedTsvParser.parse() - this.issues.push(...parsingIssues) - if (!BidsIssue.anyAreErrors(this.issues)) { - this.issues.push(...this.validateDataset(bidsEvents)) + const [bidsEvents, errorIssues, warningIssues] = bidsHedTsvParser.parse() + this.errors.push(...errorIssues) + this.warnings.push(...warningIssues) + if (this.errors.length > 0) { + return + } + this.validateDataset(bidsEvents) + if (this.errors.length === 0 && this.bidsFile.mergedSidecar?.hasHedData) { + this._checkMissingHedWarning() + this._checkMissingValueWarnings() + } + } + + _checkMissingHedWarning() { + // Check for HED column used as splice but no HED column + if (this.bidsFile.mergedSidecar.columnSpliceReferences.has('HED') && !this.bidsFile.parsedTsv.has('HED')) { + this.warnings.push(BidsHedIssue.fromHedIssue(generateIssue('hedUsedAsSpliceButNoTsvHed'), this.bidsFile.file)) + } + } + + /** + * Check for categorical column value in tsv but not in sidecar. + * @private + */ + _checkMissingValueWarnings() { + for (const columnName of this.bidsFile.parsedTsv.keys()) { + const sidecarColumn = this.bidsFile.mergedSidecar?.sidecarKeys.get(columnName) + if (!sidecarColumn || sidecarColumn.isValueKey) { + continue + } + const toRemove = new Set(['', 'n/a', null, undefined]) + const tsvColumnValues = new Set(this.bidsFile.parsedTsv.get(columnName)) + const cleanedValues = new Set([...tsvColumnValues].filter((value) => !toRemove.has(value))) + const missingValues = [...cleanedValues].filter((value) => !sidecarColumn.categoryMap.has(value)) + if (missingValues.length > 0) { + const values = '[' + missingValues.join(', ') + ']' + this.warnings.push( + BidsHedIssue.fromHedIssue( + generateIssue('sidecarKeyMissing', { column: columnName, values: values }), + this.bidsFile.file, + ), + ) + } } - return this.issues } /** * Validate this TSV file's HED column. * - * @returns {BidsIssue[]} - Issues found in validating the HED column without sidecar information. * @private */ _validateHedColumn() { - if (this.bidsFile.hedColumnHedStrings.length === 0) { - return [] + if (this.bidsFile.hedColumnHedStrings.length > 0) { + this.bidsFile.hedColumnHedStrings.flatMap((hedString, rowIndexMinusTwo) => + this._validateHedColumnString(hedString, rowIndexMinusTwo + 2), + ) } - return this.bidsFile.hedColumnHedStrings.flatMap((hedString, rowIndexMinusTwo) => - this._validateHedColumnString(hedString, rowIndexMinusTwo + 2), - ) } /** @@ -101,25 +137,24 @@

    Source: bids/validator/tsvValidator.js

    * * @param {string} hedString - The string to be validated. * @param {number} rowIndex - The index of this row in the TSV file. - * @returns {BidsIssue[]} - Specific issues found in validating the HED column * @private */ _validateHedColumnString(hedString, rowIndex) { if (!hedString) { - return [] + return } // Find basic parsing issues and return if unable to parse the string. (Warnings are okay.) - const issues = [] - const [parsedString, parsingIssues] = parse(hedString, this.hedSchemas, false, false) - issues.push(...BidsHedIssue.fromHedIssues(parsingIssues, this.bidsFile.file, { tsvLine: rowIndex })) + const [parsedString, errorIssues, warningIssues] = parseHedString(hedString, this.hedSchemas, false, false) + this.errors.push(...BidsHedIssue.fromHedIssues(errorIssues, this.bidsFile.file, { tsvLine: rowIndex })) + this.warnings.push(...BidsHedIssue.fromHedIssues(warningIssues, this.bidsFile.file, { tsvLine: rowIndex })) if (parsedString === null) { - return issues + return } // The HED column is not allowed to have column splices. if (parsedString.columnSplices.length > 0) { - issues.push( + this.errors.push( BidsHedIssue.fromHedIssue( generateIssue('curlyBracesInHedColumn', { string: parsedString.hedString, @@ -128,7 +163,7 @@

    Source: bids/validator/tsvValidator.js

    this.bidsFile.file, ), ) - return issues + return } // Check whether definitions used exist and are used correctly. @@ -136,36 +171,31 @@

    Source: bids/validator/tsvValidator.js

    ...this.bidsFile.mergedSidecar.definitions.validateDefs(parsedString, this.hedSchemas, false), ...this.bidsFile.mergedSidecar.definitions.validateDefExpands(parsedString, this.hedSchemas, false), ] - const convertedIssues = BidsHedIssue.fromHedIssues(defIssues, this.bidsFile.file, { tsvLine: rowIndex }) - issues.push(...convertedIssues) - return issues + this.errors.push(...BidsHedIssue.fromHedIssues(defIssues, this.bidsFile.file, { tsvLine: rowIndex })) } /** * Validate the HED data in a combined event TSV file/bidsFile BIDS data collection. - * - * @param {BidsTsvElement[]} elements - The element objects, which include the strings and row information. - * @returns {BidsHedIssue[]} - The errors resulting from final validation, including dataset-level checks. */ validateDataset(elements) { // Final top-tag detection cannot be done until the strings are fully assembled and finalized. - const issues = this._checkNoTopTags(elements) - if (issues.length > 0) { - return issues + this._checkNoTopTags(elements) + if (this.errors.length > 0) { + return } // Temporal files have to check Onset, Inset, Offset consistency. if (this.bidsFile.isTimelineFile) { - return this._validateTemporal(elements) + this._validateTemporal(elements) + } else { + // Non-temporal files cannot have temporal tags. + this._checkNoTime(elements) } - // Non-temporal files cannot have temporal tags. - return this._checkNoTime(elements) } /** * Check the temporal relationships among events. * * @param {BidsTsvElement[]} elements - The elements representing the tsv file. - * @returns {BidsHedIssue[]} - Errors in temporal relationships among events. * @private */ _validateTemporal(elements) { @@ -173,43 +203,40 @@

    Source: bids/validator/tsvValidator.js

    const eventManager = new EventManager() const [eventList, temporalIssues] = eventManager.parseEvents(elements) if (temporalIssues.length > 0) { - return temporalIssues + this.errors.push(...temporalIssues) + return } // There still may be non-temporal duplicates when multiple rows with the same onset. - const duplicateErrors = this._checkDuplicatesAcrossRows(elements) - if (duplicateErrors.length > 0) { - return duplicateErrors + this._checkDuplicatesAcrossRows(elements) + if (this.errors.length === 0) { + this.errors.push(...eventManager.validate(eventList)) } - return eventManager.validate(eventList) } /** * Check for duplicate tags when multiple rows with the same onset. * - * @param {BidsTsvElement[]} elements - The elements representing the tsv file. - * @returns {BidsHedIssue[]} - Errors in temporal relationships among events. - * @private - * * ### Note: * Duplicate onsets are relatively rare and duplicates for single rows are checked when a ParsedHedString is * constructed. + * + * @param {BidsTsvElement[]} elements - The elements representing the tsv file. + * @returns {BidsHedIssue[]} - Errors in temporal relationships among events. + * @private */ _checkDuplicatesAcrossRows(elements) { const duplicateMap = this._getOnsetMap(elements) - const issues = [] for (const elementList of duplicateMap.values()) { if (elementList.length === 1) { continue } // Assemble the HED strings associated with same onset into single string. Use the parse duplicate detection. const rowString = elementList.map((element) => element.hedString).join(',') - const [parsedString, parsingIssues] = parse(rowString, this.hedSchemas, false, false) - if (parsingIssues.length > 0) { - const tsvLines = BidsTsvElement.getTsvLines(elementList) - issues.push(...BidsHedIssue.fromHedIssues(parsingIssues, this.bidsFile.file, { tsvLine: tsvLines })) - } + const [parsedString, errorIssues, warningIssues] = parseHedString(rowString, this.hedSchemas, false, false) + const tsvLines = BidsTsvElement.getTsvLines(elementList) + this.errors.push(...BidsHedIssue.fromHedIssues(errorIssues, this.bidsFile.file, { tsvLine: tsvLines })) + this.warnings.push(...BidsHedIssue.fromHedIssues(warningIssues, this.bidsFile.file, { tsvLine: tsvLines })) } - return issues } /** @@ -238,16 +265,14 @@

    Source: bids/validator/tsvValidator.js

    * Top group tag requirements may not be satisfied until all splices have been done. * * @param {BidsTsvElement[]} elements - The elements to be checked. - * @returns {BidsHedIssue[]} - Issues from final check of top groups. * @private */ _checkNoTopTags(elements) { - const topGroupIssues = [] for (const element of elements) { const topTags = element.parsedHedString ? element.parsedHedString.topLevelTags : [] const badTags = topTags.filter((tag) => ReservedChecker.hasTopLevelTagGroupAttribute(tag)) if (badTags.length > 0) { - topGroupIssues.push( + this.errors.push( BidsHedIssue.fromHedIssue( generateIssue('invalidTopLevelTag', { tag: getTagListString(badTags), string: element.hedString }), element.file, @@ -256,20 +281,17 @@

    Source: bids/validator/tsvValidator.js

    ) } } - return topGroupIssues } /** * Verify that this non-temporal file does not contain any temporal tags. * * @param {BidsTsvElement[]} elements - The elements representing a tsv file (with HED string parsed). - * @returns {BidsHedIssue[]} - Issues from checking non-temporal files for temporal tags. */ _checkNoTime(elements) { - const timeIssues = [] for (const element of elements) { if (element.parsedHedString.tags.some((tag) => this.reserved.timelineTags.has(tag.schemaTag.name))) { - timeIssues.push( + this.errors.push( BidsHedIssue.fromHedIssue( generateIssue('temporalTagInNonTemporalContext', { string: element.hedString, tsvLine: element.tsvLine }), this.bidsFile.file, @@ -277,7 +299,6 @@

    Source: bids/validator/tsvValidator.js

    ) } } - return timeIssues } } @@ -316,44 +337,47 @@

    Source: bids/validator/tsvValidator.js

    /** * Combine the BIDS bidsFile HED data into a BIDS TSV file's HED data. * - * @returns {Array} - Returns a two-element array [BidsTsvElement[], BidsHedIssue[]]. + * @returns {Array} - Returns a two-element array [BidsTsvElement[], BidsHedIssue[], BidsHedIssue[]]. */ parse() { const tsvHedRows = this._generateHedRows() const tsvElements = this._parseHedRows(tsvHedRows) - const parsingIssues = this._parseElementStrings(tsvElements) - return [tsvElements, parsingIssues] + const [errors, warnings] = this._parseElementStrings(tsvElements) + return [tsvElements, errors, warnings] } /** * Parse element HED strings. * * @param {BidsTsvElement[]} elements - The objects representing tsv rows with their parsed HEd strings. - * @returns {BidsHedIssue[]} - The issues resulting in creating the parsed HED strings. + * @returns {Array} - [BidsHedIssue[], BidsHedIssue[]] The errors and warnings resulting in creating the parsed HED strings. */ _parseElementStrings(elements) { if (elements.length === 0) { - return [] + return [[], []] } // Add the parsed HED strings to the elements and quite if there are serious errors - const cummulativeIssues = [] + const errors = [] + const warnings = [] for (const element of elements) { - const [parsedHedString, parsingIssues] = parse(element.hedString, this.hedSchemas, false, false) + const [parsedHedString, errorIssues, warningIssues] = parseHedString( + element.hedString, + this.hedSchemas, + false, + false, + ) element.parsedHedString = parsedHedString - if (parsingIssues.length > 0) { - cummulativeIssues.push( - ...BidsHedIssue.fromHedIssues(parsingIssues, this.tsvFile.file, { tsvLine: element.tsvLine }), - ) - } + errors.push(...BidsHedIssue.fromHedIssues(errorIssues, this.tsvFile.file, { tsvLine: element.tsvLine })) + warnings.push(...BidsHedIssue.fromHedIssues(warningIssues, this.tsvFile.file, { tsvLine: element.tsvLine })) } - return cummulativeIssues + return [errors, warnings] } /** * Generate a list of rows with column-to-value mappings. * - * @returns {Array.Map} A list of single-row column-to-value mappings. + * @returns {Array} A list of single-row column-to-value mappings. * @private */ _generateHedRows() { @@ -435,7 +459,7 @@

    Source: bids/validator/tsvValidator.js

    columnMap.set('HED', rowCells.get('HED')) } - if (!this.tsvFile.mergedSidecar.hasHedData()) { + if (!this.tsvFile.mergedSidecar.hasHedData) { return columnMap } @@ -454,7 +478,7 @@

    Source: bids/validator/tsvValidator.js

    const columnString = columnValues.hedString.replace('#', rowColumnValue) columnMap.set(columnName, columnString) } else if (columnValues instanceof Map) { - columnMap.set(columnName, columnValues.get(rowColumnValue).hedString) + columnMap.set(columnName, columnValues.get(rowColumnValue)?.hedString) } } @@ -551,6 +575,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -611,7 +636,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -621,6 +645,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -630,7 +656,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -664,7 +690,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/bids_validator_validator.js.html b/docs/html/bids_validator_validator.js.html index 5b139e9d..90ac4734 100644 --- a/docs/html/bids_validator_validator.js.html +++ b/docs/html/bids_validator_validator.js.html @@ -35,9 +35,15 @@

    Source: bids/validator/validator.js

    hedSchemas /** * The issues found during validation. - * @type {BidsIssue[]} + * @type {BidsHedIssue[]} */ - issues + errors + + /** + * The warnings found during validation. + * @type {BidsHedIssue[]} + */ + warnings /** * Bids validator base class. @@ -48,16 +54,16 @@

    Source: bids/validator/validator.js

    constructor(bidsFile, hedSchemas) { this.bidsFile = bidsFile this.hedSchemas = hedSchemas // Will be set when the file is validated - this.issues = [] + this.errors = [] + this.warnings = [] } /** - * Validate a BIDS TSV file. This method returns the complete issue list for convenience. + * Validate a BIDS file. Overridden by particular types of BIDS files. * - * @returns {BidsIssue[]} - Any issues found during validation of this TSV file. */ validate() { - return this.issues + return } }
    @@ -88,6 +94,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -148,7 +155,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -158,6 +164,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -167,7 +175,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -201,7 +209,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/global.html b/docs/html/global.html index 18769a6a..0a2e2297 100644 --- a/docs/html/global.html +++ b/docs/html/global.html @@ -58,7 +58,7 @@

    @@ -93,7 +93,7 @@

    @@ -133,25 +133,6 @@

    -

    - (constant) getGenerationForSchemaVersion -

    - -
    Determine the HED generation for a base schema version number.
    - -
    -
    Source:
    -
    - -
    -
    -

    (constant) getParentTag

    @@ -218,7 +199,7 @@

    @@ -276,6 +257,42 @@

    +

    + isDeprecated +

    + +
    Indicates whether the tag is deprecated
    + +
    +
    Source:
    +
    + +
    +
    + +

    + isExtended +

    + +
    Indicates whether the tag is deprecated
    + +
    +
    Source:
    +
    + +
    +
    +

    (constant) isNumber

    @@ -340,7 +357,7 @@

    @@ -394,7 +411,7 @@

    @@ -444,7 +461,7 @@

    @@ -499,7 +516,7 @@

    @@ -517,7 +534,7 @@

    @@ -535,7 +552,7 @@

    @@ -800,7 +817,7 @@

    Parameters:
    @@ -970,7 +987,7 @@
    Parameters:
    @@ -1008,8 +1025,7 @@
    Returns:

    - buildBidsSchemas(datasetDescription, schemaDefinition)buildBidsSchemas(datasetDescription) → {Promise}

    @@ -1038,16 +1054,6 @@
    Parameters:
    The description of the BIDS dataset being validated. - - - schemaDefinition - - - SchemasSpec - - - The version spec override for the schema to be loaded. - @@ -1056,7 +1062,7 @@
    Parameters:
    @@ -1116,7 +1122,7 @@
    Parameters:
    xmlData - object + Object The schema's XML data @@ -1171,7 +1177,7 @@
    Parameters:
    xmlData - Array.<object> + Array.<Object> The schemas' XML data. @@ -1257,8 +1263,7 @@
    Returns:

    - buildSchemasSpec(datasetDescription, schemaDefinition)buildSchemasSpec(datasetDescription) → {SchemasSpec|null}

    @@ -1287,16 +1292,6 @@
    Parameters:
    The description of the BIDS dataset being validated. - - - schemaDefinition - - - SchemasSpec - - - The version spec override for the schema to be loaded. - @@ -1305,7 +1300,7 @@
    Parameters:
    @@ -1450,7 +1445,7 @@
    Parameters:
    @@ -1553,7 +1548,7 @@
    Returns:

    convertParsedTSVData(oldParsedTsv) → {Array.<Map>} + > → {Map.<string, Array.<string>>}

    Convert parsed TSV file data from the old BIDS format to the new BIDS format.
    @@ -1603,7 +1598,7 @@
    Returns:
    Type
    - Array.<Map> + Map.<string, Array.<string>>
    @@ -1649,7 +1644,7 @@
    Parameters:
    @@ -1965,7 +1960,7 @@
    Parameters:
    @@ -2126,7 +2121,7 @@
    Parameters:
    element - object + Object An XML element. @@ -2182,7 +2177,7 @@
    Parameters:
    element - object + Object An XML element. @@ -2322,7 +2317,7 @@
    Parameters:
    @@ -2743,7 +2738,7 @@

    @@ -2761,12 +2756,14 @@

    Returns:

    - parseparseHedString(hedString, hedSchemas, definitionsAllowed, placeholdersAllowed) → {Array}

    -
    Parse a HED string.
    +
    + Parse a HED string. ###Note: now separates errors and warnings for easier handling. +
    Parameters:
    @@ -2833,7 +2830,7 @@
    Parameters:
    @@ -2842,7 +2839,7 @@
    Parameters:
    Returns:
    - - [ParsedHedString, Issue[]] representing the parsed HED string and any issues found. + - [ParsedHedString, Issue[], Issue[]] representing the parsed HED string and any issues found.
    @@ -2858,7 +2855,9 @@

    > → {Array}

    -
    Parse a list of HED strings.
    +
    + Parse a list of HED strings. ###Note: now separates errors and warnings for easier handling. +
    Parameters:
    @@ -2925,7 +2924,7 @@
    Parameters:
    @@ -2934,7 +2933,7 @@
    Parameters:
    Returns:
    - - [ParsedHedString[], Issue[]] representing the parsed HED strings and any issues found. + - [ParsedHedString[], Issue[], Issue[]] representing the parsed HED strings and any issues found.
    @@ -3002,7 +3001,7 @@
    Returns:

    parseTSV(contents) → {Array.<Map>} + > → {Map.<string, Array.<string>>}

    Parse a TSV file.
    @@ -3052,7 +3051,7 @@
    Returns:
    Type
    - Array.<Map> + Map.<string, Array.<string>>
    @@ -3077,7 +3076,7 @@

    parseXPath(query) → {object} + > → {Object}

    Parse an XPath query. This is a minimal parser only suitable for this package.
    @@ -3126,7 +3125,7 @@
    Returns:
    Type
    - object + Object
    @@ -3168,7 +3167,7 @@
    Parameters:
    @@ -3223,7 +3222,7 @@
    Parameters:
    @@ -3308,7 +3307,7 @@
    Returns:
    Search for children of an element with a given name and attribute.
    @@ -3331,7 +3330,7 @@
    Parameters:
    element - object + Object An xml2js element. @@ -3377,7 +3376,7 @@
    Returns:
    Type
    - Array.<object> + Array.<Object>
    @@ -3406,7 +3405,7 @@
    Parameters:
    node - object + Object The child node. @@ -3416,7 +3415,7 @@
    Parameters:
    parent - object + Object The parent node. @@ -3600,7 +3599,7 @@

    @@ -3673,6 +3672,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -3733,7 +3733,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -3743,6 +3742,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -3752,7 +3753,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -3786,7 +3787,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/index.html b/docs/html/index.html index fd2e379d..e7d60127 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -43,6 +43,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -103,7 +104,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -113,6 +113,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -122,7 +124,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -156,7 +158,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/issues_issues.js.html b/docs/html/issues_issues.js.html index 24e73374..54823ff3 100644 --- a/docs/html/issues_issues.js.html +++ b/docs/html/issues_issues.js.html @@ -30,9 +30,15 @@

    Source: issues/issues.js

    */ issue + /** + * Constructor. + * + * @param {Issue} issue The associated HED issue. + * @param {...*} params Extra parameters (to be forwarded to the {@link Error} constructor). + */ constructor(issue, ...params) { // Pass remaining arguments (including vendor specific ones) to parent constructor - super(...params) + super(issue.message, ...params) // Maintains proper stack trace for where our error was thrown (only available on V8) if (Error.captureStackTrace) { @@ -41,7 +47,6 @@

    Source: issues/issues.js

    this.name = 'IssueError' this.issue = issue - this.message = issue.message Object.setPrototypeOf(this, IssueError.prototype) } @@ -56,6 +61,16 @@

    Source: issues/issues.js

    static generateAndThrow(internalCode, parameters = {}) { throw new IssueError(generateIssue(internalCode, parameters)) } + + /** + * Generate a new {@link Issue} object for an internal error and immediately throw it as an {@link IssueError}. + * + * @param {string} message A message describing the internal error. + * @throws {IssueError} Corresponding to the generated internal error {@link Issue}. + */ + static generateAndThrowInternalError(message = 'Unknown internal error') { + throw new IssueError(generateIssue('internalError', { message })) + } } /** @@ -109,7 +124,7 @@

    Source: issues/issues.js

    * * @returns {boolean} */ - isError() { + get isError() { return this.level === 'error' } @@ -158,7 +173,7 @@

    Source: issues/issues.js

    * @returns {Array} Returns [boolean, Issue[]] indicate if validation succeeded (i.e. any errors were found)and all issues (both errors and warnings). */ static issueListWithValidStatus(issues) { - return [!issues.some((issue) => issue.isError()), issues] + return [!issues.some((issue) => issue.isError), issues] } } @@ -170,9 +185,9 @@

    Source: issues/issues.js

    * @returns {Issue} An object representing the issue. */ export const generateIssue = function (internalCode, parameters) { - const issueCodeData = issueData[internalCode] ?? issueData.genericError + const issueCodeData = issueData[internalCode] ?? issueData.internalError const { hedCode, level } = issueCodeData - if (issueCodeData === issueData.genericError) { + if (issueCodeData === issueData.internalError) { parameters.internalCode = internalCode parameters.parameters = 'Issue parameters: ' + JSON.stringify(parameters) } @@ -207,6 +222,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -267,7 +283,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -277,6 +292,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -286,7 +303,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -320,7 +337,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/module.exports_module.exports.html b/docs/html/module.exports_module.exports.html index b0af1883..dbe32b48 100644 --- a/docs/html/module.exports_module.exports.html +++ b/docs/html/module.exports_module.exports.html @@ -169,6 +169,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -229,7 +230,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -239,6 +239,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -248,7 +250,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -282,7 +284,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/module.html#.exports b/docs/html/module.html#.exports index cd055c35..c5606a07 100644 --- a/docs/html/module.html#.exports +++ b/docs/html/module.html#.exports @@ -10931,13 +10931,13 @@
    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 GMT-0600 (Central Standard Time) + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/parser_definitionChecker.js.html b/docs/html/parser_definitionChecker.js.html index 776974ef..c3571846 100644 --- a/docs/html/parser_definitionChecker.js.html +++ b/docs/html/parser_definitionChecker.js.html @@ -21,9 +21,9 @@

    Source: parser/definitionChecker.js

    import { generateIssue } from '../issues/issues'
     import { getTagListString } from './parseUtils'
    -import Set from 'lodash/_Set'
     
     const DEFINITION_TAGS = new Set(['Definition', 'Def', 'Def-expand'])
    +
     const DEF_GROUP_TAGS = new Set(['Definition', 'Def-expand'])
     
     export class DefinitionChecker {
    @@ -31,7 +31,6 @@ 

    Source: parser/definitionChecker.js

    * Check Def-expand or definition syntax for compatible tags and number of groups * @param {ParsedHedString} hedString - A group to check for Def-expand syntax. */ - constructor(hedString) { this.hedString = hedString this.definitionTags = this.hedString.tags.filter((tag) => tag.schemaTag.name === 'Definition') @@ -179,35 +178,6 @@

    Source: parser/definitionChecker.js

    } return [] } - - // _checkDefinitionSyntax(parsedString) { - // - // // This checks whether there are any definitions in the string if the definition is allowed. - // const definitionContextIssues = this._checkDefinitionContext(parsedString) - // if (definitionContextIssues.length > 0) { - // return definitionContextIssues - // } - // - // // If - // const definitionStructureIssues = this._checkDefinitionStructure(parsedString) - // return definitionStructureIssues - // } - // - // - // - - // return issues - // const definitionTags = parsedString.tags.filter((tag) => tag.schemaTag.name === 'Definition') - // if (definitionTags.length > 0) { - // return [ - // generateIssue('illegalDefinitionContext', { - // definition: getTagListString(definitionTags), - // string: parsedString.hedString, - // }), - // ] - // } - // return [] - // } }
    @@ -237,6 +207,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -297,7 +268,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -307,6 +277,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -316,7 +288,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -350,7 +322,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/parser_definitionManager.js.html b/docs/html/parser_definitionManager.js.html index 52adf450..01960f29 100644 --- a/docs/html/parser_definitionManager.js.html +++ b/docs/html/parser_definitionManager.js.html @@ -20,7 +20,7 @@

    Source: parser/definitionManager.js

    import { generateIssue, IssueError } from '../issues/issues'
    -import { parse } from './parser'
    +import { parseHedString } from './parser'
     import { filterByTagName } from './parseUtils'
     
     export class Definition {
    @@ -75,27 +75,27 @@ 

    Source: parser/definitionManager.js

    * @param {ParsedHedTag} tag - The parsed HEd tag whose details should be checked. * @param {Schemas} hedSchema - The HED schemas used to validate against. * @param {boolean} placeholderAllowed - If true then placeholder is allowed in the def tag. - * @returns {Array} - Returns [string, Issue[]] containing the evaluated normalized definition string and any issues in the evaluation, + * @returns {Array} - Returns [string, Issue[], Issue[]] containing the evaluated normalized definition string and any issues in the evaluation, */ evaluateDefinition(tag, hedSchema, placeholderAllowed) { // Check that the level of the value of tag agrees with the definition if (!!this.defTag._splitValue !== !!tag._splitValue) { const errorType = tag.schemaTag.name === 'Def' ? 'missingDefinitionForDef' : 'missingDefinitionForDefExpand' - return [null, [generateIssue(errorType, { definition: tag._value })]] + return [null, [generateIssue(errorType, { definition: tag._value })], []] } // Check that the evaluated definition contents okay (if two-level value) if (!this.defContents) { - return ['', []] + return ['', [], []] } if (!this.defTag._splitValue || (placeholderAllowed && tag._splitValue === '#')) { - return [this.defContents.normalized, []] + return [this.defContents.normalized, [], []] } const evalString = this.defContents.originalTag.replace('#', tag._splitValue) - const [normalizedValue, issues] = parse(evalString, hedSchema, false, false) - if (issues.length > 0) { - return [null, issues] + const [normalizedValue, errorIssues, warningIssues] = parseHedString(evalString, hedSchema, false, false) + if (errorIssues.length > 0) { + return [null, errorIssues, warningIssues] } - return [normalizedValue.normalized, []] + return [normalizedValue.normalized, [], []] } /** @@ -127,15 +127,15 @@

    Source: parser/definitionManager.js

    * * @param {string} hedString - A list of string definitions. * @param {Schemas} hedSchemas - The HED schemas to use in creation. - * @returns {Array} - Returns [Definition, Issue[]] with the definition and any issues. + * @returns {Array} - Returns [Definition, Issue[], Issue[]] with the definition and any issues. */ static createDefinition(hedString, hedSchemas) { - const [parsedString, issues] = parse(hedString, hedSchemas, true, true) - if (issues.length > 0) { - return [null, issues] + const [parsedString, errorIssues, warningIssues] = parseHedString(hedString, hedSchemas, true, true) + if (errorIssues.length > 0) { + return [null, errorIssues, warningIssues] } if (parsedString.topLevelTags.length !== 0 || parsedString.tagGroups.length > 1) { - return [null, [generateIssue('invalidDefinition', { definition: hedString })]] + return [null, [generateIssue('invalidDefinition', { definition: hedString }), warningIssues]] } return Definition.createDefinitionFromGroup(parsedString.tagGroups[0]) } @@ -143,14 +143,14 @@

    Source: parser/definitionManager.js

    /** * Create a definition from a ParsedHedGroup. * @param {ParsedHedGroup} group - The group to create a definition from. - * @returns {Array} - Returns [Definition, Issue[]] with the definition and any issues. (The definition will be null if issues.) + * @returns {Array} - Returns [Definition, Issue[], Issue[]] with the definition and any issues. (The definition will be null if issues.) */ static createDefinitionFromGroup(group) { const def = new Definition(group) if (def._checkDefinitionPlaceholderCount()) { - return [def, []] + return [def, [], []] } - return [null, [generateIssue('invalidPlaceholderInDefinition', { definition: def.defGroup.originalTag })]] + return [null, [generateIssue('invalidPlaceholderInDefinition', { definition: def.defGroup.originalTag })], []] } } @@ -363,6 +363,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -423,7 +424,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -433,6 +433,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -442,7 +444,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -476,7 +478,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/parser_eventManager.js.html b/docs/html/parser_eventManager.js.html index 534a54d5..8d6b9681 100644 --- a/docs/html/parser_eventManager.js.html +++ b/docs/html/parser_eventManager.js.html @@ -230,6 +230,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -290,7 +291,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -300,6 +300,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -309,7 +311,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -343,7 +345,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/parser_parseUtils.js.html b/docs/html/parser_parseUtils.js.html index 9c97bd31..bd391972 100644 --- a/docs/html/parser_parseUtils.js.html +++ b/docs/html/parser_parseUtils.js.html @@ -138,6 +138,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -198,7 +199,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -208,6 +208,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -217,7 +219,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -251,7 +253,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/parser_parsedHedColumnSplice.js.html b/docs/html/parser_parsedHedColumnSplice.js.html index ba50c5d5..a7a240e6 100644 --- a/docs/html/parser_parsedHedColumnSplice.js.html +++ b/docs/html/parser_parsedHedColumnSplice.js.html @@ -87,6 +87,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -147,7 +148,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -157,6 +157,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -166,7 +168,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -200,7 +202,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/parser_parsedHedGroup.js.html b/docs/html/parser_parsedHedGroup.js.html index ea233299..b20adadf 100644 --- a/docs/html/parser_parsedHedGroup.js.html +++ b/docs/html/parser_parsedHedGroup.js.html @@ -308,6 +308,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -368,7 +369,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -378,6 +378,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -387,7 +389,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -421,7 +423,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/parser_parsedHedString.js.html b/docs/html/parser_parsedHedString.js.html index d4181544..8b7b270f 100644 --- a/docs/html/parser_parsedHedString.js.html +++ b/docs/html/parser_parsedHedString.js.html @@ -161,6 +161,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -221,7 +222,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -231,6 +231,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -240,7 +242,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -274,7 +276,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/parser_parsedHedSubstring.js.html b/docs/html/parser_parsedHedSubstring.js.html index b4193993..96fdd7c6 100644 --- a/docs/html/parser_parsedHedSubstring.js.html +++ b/docs/html/parser_parsedHedSubstring.js.html @@ -104,6 +104,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -164,7 +165,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -174,6 +174,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -183,7 +185,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -217,7 +219,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/parser_parsedHedTag.js.html b/docs/html/parser_parsedHedTag.js.html index a7ee578c..4b44e32c 100644 --- a/docs/html/parser_parsedHedTag.js.html +++ b/docs/html/parser_parsedHedTag.js.html @@ -26,7 +26,7 @@

    Source: parser/parsedHedTag.js

    import { ReservedChecker } from './reservedChecker' const TWO_LEVEL_TAGS = new Set(['Definition', 'Def', 'Def-expand']) -const allowedRegEx = /^[^{}\,]*$/ +const allowedRegEx = /^[^{},]*$/ /** * A parsed HED tag. @@ -147,10 +147,7 @@

    Source: parser/parsedHedTag.js

    } // Check that there is a value if required const reserved = ReservedChecker.getInstance() - if ( - (schemaTag.hasAttributeName('requireChild') || reserved.requireValueTags.has(schemaTag.name)) && - remainder === '' - ) { + if ((schemaTag.hasAttribute('requireChild') || reserved.requireValueTags.has(schemaTag.name)) && remainder === '') { IssueError.generateAndThrow('valueRequired', { tag: this.originalTag }) } // Check if this could have a two-level value @@ -255,7 +252,8 @@

    Source: parser/parsedHedTag.js

    * @returns {boolean} Whether this tag has the named attribute. */ hasAttribute(attribute) { - return this.schema?.tagHasAttribute(this.formattedTag, attribute) + return this.schemaTag.hasAttribute(attribute) + //return this.schema?.tagHasAttribute(this.formattedTag, attribute) } /** @@ -283,6 +281,22 @@

    Source: parser/parsedHedTag.js

    } } + /** + * Indicates whether the tag is deprecated + * @returns {boolean} + */ + get isDeprecated() { + return this.schemaTag.hasAttribute('deprecatedFrom') + } + + /** + * Indicates whether the tag is deprecated + * @returns {boolean} + */ + get isExtended() { + return !this.takesValueTag && this._remainder !== '' + } + /** * Get the schema tag object for this tag's value-taking form. * @@ -383,6 +397,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -443,7 +458,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -453,6 +467,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -462,7 +478,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -496,7 +512,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/parser_parser.js.html b/docs/html/parser_parser.js.html index ad6e290c..b5fb6943 100644 --- a/docs/html/parser_parser.js.html +++ b/docs/html/parser_parser.js.html @@ -70,48 +70,80 @@

    Source: parser/parser.js

    /** * Parse a full HED string. - * @returns {Array} - [ParsedHedString|null, Issue[]] representing the parsed HED string and any parsing issues. + * + * ###Note: now separates errors and warnings for easier handling. + * + * @returns {Array} - [ParsedHedString|null, Issue[], Issue[]] representing the parsed HED string and any parsing issues. */ parse() { if (this.hedString === null || this.hedString === undefined) { - return [null, [generateIssue('invalidTagString', {})]] + return [null, [generateIssue('invalidTagString', {})], []] } const placeholderIssues = this._getPlaceholderCountIssues() if (placeholderIssues.length > 0) { - return [null, placeholderIssues] + return [null, placeholderIssues, []] } if (this.hedString instanceof ParsedHedString) { - return [this.hedString, []] + return [this.hedString, [], []] } if (!this.hedSchemas) { - return [null, [generateIssue('missingSchemaSpecification', {})]] + return [null, [generateIssue('missingSchemaSpecification', {})], []] } // This assumes that splitter errors are only errors and not warnings const [parsedTags, parsingIssues] = new HedStringSplitter(this.hedString, this.hedSchemas).splitHedString() if (parsedTags === null || parsingIssues.length > 0) { - return [null, parsingIssues] + return [null, parsingIssues, []] } // Returns a parsed HED string unless empty const parsedString = new ParsedHedString(this.hedString, parsedTags) if (!parsedString) { - return [null, null] + return [null, null, []] } // Check the definition syntax issues const definitionIssues = new DefinitionChecker(parsedString).check(this.definitionsAllowed) if (definitionIssues.length > 0) { - return [null, definitionIssues] + return [null, definitionIssues, []] } // Check the other reserved tags requirements const checkIssues = ReservedChecker.getInstance().checkHedString(parsedString) if (checkIssues.length > 0) { - return [null, checkIssues] + return [null, checkIssues, []] + } + + // Warnings are only checked when there are no fatal errors + return [parsedString, [], this._getWarnings(parsedString)] + } + + /** + * Get warnings applicable for a parsed HED string. + * @param {ParsedHedString} parsedString - HED string object to check for warnings. + * @returns {Issue[]} - Warnings for the parsed HED string + * @private + */ + _getWarnings(parsedString) { + const warnings = [] + // Check for deprecated + const deprecatedTags = parsedString.tags.filter((tag) => tag.isDeprecated === true) + if (deprecatedTags.length > 0) { + const deprecated = deprecatedTags.map((tag) => tag.toString()) + warnings.push( + generateIssue('deprecatedTag', { tags: '[' + deprecated.join(', ') + ']', string: parsedString.hedString }), + ) } - return [parsedString, []] + // Check for tag extensions + const extendedTags = parsedString.tags.filter((tag) => tag.isExtended === true) + if (extendedTags.length > 0) { + const extended = extendedTags.map((tag) => tag.toString()) + warnings.push( + generateIssue('extendedTag', { tags: '[' + extended.join(', ') + ']', string: parsedString.hedString }), + ) + } + return warnings } /** @@ -137,50 +169,56 @@

    Source: parser/parser.js

    * @param {Schemas} hedSchemas The collection of HED schemas. * @param {boolean} definitionsAllowed - True if definitions are allowed * @param {boolean} placeholdersAllowed - True if placeholders are allowed - * @returns {Array} - [ParsedHedString[], Issue[]] representing the parsed HED strings and any issues found. + * @returns {Array} - [ParsedHedString[], Issue[], Issue[]] representing the parsed HED strings and any errors and warnings. */ static parseHedStrings(hedStrings, hedSchemas, definitionsAllowed, placeholdersAllowed) { if (!hedSchemas) { - return [null, [generateIssue('missingSchemaSpecification', {})]] + return [null, [generateIssue('missingSchemaSpecification', {})], []] } const parsedStrings = [] - const cumulativeIssues = [] + const errors = [] + const warnings = [] for (const hedString of hedStrings) { - const [parsedString, currentIssues] = new HedStringParser( + const [parsedString, errorIssues, warningIssues] = new HedStringParser( hedString, hedSchemas, definitionsAllowed, placeholdersAllowed, ).parse() parsedStrings.push(parsedString) - cumulativeIssues.push(...currentIssues) + errors.push(...errorIssues) + warnings.push(...warningIssues) } - return [parsedStrings, cumulativeIssues] + return [parsedStrings, errors, warnings] } } /** * Parse a HED string. * + * ###Note: now separates errors and warnings for easier handling. + * * @param {string|ParsedHedString} hedString A (possibly already parsed) HED string. * @param {Schemas} hedSchemas - The collection of HED schemas. * @param {boolean} definitionsAllowed - True if definitions are allowed. * @param {boolean} placeholdersAllowed - True if placeholders are allowed. - * @returns {Array} - [ParsedHedString, Issue[]] representing the parsed HED string and any issues found. + * @returns {Array} - [ParsedHedString, Issue[], Issue[]] representing the parsed HED string and any issues found. */ -export function parse(hedString, hedSchemas, definitionsAllowed, placeholdersAllowed) { +export function parseHedString(hedString, hedSchemas, definitionsAllowed, placeholdersAllowed) { return new HedStringParser(hedString, hedSchemas, definitionsAllowed, placeholdersAllowed).parse() } /** * Parse a list of HED strings. * + * ###Note: now separates errors and warnings for easier handling. + * * @param {string[]|ParsedHedString[]} hedStrings - A list of HED strings. * @param {Schemas} hedSchemas - The collection of HED schemas. * @param {boolean} definitionsAllowed - True if definitions are allowed * @param {boolean} placeholdersAllowed - True if placeholders are allowed - * @returns {Array} - [ParsedHedString[], Issue[]] representing the parsed HED strings and any issues found. + * @returns {Array} - [ParsedHedString[], Issue[], Issue[]] representing the parsed HED strings and any issues found. */ export function parseHedStrings(hedStrings, hedSchemas, definitionsAllowed, placeholdersAllowed) { return HedStringParser.parseHedStrings(hedStrings, hedSchemas, definitionsAllowed, placeholdersAllowed) @@ -213,6 +251,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -273,7 +312,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -283,6 +321,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -292,7 +332,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -326,7 +366,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/parser_reservedChecker.js.html b/docs/html/parser_reservedChecker.js.html index 919b6f85..7e4cc34b 100644 --- a/docs/html/parser_reservedChecker.js.html +++ b/docs/html/parser_reservedChecker.js.html @@ -20,7 +20,7 @@

    Source: parser/reservedChecker.js

    import reservedTags from '../data/json/reservedTags.json'
    -import { generateIssue } from '../issues/issues'
    +import { generateIssue, IssueError } from '../issues/issues'
     import { getTagListString } from './parseUtils'
     
     export class ReservedChecker {
    @@ -29,7 +29,7 @@ 

    Source: parser/reservedChecker.js

    constructor() { if (ReservedChecker.instance) { - throw new Error('Use ReservedChecker.getInstance() to get an instance of this class.') + IssueError.generateAndThrowInternalError('Use ReservedChecker.getInstance() to get an instance of this class.') } this._initializeReservedTags() @@ -61,7 +61,7 @@

    Source: parser/reservedChecker.js

    * Perform syntactical checks on the provided HED string to detect violations. * * @param {ParsedHedString} hedString - The HED string to be checked. - * @returns {Issue[]} An array of issues if violations are found otherwise, an empty array. + * @returns {Issue[]} - An array of issues if violations are found otherwise, an empty array. */ checkHedString(hedString) { const checks = [ @@ -299,7 +299,7 @@

    Source: parser/reservedChecker.js

    */ static hasTopLevelTagGroupAttribute(tag) { return ( - tag.schemaTag.hasAttributeName('topLevelTagGroup') || + tag.schemaTag.hasAttribute('topLevelTagGroup') || (ReservedChecker.reservedMap.has(tag.schemaTag.name) && ReservedChecker.reservedMap.get(tag.schemaTag.name).topLevelTagGroup) ) @@ -314,7 +314,7 @@

    Source: parser/reservedChecker.js

    * Note: This checks both reserved and schema tag requirements. */ static hasGroupAttribute(tag) { - return tag.schemaTag.hasAttributeName('tagGroup') + return tag.schemaTag.hasAttribute('tagGroup') } }
    @@ -345,6 +345,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -405,7 +406,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -415,6 +415,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -424,7 +426,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -458,7 +460,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/parser_splitter.js.html b/docs/html/parser_splitter.js.html index 6b9ada54..df58c35b 100644 --- a/docs/html/parser_splitter.js.html +++ b/docs/html/parser_splitter.js.html @@ -169,6 +169,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -229,7 +230,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -239,6 +239,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -248,7 +250,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -282,7 +284,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/parser_tagConverter.js.html b/docs/html/parser_tagConverter.js.html index 5a34550f..0981da58 100644 --- a/docs/html/parser_tagConverter.js.html +++ b/docs/html/parser_tagConverter.js.html @@ -127,7 +127,7 @@

    Source: parser/tagConverter.js

    } if ( parentTag !== undefined && - (!parentTag.hasAttributeName('extensionAllowed') || this.special.noExtensionTags.has(parentTag.name)) + (!parentTag.hasAttribute('extensionAllowed') || this.special.noExtensionTags.has(parentTag.name)) ) { IssueError.generateAndThrow('invalidExtension', { tag: this.tagLevels[tagLevelIndex], @@ -175,7 +175,7 @@

    Source: parser/tagConverter.js

    } this.schemaTag = schemaTag this.remainder = this.tagLevels.slice(remainderStartLevelIndex).join('/') - if (this.schemaTag?.hasAttributeName('requireChild') && !this.remainder) { + if (this.schemaTag?.hasAttribute('requireChild') && !this.remainder) { IssueError.generateAndThrow('childRequired', { tag: this.tagString }) } } @@ -219,6 +219,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -279,7 +280,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -289,6 +289,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -298,7 +300,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -332,7 +334,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/parser_tokenizer.js.html b/docs/html/parser_tokenizer.js.html index 163f9661..4ecd09ce 100644 --- a/docs/html/parser_tokenizer.js.html +++ b/docs/html/parser_tokenizer.js.html @@ -448,6 +448,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -508,7 +509,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -518,6 +518,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -527,7 +529,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -561,7 +563,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/schema_config.js.html b/docs/html/schema_config.js.html index 1590e903..c868eb68 100644 --- a/docs/html/schema_config.js.html +++ b/docs/html/schema_config.js.html @@ -26,8 +26,8 @@

    Source: schema/config.js

    ['HED8.1.0', require('../data/schemas/HED8.1.0.xml')], ['HED8.2.0', require('../data/schemas/HED8.2.0.xml')], ['HED8.3.0', require('../data/schemas/HED8.3.0.xml')], - ['HED_score_1.0.0', require('../data/schemas/HED_score_1.0.0.xml')], - ['HED_score_1.1.0', require('../data/schemas/HED_score_1.1.0.xml')], + ['HED_lang_1.0.0', require('../data/schemas/HED_lang_1.0.0.xml')], + ['HED_score_1.2.0', require('../data/schemas/HED_score_1.2.0.xml')], ['HED_score_2.0.0', require('../data/schemas/HED_score_2.0.0.xml')], ['HED_testlib_1.0.2', require('../data/schemas/HED_testlib_1.0.2.xml')], ['HED_testlib_2.0.0', require('../data/schemas/HED_testlib_2.0.0.xml')], @@ -60,6 +60,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -120,7 +121,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -130,6 +130,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -139,7 +141,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -173,7 +175,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/schema_containers.js.html b/docs/html/schema_containers.js.html index 73553329..bdd9f235 100644 --- a/docs/html/schema_containers.js.html +++ b/docs/html/schema_containers.js.html @@ -19,9 +19,9 @@

    Source: schema/containers.js

    -
    import { getGenerationForSchemaVersion } from '../utils/hedData'
    +          
    import lt from 'semver/functions/lt'
    +
    +import { IssueError } from '../issues/issues'
     
     /**
      * An imported HED 3 schema.
    @@ -32,11 +32,6 @@ 

    Source: schema/containers.js

    * @type {string} */ version - /** - * The HED generation of this schema. - * @type {Number} - */ - generation /** * The HED library schema name. * @type {string} @@ -61,7 +56,7 @@

    Source: schema/containers.js

    /** * Constructor. * - * @param {object} xmlData The schema XML data. + * @param {Object} xmlData The schema XML data. * @param {SchemaEntries} entries A collection of schema entries. */ constructor(xmlData, entries) { @@ -69,10 +64,10 @@

    Source: schema/containers.js

    this.version = rootElement?.$?.version this.library = rootElement?.$?.library ?? '' - if (this.library) { - this.generation = 3 - } else if (this.version) { - this.generation = getGenerationForSchemaVersion(this.version) + if (!this.library && this.version && lt(this.version, '8.0.0')) { + IssueError.generateAndThrow('deprecatedStandardSchemaVersion', { + version: this.version, + }) } if (!this.library) { @@ -115,7 +110,6 @@

    Source: schema/containers.js

    this.actualSchemas = actualSchemas this.withStandard = actualSchemas[0].withStandard this.library = undefined - this.generation = 3 } } @@ -145,7 +139,7 @@

    Source: schema/containers.js

    } else if (schemas instanceof Schema) { this.schemas = new Map([['', schemas]]) } else { - throw new Error('Invalid type passed to Schemas constructor') + IssueError.generateAndThrowInternalError('Invalid type passed to Schemas constructor') } if (this.schemas) { this._addNicknamesToSchemas() @@ -208,40 +202,6 @@

    Source: schema/containers.js

    return null } } - - /** - * The HED generation of this schema. - * - * If baseSchema is null, generation is set to 0. - * @type {Number} - */ - get generation() { - if (this.schemas === null || this.schemas.size === 0) { - return 0 - } else if (this.librarySchemas.size > 0) { - return 3 - } else if (this.baseSchema) { - return this.baseSchema.generation - } else { - return 0 - } - } - - /** - * Whether this schema collection is for syntactic validation only. - * @returns {boolean} - */ - get isSyntaxOnly() { - return this.generation === 0 - } - - /** - * Whether this schema collection comprises HED 3 schemas. - * @returns {boolean} - */ - get isHed3() { - return this.generation === 3 - } }
    @@ -271,6 +231,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -331,7 +292,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -341,6 +301,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -350,7 +312,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -384,7 +346,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/schema_entries.js.html b/docs/html/schema_entries.js.html index 968bdd8c..2f3655cf 100644 --- a/docs/html/schema_entries.js.html +++ b/docs/html/schema_entries.js.html @@ -120,7 +120,7 @@

    Source: schema/entries.js

    if (!this.tags.hasLongNameEntry(tag)) { return false } - return this.tags.getLongNameEntry(tag).hasAttributeName(tagAttribute) + return this.tags.getLongNameEntry(tag).hasAttribute(tagAttribute) } } @@ -202,8 +202,8 @@

    Source: schema/entries.js

    */ getEntriesWithBooleanAttribute(booleanAttributeName) { return this._memoize(booleanAttributeName, () => { - return this.filter(([_, v]) => { - return v.hasAttributeName(booleanAttributeName) + return this.filter(([, v]) => { + return v.hasAttribute(booleanAttributeName) }) }) } @@ -457,22 +457,25 @@

    Source: schema/entries.js

    /** * SchemaEntryWithAttributes class */ -class SchemaEntryWithAttributes extends SchemaEntry { +export class SchemaEntryWithAttributes extends SchemaEntry { /** * The set of boolean attributes this schema entry has. * @type {Set<SchemaAttribute>} */ booleanAttributes + /** * The collection of value attributes this schema entry has. * @type {Map<SchemaAttribute, *>} */ valueAttributes + /** * The set of boolean attribute names this schema entry has. * @type {Set<string>} */ booleanAttributeNames + /** * The collection of value attribute names this schema entry has. * @type {Map<string, *>} @@ -508,7 +511,7 @@

    Source: schema/entries.js

    * @returns {boolean} Whether this schema entry has this attribute. */ hasAttribute(attribute) { - return this.booleanAttributes.has(attribute) + return this.booleanAttributeNames.has(attribute) || this.valueAttributeNames.has(attribute) } /** @@ -616,15 +619,15 @@

    Source: schema/entries.js

    } get isPrefixUnit() { - return this.hasAttributeName('unitPrefix') + return this.hasAttribute('unitPrefix') } get isSIUnit() { - return this.hasAttributeName('SIUnit') + return this.hasAttribute('SIUnit') } get isUnitSymbol() { - return this.hasAttributeName('unitSymbol') + return this.hasAttribute('unitSymbol') } /** @@ -743,11 +746,11 @@

    Source: schema/entries.js

    } get isSIUnitModifier() { - return this.hasAttributeName('SIUnitModifier') + return this.hasAttribute('SIUnitModifier') } get isSIUnitSymbolModifier() { - return this.hasAttributeName('SIUnitSymbolModifier') + return this.hasAttribute('SIUnitSymbolModifier') } } @@ -804,7 +807,8 @@

    Source: schema/entries.js

    * @type {SchemaTag} * @private */ - _parent + #parent + /** * This tag's unit classes. * @type {SchemaUnitClass[]} @@ -824,7 +828,7 @@

    Source: schema/entries.js

    * @type {SchemaValueTag} * @private */ - _valueTag + #valueTag /** * Constructor. @@ -866,20 +870,12 @@

    Source: schema/entries.js

    return this._valueClasses.slice() } - /** - * Whether this tag has any value classes. - * @returns {boolean} - */ - get hasValueClasses() { - return this._valueClasses.length !== 0 - } - /** * This tag's value-taking child tag. * @returns {SchemaValueTag} */ get valueTag() { - return this._valueTag + return this.#valueTag } /** @@ -887,12 +883,8 @@

    Source: schema/entries.js

    * @param {SchemaValueTag} newValueTag The new value-taking child tag. */ set valueTag(newValueTag) { - if (this._valueTag === undefined) { - this._valueTag = newValueTag - } else { - IssueError.generateAndThrow('internalError', { - message: `Attempted to set value tag for schema tag "${this.longName}" when it already has one.`, - }) + if (!this.#isPrivateFieldSet(this.#valueTag, 'value tag')) { + this.#valueTag = newValueTag } } @@ -901,7 +893,7 @@

    Source: schema/entries.js

    * @type {SchemaTag} */ get parent() { - return this._parent + return this.#parent } /** @@ -909,13 +901,27 @@

    Source: schema/entries.js

    * @param {SchemaTag} newParent The new parent tag. */ set parent(newParent) { - if (this._parent === undefined) { - this._parent = newParent - } else { - IssueError.generateAndThrow('internalError', { - message: `Attempted to set parent for schema tag ${this.longName} when it already has one.`, - }) + if (!this.#isPrivateFieldSet(this.#parent, 'parent')) { + this.#parent = newParent + } + } + + /** + * Throw an error if a private field is already set. + * + * @param {*} field The field being set. + * @param {string} fieldName The name of the field (for error reporting). + * @return {boolean} Whether the field is set (never returns true). + * @throws {IssueError} If the field is already set. + * @private + */ + #isPrivateFieldSet(field, fieldName) { + if (field !== undefined) { + IssueError.generateAndThrowInternalError( + `Attempted to set ${fieldName} for schema tag ${this.longName} when it already has one.`, + ) } + return false } /** @@ -1032,6 +1038,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -1092,7 +1099,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -1102,6 +1108,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -1111,7 +1119,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -1145,7 +1153,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/schema_init.js.html b/docs/html/schema_init.js.html index 61d30e2a..40a2cf64 100644 --- a/docs/html/schema_init.js.html +++ b/docs/html/schema_init.js.html @@ -31,7 +31,7 @@

    Source: schema/init.js

    /** * Build a single schema container object from an XML file. * - * @param {object} xmlData The schema's XML data + * @param {Object} xmlData The schema's XML data * @returns {Schema} The HED schema object. */ const buildSchemaObject = function (xmlData) { @@ -44,7 +44,7 @@

    Source: schema/init.js

    /** * Build a single merged schema container object from one or more XML files. * - * @param {object[]} xmlData The schemas' XML data. + * @param {Object[]} xmlData The schemas' XML data. * @returns {Schema} The HED schema object. */ const buildSchemaObjects = function (xmlData) { @@ -104,6 +104,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -164,7 +165,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -174,6 +174,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -183,7 +185,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -217,7 +219,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/schema_loader.js.html b/docs/html/schema_loader.js.html index 8d9e0a0d..9252c70f 100644 --- a/docs/html/schema_loader.js.html +++ b/docs/html/schema_loader.js.html @@ -163,6 +163,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -223,7 +224,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -233,6 +233,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -242,7 +244,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -276,7 +278,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/schema_parser.js.html b/docs/html/schema_parser.js.html index c1762e88..09b3be9c 100644 --- a/docs/html/schema_parser.js.html +++ b/docs/html/schema_parser.js.html @@ -145,7 +145,7 @@

    Source: schema/parser.js

    * * NOTE: This method cannot be merged into {@link getElementTagValue} because it is used as a first-class object. * - * @param {object} element An XML element. + * @param {Object} element An XML element. * @returns {string} The name of the element. */ getElementTagName(element) { @@ -155,7 +155,7 @@

    Source: schema/parser.js

    /** * Extract a value from an XML element. * - * @param {object} element An XML element. + * @param {Object} element An XML element. * @param {string} tagName The tag value to extract. * @returns {string} The value of the tag in the element. */ @@ -547,6 +547,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -607,7 +608,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -617,6 +617,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -626,7 +628,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -660,7 +662,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/schema_schemaMerger.js.html b/docs/html/schema_schemaMerger.js.html index 674f8abf..68aa88f5 100644 --- a/docs/html/schema_schemaMerger.js.html +++ b/docs/html/schema_schemaMerger.js.html @@ -56,10 +56,6 @@

    Source: schema/schemaMerger.js

    * @private */ _validate() { - if (!this.sourceSchemas.every((schema) => schema.generation === 3)) { - IssueError.generateAndThrow('internalConsistencyError', { message: 'Partnered schemas must be HED-3G schemas' }) - } - for (const schema of this.sourceSchemas.slice(1)) { if (schema.withStandard !== this.destination.withStandard) { IssueError.generateAndThrow('differentWithStandard', { @@ -139,7 +135,7 @@

    Source: schema/schemaMerger.js

    if (rootedTagShortName) { const parentTag = tag.parent if (parentTag?.name?.toLowerCase() !== rootedTagShortName?.toLowerCase()) { - IssueError.generateAndThrow('internalError', { message: `Node ${shortName} is improperly rooted.` }) + IssueError.generateAndThrowInternalError(`Node ${shortName} is improperly rooted.`) } } @@ -216,6 +212,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -276,7 +273,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -286,6 +282,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -295,7 +293,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -329,7 +327,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/schema_specs.js.html b/docs/html/schema_specs.js.html index c33e1335..ee35cd31 100644 --- a/docs/html/schema_specs.js.html +++ b/docs/html/schema_specs.js.html @@ -147,6 +147,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -207,7 +208,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -217,6 +217,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -226,7 +228,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -260,7 +262,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/utils_array.js.html b/docs/html/utils_array.js.html index 76c4001e..a0dbb457 100644 --- a/docs/html/utils_array.js.html +++ b/docs/html/utils_array.js.html @@ -79,6 +79,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -139,7 +140,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -149,6 +149,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -158,7 +160,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -192,7 +194,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/utils_files.js.html b/docs/html/utils_files.js.html index 030d8426..00c283b6 100644 --- a/docs/html/utils_files.js.html +++ b/docs/html/utils_files.js.html @@ -23,6 +23,8 @@

    Source: utils/files.js

    import fetch from 'cross-fetch' +import { IssueError } from '../issues/issues' + /** * Read a local file. * @@ -50,7 +52,9 @@

    Source: utils/files.js

    export async function readHTTPSFile(url) { const response = await fetch(url) if (!response.ok) { - throw new Error(`Server responded to ${url} with status code ${response.status}: ${response.statusText}`) + IssueError.generateAndThrowInternalError( + `Server responded to ${url} with status code ${response.status}: ${response.statusText}`, + ) } return response.text() } @@ -82,6 +86,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -142,7 +147,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -152,6 +156,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -161,7 +167,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -195,7 +201,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/utils_hedStrings.js.html b/docs/html/utils_hedStrings.js.html index 825401b2..bd4463e0 100644 --- a/docs/html/utils_hedStrings.js.html +++ b/docs/html/utils_hedStrings.js.html @@ -123,6 +123,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -183,7 +184,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -193,6 +193,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -202,7 +204,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -236,7 +238,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/utils_memoizer.js.html b/docs/html/utils_memoizer.js.html index b7976610..ba2a4212 100644 --- a/docs/html/utils_memoizer.js.html +++ b/docs/html/utils_memoizer.js.html @@ -53,9 +53,7 @@

    Source: utils/memoizer.js

    */ _memoize(propertyName, valueComputer) { if (!propertyName) { - IssueError.generateAndThrow('internalConsistencyError', { - message: 'Invalid property name in Memoizer subclass.', - }) + IssueError.generateAndThrowInternalError('Invalid property name in Memoizer subclass.') } if (this._memoizedProperties.has(propertyName)) { return this._memoizedProperties.get(propertyName) @@ -93,6 +91,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -153,7 +152,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -163,6 +161,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -172,7 +172,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -206,7 +206,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/utils_string.js.html b/docs/html/utils_string.js.html index 02463c05..a5650e0d 100644 --- a/docs/html/utils_string.js.html +++ b/docs/html/utils_string.js.html @@ -133,6 +133,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -193,7 +194,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -203,6 +203,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -212,7 +214,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -246,7 +248,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/utils_xml2js.js.html b/docs/html/utils_xml2js.js.html index 42d210f5..e22e3ceb 100644 --- a/docs/html/utils_xml2js.js.html +++ b/docs/html/utils_xml2js.js.html @@ -22,8 +22,8 @@

    Source: utils/xml2js.js

    /**
      * Recursively set a field on each node of the tree pointing to the node's parent.
      *
    - * @param {object} node The child node.
    - * @param {object} parent The parent node.
    + * @param {Object} node The child node.
    + * @param {Object} parent The parent node.
      */
     const setNodeParent = function (node, parent) {
       // Assume that we've already run this function if so.
    @@ -40,8 +40,8 @@ 

    Source: utils/xml2js.js

    /** * Handle top level of parent-setting recursion before passing to setNodeParent. * - * @param {object} node The child node. - * @param {object} parent The parent node. + * @param {Object} node The child node. + * @param {Object} parent The parent node. */ export const setParent = function (node, parent) { if (node.schema) { @@ -79,6 +79,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -139,7 +140,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -149,6 +149,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -158,7 +160,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -192,7 +194,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/docs/html/utils_xpath.js.html b/docs/html/utils_xpath.js.html index f21711e0..f58fa8b6 100644 --- a/docs/html/utils_xpath.js.html +++ b/docs/html/utils_xpath.js.html @@ -34,9 +34,9 @@

    Source: utils/xpath.js

    /** * Execute an XPath query on an xml2js object. * - * @param {object} element An xml2js element. + * @param {Object} element An xml2js element. * @param {string} query An XPath query. - * @returns {object[]} An array of xml2js elements matching the query. + * @returns {Object[]} An array of xml2js elements matching the query. */ export const find = function (element, query) { const { elementName, attributeName } = parseXPath(query) @@ -56,7 +56,7 @@

    Source: utils/xpath.js

    * This is a minimal parser only suitable for this package. * * @param {string} query An XPath query. - * @returns {object} The parsed search parameters. + * @returns {Object} The parsed search parameters. */ const parseXPath = function (query) { const nodeQuery = /^\/\/(\w+)$/ @@ -81,10 +81,10 @@

    Source: utils/xpath.js

    /** * Search for children of an element with a given name and attribute. * - * @param {object} element An xml2js element. + * @param {Object} element An xml2js element. * @param {string} elementName The element name. * @param {string} attributeName The attribute name. - * @returns {object[]} An array of xml2js elements with the given name and attribute. + * @returns {Object[]} An array of xml2js elements with the given name and attribute. */ const search = function (element, elementName, attributeName) { let result = [] @@ -128,6 +128,7 @@

    Classes

  • HedStringParser
  • HedStringTokenizer
  • Issue
  • +
  • IssueError
  • ParsedHedColumnSplice
  • ParsedHedString
  • ParsedHedSubstring
  • @@ -188,7 +189,6 @@

    Global

  • getElementCount
  • getElementTagName
  • getElementTagValue
  • -
  • getGenerationForSchemaVersion
  • getParentTag
  • getTagListString
  • getTagName
  • @@ -198,6 +198,8 @@

    Global

  • hedStringIsAGroup
  • isClockFaceTime
  • isDateTime
  • +
  • isDeprecated
  • +
  • isExtended
  • isNumber
  • loadBundledSchema
  • loadLocalSchema
  • @@ -207,7 +209,7 @@

    Global

  • localSchemaList
  • mergeSchemas
  • normalized
  • -
  • parse
  • +
  • parseHedString
  • parseHedStrings
  • parseSchemaXML
  • parseTSV
  • @@ -241,7 +243,7 @@

    Global


    - Documentation generated by JSDoc 4.0.4 on Sat Feb 08 2025 11:13:20 + Documentation generated by JSDoc 4.0.4 on Wed Feb 26 2025 06:00:12 GMT-0600 (Central Standard Time)
    diff --git a/src/data/schemas/HED_score_1.0.0.xml b/src/data/schemas/HED_score_1.0.0.xml deleted file mode 100644 index 9b4b02a6..00000000 --- a/src/data/schemas/HED_score_1.0.0.xml +++ /dev/null @@ -1,7938 +0,0 @@ - - - This schema is a Hierarchical Event Descriptors (HED) Library Schema implementation of Standardized Computer-based Organized Reporting of EEG (SCORE)[1,2] for describing events occurring during neuroimaging time series recordings. -The HED-SCORE library schema allows neurologists, neurophysiologists, and brain researchers to annotate electrophysiology recordings using terms from an internationally accepted set of defined terms (SCORE) compatible with the HED framework. -The resulting annotations are understandable to clinicians and directly usable in computer analysis. -Future extensions may be implemented in the HED-SCORE library schema. -For more information see https://hed-schema-library.readthedocs.io/en/latest/index.html. - - - Modulator - External stimuli / interventions or changes in the alertness level (sleep) that modify: the background activity, or how often a graphoelement is occurring, or change other features of the graphoelement (like intra-burst frequency). For each observed finding, there is an option of specifying how they are influenced by the modulators and procedures that were done during the recording. - - requireChild - - - Sleep-modulator - - Sleep-deprivation - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Sleep-following-sleep-deprivation - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Natural-sleep - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Induced-sleep - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Drowsiness - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Awakening - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Medication-modulator - - Medication-administered-during-recording - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Medication-withdrawal-or-reduction-during-recording - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Eye-modulator - - Manual-eye-closure - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Manual-eye-opening - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Stimulation-modulator - - Intermittent-photic-stimulation - - requireChild - - - # - - takesValue - - - valueClass - numericClass - - - unitClass - frequencyUnits - - - - - Auditory-stimulation - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Nociceptive-stimulation - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Hyperventilation - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Physical-effort - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Cognitive-task - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Other-modulator-or-procedure - - requireChild - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Background-activity - An EEG activity representing the setting in which a given normal or abnormal pattern appears and from which such pattern is distinguished. - - requireChild - - - Posterior-dominant-rhythm - Rhythmic activity occurring during wakefulness over the posterior regions of the head, generally with maximum amplitudes over the occipital areas. Amplitude varies. Best seen with eyes closed and during physical relaxation and relative mental inactivity. Blocked or attenuated by attention, especially visual, and mental effort. In adults this is the alpha rhythm, and the frequency is 8 to 13 Hz. However the frequency can be higher or lower than this range (often a supra or sub harmonic of alpha frequency) and is called alpha variant rhythm (fast and slow alpha variant rhythm). In children, the normal range of the frequency of the posterior dominant rhythm is age-dependant. - - suggestedTag - Finding-significance-to-recording - Finding-frequency - Posterior-dominant-rhythm-amplitude-range - Finding-amplitude-asymmetry - Posterior-dominant-rhythm-frequency-asymmetry - Posterior-dominant-rhythm-eye-opening-reactivity - Posterior-dominant-rhythm-organization - Posterior-dominant-rhythm-caveat - Absence-of-posterior-dominant-rhythm - - - - Mu-rhythm - EEG rhythm at 7-11 Hz composed of arch-shaped waves occurring over the central or centro-parietal regions of the scalp during wakefulness. Amplitudes varies but is mostly below 50 microV. Blocked or attenuated most clearly by contralateral movement, thought of movement, readiness to move or tactile stimulation. - - suggestedTag - Finding-frequency - Finding-significance-to-recording - Brain-laterality - Brain-region - Sensors - - - - Other-organized-rhythm - EEG activity that consisting of waves of approximately constant period, which is considered as part of the background (ongoing) activity, but does not fulfill the criteria of the posterior dominant rhythm. - - requireChild - - - suggestedTag - Delta-activity-morphology - Theta-activity-morphology - Alpha-activity-morphology - Beta-activity-morphology - Gamma-activity-morphology - Finding-significance-to-recording - Brain-laterality - Brain-region - Sensors - Appearance-mode - Discharge-pattern - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Background-activity-special-feature - Special Features. Special features contains scoring options for the background activity of critically ill patients. - - requireChild - - - Continuous-background-activity - - suggestedTag - Delta-activity-morphology - Theta-activity-morphology - Alpha-activity-morphology - Beta-activity-morphology - Gamma-activity-morphology - Brain-laterality - Brain-region - Sensors - Finding-extent - - - - Nearly-continuous-background-activity - - suggestedTag - Delta-activity-morphology - Theta-activity-morphology - Alpha-activity-morphology - Beta-activity-morphology - Gamma-activity-morphology - Brain-laterality - Brain-region - Sensors - Finding-extent - - - - Discontinuous-background-activity - - suggestedTag - Delta-activity-morphology - Theta-activity-morphology - Alpha-activity-morphology - Beta-activity-morphology - Gamma-activity-morphology - Brain-laterality - Brain-region - Sensors - Finding-extent - - - - Background-burst-suppression - EEG pattern consisting of bursts (activity appearing and disappearing abruptly) interrupted by periods of low amplitude (below 20 microV) and which occurs simultaneously over all head regions. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Finding-extent - - - - Background-burst-attenuation - - suggestedTag - Brain-laterality - Brain-region - Sensors - Finding-extent - - - - Background-activity-suppression - Periods showing activity under 10 microV (referential montage) and interrupting the background (ongoing) activity. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Finding-extent - Appearance-mode - - - - Electrocerebral-inactivity - Absence of any ongoing cortical electric activities; in all leads EEG is isoelectric or only contains artifacts. Sensitivity has to be increased up to 2 microV/mm; recording time: at least 30 minutes. - - - - - Sleep-and-drowsiness - The features of the ongoing activity during sleep are scored here. If abnormal graphoelements appear, disappear or change their morphology during sleep, that is not scored here but at the entry corresponding to that graphooelement (as a modulator). - - requireChild - - - Sleep-architecture - For longer recordings. Only to be scored if whole-night sleep is part of the recording. It is a global descriptor of the structure and pattern of sleep: estimation of the amount of time spent in REM and NREM sleep, sleep duration, NREM-REM cycle. - - suggestedTag - Property-not-possible-to-determine - - - Normal-sleep-architecture - - - Abnormal-sleep-architecture - - - - Sleep-stage-reached - For normal sleep patterns the sleep stages reached during the recording can be specified - - requireChild - - - suggestedTag - Property-not-possible-to-determine - Finding-significance-to-recording - - - Sleep-stage-N1 - Sleep stage 1. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Sleep-stage-N2 - Sleep stage 2. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Sleep-stage-N3 - Sleep stage 3. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Sleep-stage-REM - Rapid eye movement. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Sleep-spindles - Burst at 11-15 Hz but mostly at 12-14 Hz generally diffuse but of higher voltage over the central regions of the head, occurring during sleep. Amplitude varies but is mostly below 50 microV in the adult. - - suggestedTag - Finding-significance-to-recording - Brain-laterality - Brain-region - Sensors - Finding-amplitude-asymmetry - - - - Arousal-pattern - Arousal pattern in children. Prolonged, marked high voltage 4-6/s activity in all leads with some intermixed slower frequencies, in children. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Appearance-mode - Discharge-pattern - - - - Frontal-arousal-rhythm - Prolonged (up to 20s) rhythmical sharp or spiky activity over the frontal areas (maximum over the frontal midline) seen at arousal from sleep in children with minimal cerebral dysfunction. - - suggestedTag - Appearance-mode - Discharge-pattern - - - - Vertex-wave - Sharp potential, maximal at the vertex, negative relative to other areas, apparently occurring spontaneously during sleep or in response to a sensory stimulus during sleep or wakefulness. May be single or repetitive. Amplitude varies but rarely exceeds 250 microV. Abbreviation: V wave. Synonym: vertex sharp wave. - - suggestedTag - Finding-significance-to-recording - Brain-laterality - Brain-region - Sensors - Finding-amplitude-asymmetry - - - - K-complex - A burst of somewhat variable appearance, consisting most commonly of a high voltage negative slow wave followed by a smaller positive slow wave frequently associated with a sleep spindle. Duration greater than 0.5 s. Amplitude is generally maximal in the frontal vertex. K complexes occur during nonREM sleep, apparently spontaneously, or in response to sudden sensory / auditory stimuli, and are not specific for any individual sensory modality. - - suggestedTag - Finding-significance-to-recording - Brain-laterality - Brain-region - Sensors - Finding-amplitude-asymmetry - - - - Saw-tooth-waves - Vertex negative 2-5 Hz waves occuring in series during REM sleep - - suggestedTag - Finding-significance-to-recording - Brain-laterality - Brain-region - Sensors - Finding-amplitude-asymmetry - - - - POSTS - Positive occipital sharp transients of sleep. Sharp transient maximal over the occipital regions, positive relative to other areas, apparently occurring spontaneously during sleep. May be single or repetitive. Amplitude varies but is generally bellow 50 microV. - - suggestedTag - Finding-significance-to-recording - Brain-laterality - Brain-region - Sensors - Finding-amplitude-asymmetry - - - - Hypnagogic-hypersynchrony - Bursts of bilateral, synchronous delta or theta activity of large amplitude, occasionally with superimposed faster components, occurring during falling asleep or during awakening, in children. - - suggestedTag - Finding-significance-to-recording - Brain-laterality - Brain-region - Sensors - Finding-amplitude-asymmetry - - - - Non-reactive-sleep - EEG activity consisting of normal sleep graphoelements, but which cannot be interrupted by external stimuli/ the patient cannot be waken. - - - - Interictal-finding - EEG pattern / transient that is distinguished form the background activity, considered abnormal, but is not recorded during ictal period (seizure) or postictal period; the presence of an interictal finding does not necessarily imply that the patient has epilepsy. - - requireChild - - - Epileptiform-interictal-activity - - suggestedTag - Spike-morphology - Spike-and-slow-wave-morphology - Runs-of-rapid-spikes-morphology - Polyspikes-morphology - Polyspike-and-slow-wave-morphology - Sharp-wave-morphology - Sharp-and-slow-wave-morphology - Slow-sharp-wave-morphology - High-frequency-oscillation-morphology - Hypsarrhythmia-classic-morphology - Hypsarrhythmia-modified-morphology - Brain-laterality - Brain-region - Sensors - Finding-propagation - Multifocal-finding - Appearance-mode - Discharge-pattern - Finding-incidence - - - - Abnormal-interictal-rhythmic-activity - - suggestedTag - Delta-activity-morphology - Theta-activity-morphology - Alpha-activity-morphology - Beta-activity-morphology - Gamma-activity-morphology - Polymorphic-delta-activity-morphology - Frontal-intermittent-rhythmic-delta-activity-morphology - Occipital-intermittent-rhythmic-delta-activity-morphology - Temporal-intermittent-rhythmic-delta-activity-morphology - Brain-laterality - Brain-region - Sensors - Appearance-mode - Discharge-pattern - Finding-incidence - - - - Interictal-special-patterns - - requireChild - - - Interictal-periodic-discharges - Periodic discharge not further specified (PDs). - - suggestedTag - Periodic-discharges-superimposed-activity - Periodic-discharge-sharpness - Number-of-periodic-discharge-phases - Periodic-discharge-triphasic-morphology - Periodic-discharge-absolute-amplitude - Periodic-discharge-relative-amplitude - Periodic-discharge-polarity - Brain-laterality - Brain-region - Sensors - Periodic-discharge-duration - Periodic-discharge-onset - Periodic-discharge-dynamics - - - Generalized-periodic-discharges - GPDs. - - - Lateralized-periodic-discharges - LPDs. - - - Bilateral-independent-periodic-discharges - BIPDs. - - - Multifocal-periodic-discharges - MfPDs. - - - - Extreme-delta-brush - - suggestedTag - Brain-laterality - Brain-region - Sensors - Appearance-mode - Discharge-pattern - - - - - - Critically-ill-patients-patterns - Rhythmic or periodic patterns in critically ill patients (RPPs) are scored according to the 2012 version of the American Clinical Neurophysiology Society Standardized Critical Care EEG Terminology (Hirsch et al., 2013). - - requireChild - - - Critically-ill-patients-periodic-discharges - Periodic discharges (PDs). - - suggestedTag - Periodic-discharges-superimposed-activity - Periodic-discharge-sharpness - Number-of-periodic-discharge-phases - Periodic-discharge-triphasic-morphology - Periodic-discharge-absolute-amplitude - Periodic-discharge-relative-amplitude - Periodic-discharge-polarity - Brain-laterality - Brain-region - Sensors - Finding-frequency - Periodic-discharge-duration - Periodic-discharge-onset - Periodic-discharge-dynamics - - - - Rhythmic-delta-activity - RDA - - suggestedTag - Periodic-discharges-superimposed-activity - Periodic-discharge-absolute-amplitude - Brain-laterality - Brain-region - Sensors - Finding-frequency - Periodic-discharge-duration - Periodic-discharge-onset - Periodic-discharge-dynamics - - - - Spike-or-sharp-and-wave - SW - - suggestedTag - Periodic-discharge-sharpness - Number-of-periodic-discharge-phases - Periodic-discharge-triphasic-morphology - Periodic-discharge-absolute-amplitude - Periodic-discharge-relative-amplitude - Periodic-discharge-polarity - Brain-laterality - Brain-region - Sensors - Multifocal-finding - Finding-frequency - Periodic-discharge-duration - Periodic-discharge-onset - Periodic-discharge-dynamics - - - - - Episode - Clinical episode or electrographic seizure. - - requireChild - - - Epileptic-seizure - - requireChild - - - Focal-onset-epileptic-seizure - - suggestedTag - Episode-phase - Seizure-dynamics - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - Aware-focal-onset-epileptic-seizure - - suggestedTag - Episode-phase - Seizure-classification - Seizure-dynamics - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - - Impaired-awareness-focal-onset-epileptic-seizure - - suggestedTag - Episode-phase - Seizure-classification - Seizure-dynamics - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - - Awareness-unknown-focal-onset-epileptic-seizure - - suggestedTag - Episode-phase - Seizure-classification - Seizure-dynamics - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - - Focal-to-bilateral-tonic-clonic-focal-onset-epileptic-seizure - - suggestedTag - Episode-phase - Seizure-dynamics - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - - - Generalized-onset-epileptic-seizure - - suggestedTag - Episode-phase - Seizure-classification - Seizure-dynamics - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - - Unknown-onset-epileptic-seizure - - suggestedTag - Episode-phase - Seizure-classification - Seizure-dynamics - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - - Unclassified-epileptic-seizure - - suggestedTag - Episode-phase - Seizure-dynamics - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - - - Subtle-seizure - Seizure type frequent in neonates, sometimes referred to as motor automatisms; they may include random and roving eye movements, sucking, chewing motions, tongue protrusion, rowing or swimming or boxing movements of the arms, pedaling and bicycling movements of the lower limbs; apneic seizures are relatively common. Although some subtle seizures are associated with rhythmic ictal EEG discharges, and are clearly epileptic, ictal EEG often does not show typical epileptic activity. - - suggestedTag - Episode-phase - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - - Electrographic-seizure - Referred usually to non convulsive status. Ictal EEG: rhythmic discharge or spike and wave pattern with definite evolution in frequency, location, or morphology lasting at least 10 s; evolution in amplitude alone did not qualify. - - suggestedTag - Episode-phase - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - - Seizure-PNES - Psychogenic non-epileptic seizure. - - suggestedTag - Episode-phase - Finding-significance-to-recording - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - - Sleep-related-episode - - requireChild - - - Sleep-related-arousal - Normal. - - suggestedTag - Episode-phase - Finding-significance-to-recording - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - - Benign-sleep-myoclonus - A distinctive disorder of sleep characterized by a) neonatal onset, b) rhythmic myoclonic jerks only during sleep and c) abrupt and consistent cessation with arousal, d) absence of concomitant electrographic changes suggestive of seizures, and e) good outcome. - - suggestedTag - Episode-phase - Finding-significance-to-recording - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - - Confusional-awakening - Episode of non epileptic nature included in NREM parasomnias, characterized by sudden arousal and complex behavior but without full alertness, usually lasting a few minutes and occurring almost in all children at least occasionally. Amnesia of the episode is the rule. - - suggestedTag - Episode-phase - Finding-significance-to-recording - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - - Sleep-periodic-limb-movement - PLMS. Periodic limb movement in sleep. Episodes are characterized by brief (0.5- to 5.0-second) lower-extremity movements during sleep, which typically occur at 20- to 40-second intervals, most commonly during the first 3 hours of sleep. The affected individual is usually not aware of the movements or of the transient partial arousals. - - suggestedTag - Episode-phase - Finding-significance-to-recording - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - - REM-sleep-behavioral-disorder - REM sleep behavioral disorder. Episodes characterized by: a) presence of REM sleep without atonia (RSWA) on polysomnography (PSG); b) presence of at least 1 of the following conditions - (1) Sleep-related behaviors, by history, that have been injurious, potentially injurious, or disruptive (example: dream enactment behavior); (2) abnormal REM sleep behavior documented during PSG monitoring; (3) absence of epileptiform activity on electroencephalogram (EEG) during REM sleep (unless RBD can be clearly distinguished from any concurrent REM sleep-related seizure disorder); (4) sleep disorder not better explained by another sleep disorder, a medical or neurologic disorder, a mental disorder, medication use, or a substance use disorder. - - suggestedTag - Episode-phase - Finding-significance-to-recording - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - - Sleep-walking - Episodes characterized by ambulation during sleep; the patient is difficult to arouse during an episode, and is usually amnesic following the episode. Episodes usually occur in the first third of the night during slow wave sleep. Polysomnographic recordings demonstrate 2 abnormalities during the first sleep cycle: frequent, brief, non-behavioral EEG-defined arousals prior to the somnambulistic episode and abnormally low gamma (0.75-2.0 Hz) EEG power on spectral analysis, correlating with high-voltage (hyper-synchronic gamma) waves lasting 10 to 15 s occurring just prior to the movement. This is followed by stage I NREM sleep, and there is no evidence of complete awakening. - - suggestedTag - Episode-phase - Finding-significance-to-recording - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - - - Pediatric-episode - - requireChild - - - Hyperekplexia - Disorder characterized by exaggerated startle response and hypertonicity that may occur during the first year of life and in severe cases during the neonatal period. Children usually present with marked irritability and recurrent startles in response to handling and sounds. Severely affected infants can have severe jerks and stiffening, sometimes with breath-holding spells. - - suggestedTag - Episode-phase - Finding-significance-to-recording - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - - Jactatio-capitis-nocturna - Relatively common in normal children at the time of going to bed, especially during the first year of life, the rhythmic head movements persist during sleep. Usually, these phenomena disappear before 3 years of age. - - suggestedTag - Episode-phase - Finding-significance-to-recording - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - - Pavor-nocturnus - A nocturnal episode characterized by age of onset of less than five years (mean age 18 months, with peak prevalence at five to seven years), appearance of signs of panic two hours after falling asleep with crying, screams, a fearful expression, inability to recognize other people including parents (for a duration of 5-15 minutes), amnesia upon awakening. Pavor nocturnus occurs in patients almost every night for months or years (but the frequency is highly variable and may be as low as once a month) and is likely to disappear spontaneously at the age of six to eight years. - - suggestedTag - Episode-phase - Finding-significance-to-recording - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - - Pediatric-stereotypical-behavior-episode - Repetitive motor behavior in children, typically rhythmic and persistent; usually not paroxysmal and rarely suggest epilepsy. They include headbanging, head-rolling, jactatio capitis nocturna, body rocking, buccal or lingual movements, hand flapping and related mannerisms, repetitive hand-waving (to self-induce photosensitive seizures). - - suggestedTag - Episode-phase - Finding-significance-to-recording - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - - - Paroxysmal-motor-event - Paroxysmal phenomena during neonatal or childhood periods characterized by recurrent motor or behavioral signs or symptoms that must be distinguishes from epileptic disorders. - - suggestedTag - Episode-phase - Finding-significance-to-recording - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - - Syncope - Episode with loss of consciousness and muscle tone that is abrupt in onset, of short duration and followed by rapid recovery; it occurs in response to transient impairment of cerebral perfusion. Typical prodromal symptoms often herald onset of syncope and postictal symptoms are minimal. Syncopal convulsions resulting from cerebral anoxia are common but are not a form of epilepsy, nor are there any accompanying EEG ictal discharges. - - suggestedTag - Episode-phase - Finding-significance-to-recording - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - - Cataplexy - A sudden decrement in muscle tone and loss of deep tendon reflexes, leading to muscle weakness, paralysis, or postural collapse. Cataplexy usually is precipitated by an outburst of emotional expression-notably laughter, anger, or startle. It is one of the tetrad of symptoms of narcolepsy. During cataplexy, respiration and voluntary eye movements are not compromised. Consciousness is preserved. - - suggestedTag - Episode-phase - Finding-significance-to-recording - Episode-consciousness - Episode-awareness - Clinical-EEG-temporal-relationship - Episode-event-count - State-episode-start - Episode-postictal-phase - Episode-prodrome - Episode-tongue-biting - - - - Other-episode - - requireChild - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Physiologic-pattern - EEG graphoelements or rhythms that are considered normal. They only should be scored if the physician considers that they have a specific clinical significance for the recording. - - requireChild - - - Rhythmic-activity-pattern - Not further specified. - - suggestedTag - Delta-activity-morphology - Theta-activity-morphology - Alpha-activity-morphology - Beta-activity-morphology - Gamma-activity-morphology - Brain-laterality - Brain-region - Sensors - Appearance-mode - Discharge-pattern - - - - Slow-alpha-variant-rhythm - Characteristic rhythms mostly at 4-5 Hz, recorded most prominently over the posterior regions of the head. Generally alternate, or are intermixed, with alpha rhythm to which they often are harmonically related. Amplitude varies but is frequently close to 50 micro V. Blocked or attenuated by attention, especially visual, and mental effort. Comment: slow alpha variant rhythms should be distinguished from posterior slow waves characteristic of children and adolescents and occasionally seen in young adults. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Appearance-mode - Discharge-pattern - - - - Fast-alpha-variant-rhythm - Characteristic rhythm at 14-20 Hz, detected most prominently over the posterior regions of the head. May alternate or be intermixed with alpha rhythm. Blocked or attenuated by attention, especially visual, and mental effort. - - suggestedTag - Appearance-mode - Discharge-pattern - - - - Ciganek-rhythm - Midline theta rhythm (Ciganek rhythm) may be observed during wakefulness or drowsiness. The frequency is 4-7 Hz, and the location is midline (ie, vertex). The morphology is rhythmic, smooth, sinusoidal, arciform, spiky, or mu-like. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Appearance-mode - Discharge-pattern - - - - Lambda-wave - Diphasic sharp transient occurring over occipital regions of the head of waking subjects during visual exploration. The main component is positive relative to other areas. Time-locked to saccadic eye movement. Amplitude varies but is generally below 50 micro V. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Appearance-mode - Discharge-pattern - - - - Posterior-slow-waves-youth - Waves in the delta and theta range, of variable form, lasting 0.35 to 0.5 s or longer without any consistent periodicity, found in the range of 6-12 years (occasionally seen in young adults). Alpha waves are almost always intermingled or superimposed. Reactive similar to alpha activity. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Appearance-mode - Discharge-pattern - - - - Diffuse-slowing-hyperventilation - Diffuse slowing induced by hyperventilation. Bilateral, diffuse slowing during hyperventilation. Recorded in 70 percent of normal children (3-5 years) and less then 10 percent of adults. Usually appear in the posterior regions and spread forward in younger age group, whereas they tend to appear in the frontal regions and spread backward in the older age group. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Appearance-mode - Discharge-pattern - - - - Photic-driving - Physiologic response consisting of rhythmic activity elicited over the posterior regions of the head by repetitive photic stimulation at frequencies of about 5-30 Hz. Comments: term should be limited to activity time-locked to the stimulus and of frequency identical or harmonically related to the stimulus frequency. Photic driving should be distinguished from the visual evoked potentials elicited by isolated flashes of light or flashes repeated at very low frequency. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Appearance-mode - Discharge-pattern - - - - Photomyogenic-response - A response to intermittent photic stimulation characterized by the appearance in the record of brief, repetitive muscular artifacts (spikes) over the anterior regions of the head. These often increase gradually in amplitude as stimuli are continued and cease promptly when the stimulus is withdrawn. Comment: this response is frequently associated with flutter of the eyelids and vertical oscillations of the eyeballs and sometimes with discrete jerking mostly involving the musculature of the face and head. (Preferred to synonym: photo-myoclonic response). - - suggestedTag - Brain-laterality - Brain-region - Sensors - Appearance-mode - Discharge-pattern - - - - Other-physiologic-pattern - - requireChild - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Uncertain-significant-pattern - EEG graphoelements or rhythms that resemble abnormal patterns but that are not necessarily associated with a pathology, and the physician does not consider them abnormal in the context of the scored recording (like normal variants and patterns). - - requireChild - - - Sharp-transient-pattern - - suggestedTag - Brain-laterality - Brain-region - Sensors - Appearance-mode - Discharge-pattern - - - - Wicket-spikes - Spike-like monophasic negative single waves or trains of waves occurring over the temporal regions during drowsiness that have an arcuate or mu-like appearance. These are mainly seen in older individuals and represent a benign variant that is of little clinical significance. - - - Small-sharp-spikes - Benign epileptiform Transients of Sleep (BETS). Small sharp spikes (SSS) of very short duration and low amplitude, often followed by a small theta wave, occurring in the temporal regions during drowsiness and light sleep. They occur on one or both sides (often asynchronously). The main negative and positive components are of about equally spiky character. Rarely seen in children, they are seen most often in adults and the elderly. Two thirds of the patients have a history of epileptic seizures. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Appearance-mode - Discharge-pattern - - - - Fourteen-six-Hz-positive-burst - Burst of arch-shaped waves at 13-17 Hz and/or 5-7-Hz but most commonly at 14 and or 6 Hz seen generally over the posterior temporal and adjacent areas of one or both sides of the head during sleep. The sharp peaks of its component waves are positive with respect to other regions. Amplitude varies but is generally below 75 micro V. Comments: (1) best demonstrated by referential recording using contralateral earlobe or other remote, reference electrodes. (2) This pattern has no established clinical significance. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Appearance-mode - Discharge-pattern - - - - Six-Hz-spike-slow-wave - Spike and slow wave complexes at 4-7Hz, but mostly at 6 Hz occurring generally in brief bursts bilaterally and synchronously, symmetrically or asymmetrically, and either confined to or of larger amplitude over the posterior or anterior regions of the head. The spike has a strong positive component. Amplitude varies but is generally smaller than that of spike-and slow-wave complexes repeating at slower rates. Comment: this pattern should be distinguished from epileptiform discharges. Synonym: wave and spike phantom. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Appearance-mode - Discharge-pattern - - - - Rudimentary-spike-wave-complex - Synonym: Pseudo petit mal discharge. Paroxysmal discharge that consists of generalized or nearly generalized high voltage 3 to 4/sec waves with poorly developed spike in the positive trough between the slow waves, occurring in drowsiness only. It is found only in infancy and early childhood when marked hypnagogic rhythmical theta activity is paramount in the drowsy state. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Appearance-mode - Discharge-pattern - - - - Slow-fused-transient - A posterior slow-wave preceded by a sharp-contoured potential that blends together with the ensuing slow wave, in children. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Appearance-mode - Discharge-pattern - - - - Needle-like-occipital-spikes-blind - Spike discharges of a particularly fast and needle-like character develop over the occipital region in most congenitally blind children. Completely disappear during childhood or adolescence. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Appearance-mode - Discharge-pattern - - - - Subclinical-rhythmic-EEG-discharge-adults - Subclinical rhythmic EEG discharge of adults (SERDA). A rhythmic pattern seen in the adult age group, mainly in the waking state or drowsiness. It consists of a mixture of frequencies, often predominant in the theta range. The onset may be fairly abrupt with widespread sharp rhythmical theta and occasionally with delta activity. As to the spatial distribution, a maximum of this discharge is usually found over the centroparietal region and especially over the vertex. It may resemble a seizure discharge but is not accompanied by any clinical signs or symptoms. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Appearance-mode - Discharge-pattern - - - - Rhythmic-temporal-theta-burst-drowsiness - Rhythmic temporal theta burst of drowsiness (RTTD). Characteristic burst of 4-7 Hz waves frequently notched by faster waves, occurring over the temporal regions of the head during drowsiness. Synonym: psychomotor variant pattern. Comment: this is a pattern of drowsiness that is of no clinical significance. - - - Temporal-slowing-elderly - Focal theta and/or delta activity over the temporal regions, especially the left, in persons over the age of 60. Amplitudes are low/similar to the background activity. Comment: focal temporal theta was found in 20 percent of people between the ages of 40-59 years, and 40 percent of people between 60 and 79 years. One third of people older than 60 years had focal temporal delta activity. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Appearance-mode - Discharge-pattern - - - - Breach-rhythm - Rhythmical activity recorded over cranial bone defects. Usually it is in the 6 to 11/sec range, does not respond to movements. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Appearance-mode - Discharge-pattern - - - - Other-uncertain-significant-pattern - - requireChild - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Artifact - When relevant for the clinical interpretation, artifacts can be scored by specifying the type and the location. - - requireChild - - - Biological-artifact - - requireChild - - - Eye-blink-artifact - Example for EEG: Fp1/Fp2 become electropositive with eye closure because the cornea is positively charged causing a negative deflection in Fp1/Fp2. If the eye blink is unilateral, consider prosthetic eye. If it is in F8 rather than Fp2 then the electrodes are plugged in wrong. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Multifocal-finding - Artifact-significance-to-recording - - - - Eye-movement-horizontal-artifact - Example for EEG: There is an upward deflection in the Fp2-F8 derivation, when the eyes move to the right side. In this case F8 becomes more positive and therefore. When the eyes move to the left, F7 becomes more positive and there is an upward deflection in the Fp1-F7 derivation. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Multifocal-finding - Artifact-significance-to-recording - - - - Eye-movement-vertical-artifact - Example for EEG: The EEG shows positive potentials (50-100 micro V) with bi-frontal distribution, maximum at Fp1 and Fp2, when the eyeball rotated upward. The downward rotation of the eyeball was associated with the negative deflection. The time course of the deflections was similar to the time course of the eyeball movement. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Multifocal-finding - Artifact-significance-to-recording - - - - Slow-eye-movement-artifact - Slow, rolling eye-movements, seen during drowsiness. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Multifocal-finding - Artifact-significance-to-recording - - - - Nystagmus-artifact - - suggestedTag - Artifact-significance-to-recording - - - - Chewing-artifact - - suggestedTag - Brain-laterality - Brain-region - Sensors - Multifocal-finding - Artifact-significance-to-recording - - - - Sucking-artifact - - suggestedTag - Brain-laterality - Brain-region - Sensors - Multifocal-finding - Artifact-significance-to-recording - - - - Glossokinetic-artifact - The tongue functions as a dipole, with the tip negative with respect to the base. The artifact produced by the tongue has a broad potential field that drops from frontal to occipital areas, although it is less steep than that produced by eye movement artifacts. The amplitude of the potentials is greater inferiorly than in parasagittal regions; the frequency is variable but usually in the delta range. Chewing and sucking can produce similar artifacts. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Multifocal-finding - Artifact-significance-to-recording - - - - Rocking-patting-artifact - Quasi-rhythmical artifacts in recordings from infants caused by rocking/patting. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Multifocal-finding - Artifact-significance-to-recording - - - - Movement-artifact - Example for EEG: Large amplitude artifact, with irregular morphology (usually resembling a slow-wave or a wave with complex morphology) seen in one or several channels, due to movement. If the causing movement is repetitive, the artifact might resemble a rhythmic EEG activity. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Multifocal-finding - Artifact-significance-to-recording - - - - Respiration-artifact - Respiration can produce 2 kinds of artifacts. One type is in the form of slow and rhythmic activity, synchronous with the body movements of respiration and mechanically affecting the impedance of (usually) one electrode. The other type can be slow or sharp waves that occur synchronously with inhalation or exhalation and involve those electrodes on which the patient is lying. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Multifocal-finding - Artifact-significance-to-recording - - - - Pulse-artifact - Example for EEG: Occurs when an EEG electrode is placed over a pulsating vessel. The pulsation can cause slow waves that may simulate EEG activity. A direct relationship exists between ECG and the pulse waves (200-300 millisecond delay after ECG equals QRS complex). - - suggestedTag - Brain-laterality - Brain-region - Sensors - Multifocal-finding - Artifact-significance-to-recording - - - - ECG-artifact - Example for EEG: Far-field potential generated in the heart. The voltage and apparent surface of the artifact vary from derivation to derivation and, consequently, from montage to montage. The artifact is observed best in referential montages using earlobe electrodes A1 and A2. ECG artifact is recognized easily by its rhythmicity/regularity and coincidence with the ECG tracing. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Multifocal-finding - Artifact-significance-to-recording - - - - Sweat-artifact - Is a low amplitude undulating waveform that is usually greater than 2 seconds and may appear to be an unstable baseline. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Multifocal-finding - Artifact-significance-to-recording - - - - EMG-artifact - Myogenic potentials are the most common artifacts. Frontalis and temporalis muscles (ex..: clenching of jaw muscles) are common causes. Generally, the potentials generated in the muscles are of shorter duration than those generated in the brain. The frequency components are usually beyond 30-50 Hz, and the bursts are arrhythmic. - - suggestedTag - Brain-laterality - Brain-region - Sensors - Multifocal-finding - Artifact-significance-to-recording - - - - - Non-biological-artifact - - requireChild - - - Power-supply-artifact - 50-60 Hz artifact. Monomorphic waveform due to 50 or 60 Hz A/C power supply. - - suggestedTag - Artifact-significance-to-recording - - - - Induction-artifact - Artifacts (usually of high frequency) induced by nearby equipment (like in the intensive care unit). - - suggestedTag - Artifact-significance-to-recording - - - - Dialysis-artifact - - suggestedTag - Artifact-significance-to-recording - - - - Artificial-ventilation-artifact - - suggestedTag - Artifact-significance-to-recording - - - - Electrode-pops-artifact - Are brief discharges with a very steep upslope and shallow fall that occur in all leads which include that electrode. - - suggestedTag - Artifact-significance-to-recording - - - - Salt-bridge-artifact - Typically occurs in 1 channel which may appear isoelectric. Only seen in bipolar montage. - - suggestedTag - Artifact-significance-to-recording - - - - - Other-artifact - - requireChild - - - suggestedTag - Artifact-significance-to-recording - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Polygraphic-channel-finding - Changes observed in polygraphic channels can be scored: EOG, Respiration, ECG, EMG, other polygraphic channel (+ free text), and their significance logged (normal, abnormal, no definite abnormality). - - requireChild - - - EOG-channel-finding - ElectroOculoGraphy. - - suggestedTag - Finding-significance-to-recording - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Respiration-channel-finding - - suggestedTag - Finding-significance-to-recording - - - Respiration-oxygen-saturation - - # - - takesValue - - - valueClass - numericClass - - - - - Respiration-feature - - Apnoe-respiration - Add duration (range in seconds) and comments in free text. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Hypopnea-respiration - Add duration (range in seconds) and comments in free text - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Apnea-hypopnea-index-respiration - Events/h. Frequency can be tagged with base schema /Property/Data-property/Data-value/Spatiotemporal-value/Rate-of-change/Frequency - - requireChild - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Periodic-respiration - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Tachypnea-respiration - Cycles/min. Frequency can be tagged with base schema /Property/Data-property/Data-value/Spatiotemporal-value/Rate-of-change/Frequency - - requireChild - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Other-respiration-feature - - requireChild - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - - ECG-channel-finding - Electrocardiography. - - suggestedTag - Finding-significance-to-recording - - - ECG-QT-period - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - ECG-feature - - ECG-sinus-rhythm - Normal rhythm. Frequency can be tagged with base schema /Property/Data-property/Data-value/Spatiotemporal-value/Rate-of-change/Frequency - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - ECG-arrhythmia - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - ECG-asystolia - Add duration (range in seconds) and comments in free text. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - ECG-bradycardia - Frequency can be tagged with base schema /Property/Data-property/Data-value/Spatiotemporal-value/Rate-of-change/Frequency - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - ECG-extrasystole - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - ECG-ventricular-premature-depolarization - Frequency can be tagged with base schema /Property/Data-property/Data-value/Spatiotemporal-value/Rate-of-change/Frequency - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - ECG-tachycardia - Frequency can be tagged with base schema /Property/Data-property/Data-value/Spatiotemporal-value/Rate-of-change/Frequency - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Other-ECG-feature - - requireChild - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - - EMG-channel-finding - electromyography - - suggestedTag - Finding-significance-to-recording - - - EMG-muscle-side - - EMG-left-muscle - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - EMG-right-muscle - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - EMG-bilateral-muscle - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - EMG-muscle-name - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - EMG-feature - - EMG-myoclonus - - Negative-myoclonus - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - EMG-myoclonus-rhythmic - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - EMG-myoclonus-arrhythmic - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - EMG-myoclonus-synchronous - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - EMG-myoclonus-asynchronous - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - EMG-PLMS - Periodic limb movements in sleep. - - - EMG-spasm - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - EMG-tonic-contraction - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - EMG-asymmetric-activation - - requireChild - - - EMG-asymmetric-activation-left-first - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - EMG-asymmetric-activation-right-first - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Other-EMG-features - - requireChild - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - - Other-polygraphic-channel - - requireChild - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Finding-property - Descriptive element similar to main HED /Property. Something that pertains to a thing. A characteristic of some entity. A quality or feature regarded as a characteristic or inherent part of someone or something. HED attributes are adjectives or adverbs. - - requireChild - - - Signal-morphology-property - - requireChild - - - Rhythmic-activity-morphology - EEG activity consisting of a sequence of waves approximately constant period. - - Delta-activity-morphology - EEG rhythm in the delta (under 4 Hz) range that does not belong to the posterior dominant rhythm (scored under other organized rhythms). - - suggestedTag - Finding-frequency - Finding-amplitude - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Theta-activity-morphology - EEG rhythm in the theta (4-8 Hz) range that does not belong to the posterior dominant rhythm (scored under other organized rhythm). - - suggestedTag - Finding-frequency - Finding-amplitude - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Alpha-activity-morphology - EEG rhythm in the alpha range (8-13 Hz) which is considered part of the background (ongoing) activity but does not fulfill the criteria of the posterior dominant rhythm (alpha rhythm). - - suggestedTag - Finding-frequency - Finding-amplitude - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Beta-activity-morphology - EEG rhythm between 14 and 40 Hz, which is considered part of the background (ongoing) activity but does not fulfill the criteria of the posterior dominant rhythm. Most characteristically: a rhythm from 14 to 40 Hz recorded over the fronto-central regions of the head during wakefulness. Amplitude of the beta rhythm varies but is mostly below 30 microV. Other beta rhythms are most prominent in other locations or are diffuse. - - suggestedTag - Finding-frequency - Finding-amplitude - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Gamma-activity-morphology - - suggestedTag - Finding-frequency - Finding-amplitude - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Spike-morphology - A transient, clearly distinguished from background activity, with pointed peak at a conventional paper speed or time scale and duration from 20 to under 70 ms, i.e. 1/50-1/15 s approximately. Main component is generally negative relative to other areas. Amplitude varies. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Spike-and-slow-wave-morphology - A pattern consisting of a spike followed by a slow wave. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Runs-of-rapid-spikes-morphology - Bursts of spike discharges at a rate from 10 to 25/sec (in most cases somewhat irregular). The bursts last more than 2 seconds (usually 2 to 10 seconds) and it is typically seen in sleep. Synonyms: rhythmic spikes, generalized paroxysmal fast activity, fast paroxysmal rhythms, grand mal discharge, fast beta activity. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Polyspikes-morphology - Two or more consecutive spikes. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Polyspike-and-slow-wave-morphology - Two or more consecutive spikes associated with one or more slow waves. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Sharp-wave-morphology - A transient clearly distinguished from background activity, with pointed peak at a conventional paper speed or time scale, and duration of 70-200 ms, i.e. over 1/4-1/5 s approximately. Main component is generally negative relative to other areas. Amplitude varies. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Sharp-and-slow-wave-morphology - A sequence of a sharp wave and a slow wave. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Slow-sharp-wave-morphology - A transient that bears all the characteristics of a sharp-wave, but exceeds 200 ms. Synonym: blunted sharp wave. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - High-frequency-oscillation-morphology - HFO. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Hypsarrhythmia-classic-morphology - Abnormal interictal high amplitude waves and a background of irregular spikes. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Hypsarrhythmia-modified-morphology - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Fast-spike-activity-morphology - A burst consisting of a sequence of spikes. Duration greater than 1 s. Frequency at least in the alpha range. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Low-voltage-fast-activity-morphology - Refers to the fast, and often recruiting activity which can be recorded at the onset of an ictal discharge, particularly in invasive EEG recording of a seizure. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Polysharp-waves-morphology - A sequence of two or more sharp-waves. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Slow-wave-large-amplitude-morphology - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Irregular-delta-or-theta-activity-morphology - EEG activity consisting of repetitive waves of inconsistent wave-duration but in delta and/or theta rang (greater than 125 ms). - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Electrodecremental-change-morphology - Sudden desynchronization of electrical activity. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - DC-shift-morphology - Shift of negative polarity of the direct current recordings, during seizures. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Disappearance-of-ongoing-activity-morphology - Disappearance of the EEG activity that preceded the ictal event but still remnants of background activity (thus not enough to name it electrodecremental change). - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Polymorphic-delta-activity-morphology - EEG activity consisting of waves in the delta range (over 250 ms duration for each wave) but of different morphology. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Frontal-intermittent-rhythmic-delta-activity-morphology - Frontal intermittent rhythmic delta activity (FIRDA). Fairly regular or approximately sinusoidal waves, mostly occurring in bursts at 1.5-2.5 Hz over the frontal areas of one or both sides of the head. Comment: most commonly associated with unspecified encephalopathy, in adults. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Occipital-intermittent-rhythmic-delta-activity-morphology - Occipital intermittent rhythmic delta activity (OIRDA). Fairly regular or approximately sinusoidal waves, mostly occurring in bursts at 2-3 Hz over the occipital or posterior head regions of one or both sides of the head. Frequently blocked or attenuated by opening the eyes. Comment: most commonly associated with unspecified encephalopathy, in children. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Temporal-intermittent-rhythmic-delta-activity-morphology - Temporal intermittent rhythmic delta activity (TIRDA). Fairly regular or approximately sinusoidal waves, mostly occurring in bursts at over the temporal areas of one side of the head. Comment: most commonly associated with temporal lobe epilepsy. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Periodic-discharges-morphology - Periodic discharges not further specified (PDs). - - requireChild - - - Periodic-discharges-superimposed-activity - - requireChild - - - suggestedTag - Property-not-possible-to-determine - - - Periodic-discharges-fast-superimposed-activity - - suggestedTag - Finding-frequency - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Periodic-discharges-rhythmic-superimposed-activity - - suggestedTag - Finding-frequency - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Periodic-discharge-sharpness - - requireChild - - - suggestedTag - Property-not-possible-to-determine - - - Spiky-periodic-discharge-sharpness - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Sharp-periodic-discharge-sharpness - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Sharply-contoured-periodic-discharge-sharpness - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Blunt-periodic-discharge-sharpness - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Number-of-periodic-discharge-phases - - requireChild - - - suggestedTag - Property-not-possible-to-determine - - - 1-periodic-discharge-phase - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - 2-periodic-discharge-phases - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - 3-periodic-discharge-phases - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Greater-than-3-periodic-discharge-phases - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Periodic-discharge-triphasic-morphology - - suggestedTag - Property-not-possible-to-determine - Property-exists - Property-absence - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Periodic-discharge-absolute-amplitude - - requireChild - - - suggestedTag - Property-not-possible-to-determine - - - Periodic-discharge-absolute-amplitude-very-low - Lower than 20 microV. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Low-periodic-discharge-absolute-amplitude - 20 to 49 microV. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Medium-periodic-discharge-absolute-amplitude - 50 to 199 microV. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - High-periodic-discharge-absolute-amplitude - Greater than 200 microV. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Periodic-discharge-relative-amplitude - - requireChild - - - suggestedTag - Property-not-possible-to-determine - - - Periodic-discharge-relative-amplitude-less-than-equal-2 - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Periodic-discharge-relative-amplitude-greater-than-2 - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Periodic-discharge-polarity - - requireChild - - - Periodic-discharge-postitive-polarity - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Periodic-discharge-negative-polarity - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Periodic-discharge-unclear-polarity - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - - - Source-analysis-property - How the current in the brain reaches the electrode sensors. - - requireChild - - - Source-analysis-laterality - - requireChild - - - suggestedTag - Brain-laterality - - - - Source-analysis-brain-region - - requireChild - - - Source-analysis-frontal-perisylvian-superior-surface - - - Source-analysis-frontal-lateral - - - Source-analysis-frontal-mesial - - - Source-analysis-frontal-polar - - - Source-analysis-frontal-orbitofrontal - - - Source-analysis-temporal-polar - - - Source-analysis-temporal-basal - - - Source-analysis-temporal-lateral-anterior - - - Source-analysis-temporal-lateral-posterior - - - Source-analysis-temporal-perisylvian-inferior-surface - - - Source-analysis-central-lateral-convexity - - - Source-analysis-central-mesial - - - Source-analysis-central-sulcus-anterior-surface - - - Source-analysis-central-sulcus-posterior-surface - - - Source-analysis-central-opercular - - - Source-analysis-parietal-lateral-convexity - - - Source-analysis-parietal-mesial - - - Source-analysis-parietal-opercular - - - Source-analysis-occipital-lateral - - - Source-analysis-occipital-mesial - - - Source-analysis-occipital-basal - - - Source-analysis-insula - - - - - Location-property - Location can be scored for findings. Semiologic finding can also be characterized by the somatotopic modifier (i.e. the part of the body where it occurs). In this respect, laterality (left, right, symmetric, asymmetric, left greater than right, right greater than left), body part (eyelid, face, arm, leg, trunk, visceral, hemi-) and centricity (axial, proximal limb, distal limb) can be scored. - - requireChild - - - Brain-laterality - - requireChild - - - Brain-laterality-left - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Brain-laterality-left-greater-right - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Brain-laterality-right - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Brain-laterality-right-greater-left - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Brain-laterality-midline - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Brain-laterality-diffuse-asynchronous - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Brain-region - - requireChild - - - Brain-region-frontal - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Brain-region-temporal - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Brain-region-central - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Brain-region-parietal - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Brain-region-occipital - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Body-part-location - - requireChild - - - Eyelid-location - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Face-location - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Arm-location - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Leg-location - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Trunk-location - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Visceral-location - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Hemi-location - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Brain-centricity - - requireChild - - - Brain-centricity-axial - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Brain-centricity-proximal-limb - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Brain-centricity-distal-limb - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Sensors - Lists all corresponding sensors (electrodes/channels in montage). The sensor-group is selected from a list defined in the site-settings for each EEG-lab. - - requireChild - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Finding-propagation - When propagation within the graphoelement is observed, first the location of the onset region is scored. Then, the location of the propagation can be noted. - - suggestedTag - Property-exists - Property-absence - Brain-laterality - Brain-region - Sensors - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Multifocal-finding - When the same interictal graphoelement is observed bilaterally and at least in three independent locations, can score them using one entry, and choosing multifocal as a descriptor of the locations of the given interictal graphoelements, optionally emphasizing the involved, and the most active sites. - - suggestedTag - Property-not-possible-to-determine - Property-exists - Property-absence - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Modulators-property - For each described graphoelement, the influence of the modulators can be scored. Only modulators present in the recording are scored. - - requireChild - - - Modulators-reactivity - Susceptibility of individual rhythms or the EEG as a whole to change following sensory stimulation or other physiologic actions. - - requireChild - - - suggestedTag - Property-exists - Property-absence - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Eye-closure-sensitivity - Eye closure sensitivity. - - suggestedTag - Property-exists - Property-absence - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Eye-opening-passive - Passive eye opening. Used with base schema Increasing/Decreasing. - - suggestedTag - Property-not-possible-to-determine - Finding-stopped-by - Finding-unmodified - Finding-triggered-by - - - - Medication-effect-EEG - Medications effect on EEG. Used with base schema Increasing/Decreasing. - - suggestedTag - Property-not-possible-to-determine - Finding-stopped-by - Finding-unmodified - - - - Medication-reduction-effect-EEG - Medications reduction or withdrawal effect on EEG. Used with base schema Increasing/Decreasing. - - suggestedTag - Property-not-possible-to-determine - Finding-stopped-by - Finding-unmodified - - - - Auditive-stimuli-effect - Used with base schema Increasing/Decreasing. - - suggestedTag - Property-not-possible-to-determine - Finding-stopped-by - Finding-unmodified - - - - Nociceptive-stimuli-effect - Used with base schema Increasing/Decreasing. - - suggestedTag - Property-not-possible-to-determine - Finding-stopped-by - Finding-unmodified - Finding-triggered-by - - - - Physical-effort-effect - Used with base schema Increasing/Decreasing - - suggestedTag - Property-not-possible-to-determine - Finding-stopped-by - Finding-unmodified - Finding-triggered-by - - - - Cognitive-task-effect - Used with base schema Increasing/Decreasing. - - suggestedTag - Property-not-possible-to-determine - Finding-stopped-by - Finding-unmodified - Finding-triggered-by - - - - Other-modulators-effect-EEG - - requireChild - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Facilitating-factor - Facilitating factors are defined as transient and sporadic endogenous or exogenous elements capable of augmenting seizure incidence (increasing the likelihood of seizure occurrence). - - Facilitating-factor-alcohol - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Facilitating-factor-awake - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Facilitating-factor-catamenial - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Facilitating-factor-fever - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Facilitating-factor-sleep - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Facilitating-factor-sleep-deprived - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Facilitating-factor-other - - requireChild - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Provocative-factor - Provocative factors are defined as transient and sporadic endogenous or exogenous elements capable of evoking/triggering seizures immediately following the exposure to it. - - requireChild - - - Hyperventilation-provoked - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Reflex-provoked - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Medication-effect-clinical - Medications clinical effect. Used with base schema Increasing/Decreasing. - - suggestedTag - Finding-stopped-by - Finding-unmodified - - - - Medication-reduction-effect-clinical - Medications reduction or withdrawal clinical effect. Used with base schema Increasing/Decreasing. - - suggestedTag - Finding-stopped-by - Finding-unmodified - - - - Other-modulators-effect-clinical - - requireChild - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Intermittent-photic-stimulation-effect - - requireChild - - - Posterior-stimulus-dependent-intermittent-photic-stimulation-response - - suggestedTag - Finding-frequency - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Posterior-stimulus-independent-intermittent-photic-stimulation-response-limited - limited to the stimulus-train - - suggestedTag - Finding-frequency - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Posterior-stimulus-independent-intermittent-photic-stimulation-response-self-sustained - - suggestedTag - Finding-frequency - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Generalized-photoparoxysmal-intermittent-photic-stimulation-response-limited - Limited to the stimulus-train. - - suggestedTag - Finding-frequency - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Generalized-photoparoxysmal-intermittent-photic-stimulation-response-self-sustained - - suggestedTag - Finding-frequency - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Activation-of-pre-existing-epileptogenic-area-intermittent-photic-stimulation-effect - - suggestedTag - Finding-frequency - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Unmodified-intermittent-photic-stimulation-effect - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Quality-of-hyperventilation - - requireChild - - - Hyperventilation-refused-procedure - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Hyperventilation-poor-effort - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Hyperventilation-good-effort - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Hyperventilation-excellent-effort - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Modulators-effect - Tags for describing the influence of the modulators - - requireChild - - - Modulators-effect-continuous-during-NRS - Continuous during non-rapid-eye-movement-sleep (NRS) - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Modulators-effect-only-during - - # - Only during Sleep/Awakening/Hyperventilation/Physical effort/Cognitive task. Free text. - - takesValue - - - valueClass - textClass - - - - - Modulators-effect-change-of-patterns - Change of patterns during sleep/awakening. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - - Time-related-property - Important to estimate how often an interictal abnormality is seen in the recording. - - requireChild - - - Appearance-mode - Describes how the non-ictal EEG pattern/graphoelement is distributed through the recording. - - requireChild - - - suggestedTag - Property-not-possible-to-determine - - - Random-appearance-mode - Occurrence of the non-ictal EEG pattern / graphoelement without any rhythmicity / periodicity. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Periodic-appearance-mode - Non-ictal EEG pattern / graphoelement occurring at an approximately regular rate / interval (generally of 1 to several seconds). - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Variable-appearance-mode - Occurrence of non-ictal EEG pattern / graphoelements, that is sometimes rhythmic or periodic, other times random, throughout the recording. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Intermittent-appearance-mode - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Continuous-appearance-mode - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Discharge-pattern - Describes the organization of the EEG signal within the discharge (distinguish between single and repetitive discharges) - - requireChild - - - Single-discharge-pattern - Applies to the intra-burst pattern: a graphoelement that is not repetitive; before and after the graphoelement one can distinguish the background activity. - - suggestedTag - Finding-incidence - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Rhythmic-trains-or-bursts-discharge-pattern - Applies to the intra-burst pattern: a non-ictal graphoelement that repeats itself without returning to the background activity between them. The graphoelements within this repetition occur at approximately constant period. - - suggestedTag - Finding-prevalence - Finding-frequency - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Arrhythmic-trains-or-bursts-discharge-pattern - Applies to the intra-burst pattern: a non-ictal graphoelement that repeats itself without returning to the background activity between them. The graphoelements within this repetition occur at inconstant period. - - suggestedTag - Finding-prevalence - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Fragmented-discharge-pattern - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Periodic-discharge-time-related-features - Periodic discharges not further specified (PDs) time-relayed features tags. - - requireChild - - - Periodic-discharge-duration - - requireChild - - - suggestedTag - Property-not-possible-to-determine - - - Very-brief-periodic-discharge-duration - Less than 10 sec. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Brief-periodic-discharge-duration - 10 to 59 sec. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Intermediate-periodic-discharge-duration - 1 to 4.9 min. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Long-periodic-discharge-duration - 5 to 59 min. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Very-long-periodic-discharge-duration - Greater than 1 hour. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Periodic-discharge-onset - - requireChild - - - suggestedTag - Property-not-possible-to-determine - - - Sudden-periodic-discharge-onset - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Gradual-periodic-discharge-onset - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Periodic-discharge-dynamics - - requireChild - - - suggestedTag - Property-not-possible-to-determine - - - Evolving-periodic-discharge-dynamics - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Fluctuating-periodic-discharge-dynamics - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Static-periodic-discharge-dynamics - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - - Finding-extent - Percentage of occurrence during the recording (background activity and interictal finding). - - # - - takesValue - - - valueClass - numericClass - - - - - Finding-incidence - How often it occurs/time-epoch. - - requireChild - - - Only-once-finding-incidence - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Rare-finding-incidence - less than 1/h - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Uncommon-finding-incidence - 1/5 min to 1/h. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Occasional-finding-incidence - 1/min to 1/5min. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Frequent-finding-incidence - 1/10 s to 1/min. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Abundant-finding-incidence - Greater than 1/10 s). - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Finding-prevalence - The percentage of the recording covered by the train/burst. - - requireChild - - - Rare-finding-prevalence - Less than 1 percent. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Occasional-finding-prevalence - 1 to 9 percent. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Frequent-finding-prevalence - 10 to 49 percent. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Abundant-finding-prevalence - 50 to 89 percent. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Continuous-finding-prevalence - Greater than 90 percent. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - - Posterior-dominant-rhythm-property - Posterior dominant rhythm is the most often scored EEG feature in clinical practice. Therefore, there are specific terms that can be chosen for characterizing the PDR. - - requireChild - - - Posterior-dominant-rhythm-amplitude-range - - requireChild - - - suggestedTag - Property-not-possible-to-determine - - - Low-posterior-dominant-rhythm-amplitude-range - Low (less than 20 microV). - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Medium-posterior-dominant-rhythm-amplitude-range - Medium (between 20 and 70 microV). - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - High-posterior-dominant-rhythm-amplitude-range - High (more than 70 microV). - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Posterior-dominant-rhythm-frequency-asymmetry - When symmetrical could be labeled with base schema Symmetrical tag. - - requireChild - - - Posterior-dominant-rhythm-frequency-asymmetry-lower-left - Hz lower on the left side. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Posterior-dominant-rhythm-frequency-asymmetry-lower-right - Hz lower on the right side. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Posterior-dominant-rhythm-eye-opening-reactivity - Change (disappearance or measurable decrease in amplitude) of a posterior dominant rhythm following eye-opening. Eye closure has the opposite effect. - - suggestedTag - Property-not-possible-to-determine - - - Posterior-dominant-rhythm-eye-opening-reactivity-reduced-left - Reduced left side reactivity. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Posterior-dominant-rhythm-eye-opening-reactivity-reduced-right - Reduced right side reactivity. - - # - free text - - takesValue - - - valueClass - textClass - - - - - Posterior-dominant-rhythm-eye-opening-reactivity-reduced-both - Reduced reactivity on both sides. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Posterior-dominant-rhythm-organization - When normal could be labeled with base schema Normal tag. - - requireChild - - - Posterior-dominant-rhythm-organization-poorly-organized - Poorly organized. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Posterior-dominant-rhythm-organization-disorganized - Disorganized. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Posterior-dominant-rhythm-organization-markedly-disorganized - Markedly disorganized. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Posterior-dominant-rhythm-caveat - Caveat to the annotation of PDR. - - requireChild - - - No-posterior-dominant-rhythm-caveat - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Posterior-dominant-rhythm-caveat-only-open-eyes-during-the-recording - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Posterior-dominant-rhythm-caveat-sleep-deprived-caveat - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Posterior-dominant-rhythm-caveat-drowsy - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Posterior-dominant-rhythm-caveat-only-following-hyperventilation - - - - Absence-of-posterior-dominant-rhythm - Reason for absence of PDR. - - requireChild - - - Absence-of-posterior-dominant-rhythm-artifacts - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Absence-of-posterior-dominant-rhythm-extreme-low-voltage - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Absence-of-posterior-dominant-rhythm-eye-closure-could-not-be-achieved - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Absence-of-posterior-dominant-rhythm-lack-of-awake-period - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Absence-of-posterior-dominant-rhythm-lack-of-compliance - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Absence-of-posterior-dominant-rhythm-other-causes - - requireChild - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - - Episode-property - - requireChild - - - Seizure-classification - Epileptic seizures are named using the current ILAE seizure classification (Fisher et al., 2017, Beniczky et al., 2017). - - requireChild - - - Motor-onset-seizure - - Myoclonic-motor-onset-seizure - - - Negative-myoclonic-motor-onset-seizure - - - Clonic-motor-onset-seizure - - - Tonic-motor-onset-seizure - - - Atonic-motor-onset-seizure - - - Myoclonic-atonic-motor-onset-seizure - - - Myoclonic-tonic-clonic-motor-onset-seizure - - - Tonic-clonic-motor-onset-seizure - - - Automatism-motor-onset-seizure - - - Hyperkinetic-motor-onset-seizure - - - Epileptic-spasm-episode - - - - Nonmotor-onset-seizure - - Behavior-arrest-nonmotor-onset-seizure - - - Sensory-nonmotor-onset-seizure - - - Emotional-nonmotor-onset-seizure - - - Cognitive-nonmotor-onset-seizure - - - Autonomic-nonmotor-onset-seizure - - - - Absence-seizure - - Typical-absence-seizure - - - Atypical-absence-seizure - - - Myoclonic-absence-seizure - - - Eyelid-myoclonia-absence-seizure - - - - - Episode-phase - The electroclinical findings (i.e., the seizure semiology and the ictal EEG) are divided in three phases: onset, propagation, and postictal. - - requireChild - - - suggestedTag - Seizure-semiology-manifestation - Postictal-semiology-manifestation - Ictal-EEG-patterns - - - Episode-phase-initial - - - Episode-phase-subsequent - - - Episode-phase-postictal - - - - Seizure-semiology-manifestation - Semiology is described according to the ILAE Glossary of Descriptive Terminology for Ictal Semiology (Blume et al., 2001). Besides the name, the semiologic finding can also be characterized by the somatotopic modifier, laterality, body part and centricity. Uses Location-property tags. - - requireChild - - - Semiology-motor-manifestation - - Semiology-elementary-motor - - Semiology-motor-tonic - A sustained increase in muscle contraction lasting a few seconds to minutes. - - suggestedTag - Brain-laterality - Body-part-location - Brain-centricity - Episode-event-count - - - - Semiology-motor-dystonic - Sustained contractions of both agonist and antagonist muscles producing athetoid or twisting movements, which, when prolonged, may produce abnormal postures. - - suggestedTag - Brain-laterality - Body-part-location - Brain-centricity - Episode-event-count - - - - Semiology-motor-epileptic-spasm - A sudden flexion, extension, or mixed extension flexion of predominantly proximal and truncal muscles that is usually more sustained than a myoclonic movement but not so sustained as a tonic seizure (i.e., about 1 s). Limited forms may occur: grimacing, head nodding. Frequent occurrence in clusters. - - suggestedTag - Brain-laterality - Body-part-location - Brain-centricity - Episode-event-count - - - - Semiology-motor-postural - Adoption of a posture that may be bilaterally symmetric or asymmetric (as in a fencing posture). - - suggestedTag - Brain-laterality - Body-part-location - Brain-centricity - Episode-event-count - - - - Semiology-motor-versive - A sustained, forced conjugate ocular, cephalic, and/or truncal rotation or lateral deviation from the midline. - - suggestedTag - Body-part-location - Episode-event-count - - - - Semiology-motor-clonic - Myoclonus that is regularly repetitive, involves the same muscle groups, at a frequency of about 2 to 3 c/s, and is prolonged. Synonym: rhythmic myoclonus . - - suggestedTag - Brain-laterality - Body-part-location - Brain-centricity - Episode-event-count - - - - Semiology-motor-myoclonic - Characterized by myoclonus. MYOCLONUS : sudden, brief (lower than 100 ms) involuntary single or multiple contraction(s) of muscles(s) or muscle groups of variable topography (axial, proximal limb, distal). - - suggestedTag - Brain-laterality - Body-part-location - Brain-centricity - Episode-event-count - - - - Semiology-motor-jacksonian-march - Term indicating spread of clonic movements through contiguous body parts unilaterally. - - suggestedTag - Brain-laterality - Body-part-location - Brain-centricity - Episode-event-count - - - - Semiology-motor-negative-myoclonus - Characterized by negative myoclonus. NEGATIVE MYOCLONUS: interruption of tonic muscular activity for lower than 500 ms without evidence of preceding myoclonia. - - suggestedTag - Brain-laterality - Body-part-location - Brain-centricity - Episode-event-count - - - - Semiology-motor-tonic-clonic - A sequence consisting of a tonic followed by a clonic phase. Variants such as clonic-tonic-clonic may be seen. Asymmetry of limb posture during the tonic phase of a GTC: one arm is rigidly extended at the elbow (often with the fist clenched tightly and flexed at the wrist), whereas the opposite arm is flexed at the elbow. - - requireChild - - - Semiology-motor-tonic-clonic-without-figure-of-four - - suggestedTag - Brain-laterality - Body-part-location - Brain-centricity - Episode-event-count - - - - Semiology-motor-tonic-clonic-with-figure-of-four-extension-left-elbow - - suggestedTag - Brain-laterality - Body-part-location - Brain-centricity - Episode-event-count - - - - Semiology-motor-tonic-clonic-with-figure-of-four-extension-right-elbow - - suggestedTag - Brain-laterality - Body-part-location - Brain-centricity - Episode-event-count - - - - - Semiology-motor-astatic - Loss of erect posture that results from an atonic, myoclonic, or tonic mechanism. Synonym: drop attack. - - suggestedTag - Brain-laterality - Body-part-location - Brain-centricity - Episode-event-count - - - - Semiology-motor-atonic - Sudden loss or diminution of muscle tone without apparent preceding myoclonic or tonic event lasting greater or equal to 1 to 2 s, involving head, trunk, jaw, or limb musculature. - - suggestedTag - Brain-laterality - Body-part-location - Brain-centricity - Episode-event-count - - - - Semiology-motor-eye-blinking - - suggestedTag - Brain-laterality - Episode-event-count - - - - Semiology-motor-other-elementary-motor - - requireChild - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Semiology-motor-automatisms - - Semiology-motor-automatisms-mimetic - Facial expression suggesting an emotional state, often fear. - - suggestedTag - Episode-responsiveness - Episode-appearance - Episode-event-count - - - - Semiology-motor-automatisms-oroalimentary - Lip smacking, lip pursing, chewing, licking, tooth grinding, or swallowing. - - suggestedTag - Episode-responsiveness - Episode-appearance - Episode-event-count - - - - Semiology-motor-automatisms-dacrystic - Bursts of crying. - - suggestedTag - Episode-responsiveness - Episode-appearance - Episode-event-count - - - - Semiology-motor-automatisms-dyspraxic - Inability to perform learned movements spontaneously or on command or imitation despite intact relevant motor and sensory systems and adequate comprehension and cooperation. - - suggestedTag - Brain-laterality - Body-part-location - Brain-centricity - Episode-responsiveness - Episode-appearance - Episode-event-count - - - - Semiology-motor-automatisms-manual - 1. Indicates principally distal components, bilateral or unilateral. 2. Fumbling, tapping, manipulating movements. - - suggestedTag - Brain-laterality - Brain-centricity - Episode-responsiveness - Episode-appearance - Episode-event-count - - - - Semiology-motor-automatisms-gestural - Semipurposive, asynchronous hand movements. Often unilateral. - - suggestedTag - Brain-laterality - Episode-responsiveness - Episode-appearance - Episode-event-count - - - - Semiology-motor-automatisms-pedal - 1. Indicates principally distal components, bilateral or unilateral. 2. Fumbling, tapping, manipulating movements. - - suggestedTag - Brain-laterality - Brain-centricity - Episode-responsiveness - Episode-appearance - Episode-event-count - - - - Semiology-motor-automatisms-hypermotor - 1. Involves predominantly proximal limb or axial muscles producing irregular sequential ballistic movements, such as pedaling, pelvic thrusting, thrashing, rocking movements. 2. Increase in rate of ongoing movements or inappropriately rapid performance of a movement. - - suggestedTag - Brain-laterality - Body-part-location - Brain-centricity - Episode-responsiveness - Episode-appearance - Episode-event-count - - - - Semiology-motor-automatisms-hypokinetic - A decrease in amplitude and/or rate or arrest of ongoing motor activity. - - suggestedTag - Brain-laterality - Body-part-location - Brain-centricity - Episode-responsiveness - Episode-appearance - Episode-event-count - - - - Semiology-motor-automatisms-gelastic - Bursts of laughter or giggling, usually without an appropriate affective tone. - - suggestedTag - Episode-responsiveness - Episode-appearance - Episode-event-count - - - - Semiology-motor-other-automatisms - - requireChild - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Semiology-motor-behavioral-arrest - Interruption of ongoing motor activity or of ongoing behaviors with fixed gaze, without movement of the head or trunk (oro-alimentary and hand automatisms may continue). - - suggestedTag - Brain-laterality - Body-part-location - Brain-centricity - Episode-event-count - - - - - Semiology-non-motor-manifestation - - Semiology-sensory - - Semiology-sensory-headache - Headache occurring in close temporal proximity to the seizure or as the sole seizure manifestation. - - suggestedTag - Brain-laterality - Episode-event-count - - - - Semiology-sensory-visual - Flashing or flickering lights, spots, simple patterns, scotomata, or amaurosis. - - suggestedTag - Brain-laterality - Episode-event-count - - - - Semiology-sensory-auditory - Buzzing, drumming sounds or single tones. - - suggestedTag - Brain-laterality - Episode-event-count - - - - Semiology-sensory-olfactory - - suggestedTag - Body-part-location - Episode-event-count - - - - Semiology-sensory-gustatory - Taste sensations including acidic, bitter, salty, sweet, or metallic. - - suggestedTag - Episode-event-count - - - - Semiology-sensory-epigastric - Abdominal discomfort including nausea, emptiness, tightness, churning, butterflies, malaise, pain, and hunger; sensation may rise to chest or throat. Some phenomena may reflect ictal autonomic dysfunction. - - suggestedTag - Episode-event-count - - - - Semiology-sensory-somatosensory - Tingling, numbness, electric-shock sensation, sense of movement or desire to move. - - suggestedTag - Brain-laterality - Body-part-location - Brain-centricity - Episode-event-count - - - - Semiology-sensory-painful - Peripheral (lateralized/bilateral), cephalic, abdominal. - - suggestedTag - Brain-laterality - Body-part-location - Brain-centricity - Episode-event-count - - - - Semiology-sensory-autonomic-sensation - A sensation consistent with involvement of the autonomic nervous system, including cardiovascular, gastrointestinal, sudomotor, vasomotor, and thermoregulatory functions. (Thus autonomic aura; cf. autonomic events 3.0). - - suggestedTag - Episode-event-count - - - - Semiology-sensory-other - - requireChild - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Semiology-experiential - - Semiology-experiential-affective-emotional - Components include fear, depression, joy, and (rarely) anger. - - suggestedTag - Episode-event-count - - - - Semiology-experiential-hallucinatory - Composite perceptions without corresponding external stimuli involving visual, auditory, somatosensory, olfactory, and/or gustatory phenomena. Example: hearing and seeing people talking. - - suggestedTag - Episode-event-count - - - - Semiology-experiential-illusory - An alteration of actual percepts involving the visual, auditory, somatosensory, olfactory, or gustatory systems. - - suggestedTag - Episode-event-count - - - - Semiology-experiential-mnemonic - Components that reflect ictal dysmnesia such as feelings of familiarity (deja-vu) and unfamiliarity (jamais-vu). - - Semiology-experiential-mnemonic-Deja-vu - - suggestedTag - Episode-event-count - - - - Semiology-experiential-mnemonic-Jamais-vu - - suggestedTag - Episode-event-count - - - - - Semiology-experiential-other - - requireChild - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Semiology-dyscognitive - The term describes events in which (1) disturbance of cognition is the predominant or most apparent feature, and (2a) two or more of the following components are involved, or (2b) involvement of such components remains undetermined. Otherwise, use the more specific term (e.g., mnemonic experiential seizure or hallucinatory experiential seizure). Components of cognition: ++ perception: symbolic conception of sensory information ++ attention: appropriate selection of a principal perception or task ++ emotion: appropriate affective significance of a perception ++ memory: ability to store and retrieve percepts or concepts ++ executive function: anticipation, selection, monitoring of consequences, and initiation of motor activity including praxis, speech. - - suggestedTag - Episode-event-count - - - - Semiology-language-related - - Semiology-language-related-vocalization - - suggestedTag - Episode-event-count - - - - Semiology-language-related-verbalization - - suggestedTag - Episode-event-count - - - - Semiology-language-related-dysphasia - - suggestedTag - Episode-event-count - - - - Semiology-language-related-aphasia - - suggestedTag - Episode-event-count - - - - Semiology-language-related-other - - requireChild - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Semiology-autonomic - - Semiology-autonomic-pupillary - Mydriasis, miosis (either bilateral or unilateral). - - suggestedTag - Brain-laterality - Episode-event-count - - - - Semiology-autonomic-hypersalivation - Increase in production of saliva leading to uncontrollable drooling - - suggestedTag - Episode-event-count - - - - Semiology-autonomic-respiratory-apnoeic - subjective shortness of breath, hyperventilation, stridor, coughing, choking, apnea, oxygen desaturation, neurogenic pulmonary edema. - - suggestedTag - Episode-event-count - - - - Semiology-autonomic-cardiovascular - Modifications of heart rate (tachycardia, bradycardia), cardiac arrhythmias (such as sinus arrhythmia, sinus arrest, supraventricular tachycardia, atrial premature depolarizations, ventricular premature depolarizations, atrio-ventricular block, bundle branch block, atrioventricular nodal escape rhythm, asystole). - - suggestedTag - Episode-event-count - - - - Semiology-autonomic-gastrointestinal - Nausea, eructation, vomiting, retching, abdominal sensations, abdominal pain, flatulence, spitting, diarrhea. - - suggestedTag - Episode-event-count - - - - Semiology-autonomic-urinary-incontinence - urinary urge (intense urinary urge at the beginning of seizures), urinary incontinence, ictal urination (rare symptom of partial seizures without loss of consciousness). - - suggestedTag - Episode-event-count - - - - Semiology-autonomic-genital - Sexual auras (erotic thoughts and feelings, sexual arousal and orgasm). Genital auras (unpleasant, sometimes painful, frightening or emotionally neutral somatosensory sensations in the genitals that can be accompanied by ictal orgasm). Sexual automatisms (hypermotor movements consisting of writhing, thrusting, rhythmic movements of the pelvis, arms and legs, sometimes associated with picking and rhythmic manipulation of the groin or genitalia, exhibitionism and masturbation). - - suggestedTag - Episode-event-count - - - - Semiology-autonomic-vasomotor - Flushing or pallor (may be accompanied by feelings of warmth, cold and pain). - - suggestedTag - Episode-event-count - - - - Semiology-autonomic-sudomotor - Sweating and piloerection (may be accompanied by feelings of warmth, cold and pain). - - suggestedTag - Brain-laterality - Episode-event-count - - - - Semiology-autonomic-thermoregulatory - Hyperthermia, fever. - - suggestedTag - Episode-event-count - - - - Semiology-autonomic-other - - requireChild - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - - Semiology-manifestation-other - - requireChild - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Postictal-semiology-manifestation - - requireChild - - - Postictal-semiology-unconscious - - suggestedTag - Episode-event-count - - - - Postictal-semiology-quick-recovery-of-consciousness - Quick recovery of awareness and responsiveness. - - suggestedTag - Episode-event-count - - - - Postictal-semiology-aphasia-or-dysphasia - Impaired communication involving language without dysfunction of relevant primary motor or sensory pathways, manifested as impaired comprehension, anomia, parahasic errors or a combination of these. - - suggestedTag - Episode-event-count - - - - Postictal-semiology-behavioral-change - Occurring immediately after a aseizure. Including psychosis, hypomanina, obsessive-compulsive behavior. - - suggestedTag - Episode-event-count - - - - Postictal-semiology-hemianopia - Postictal visual loss in a a hemi field. - - suggestedTag - Brain-laterality - Episode-event-count - - - - Postictal-semiology-impaired-cognition - Decreased Cognitive performance involving one or more of perception, attention, emotion, memory, execution, praxis, speech. - - suggestedTag - Episode-event-count - - - - Postictal-semiology-dysphoria - Depression, irritability, euphoric mood, fear, anxiety. - - suggestedTag - Episode-event-count - - - - Postictal-semiology-headache - Headache with features of tension-type or migraine headache that develops within 3 h following the seizure and resolves within 72 h after seizure. - - suggestedTag - Episode-event-count - - - - Postictal-semiology-nose-wiping - Noes-wiping usually within 60 sec of seizure offset, usually with the hand ipsilateral to the seizure onset. - - suggestedTag - Brain-laterality - Episode-event-count - - - - Postictal-semiology-anterograde-amnesia - Impaired ability to remember new material. - - suggestedTag - Episode-event-count - - - - Postictal-semiology-retrograde-amnesia - Impaired ability to recall previously remember material. - - suggestedTag - Episode-event-count - - - - Postictal-semiology-paresis - Todds palsy. Any unilateral postictal dysfunction relating to motor, language, sensory and/or integrative functions. - - suggestedTag - Brain-laterality - Body-part-location - Brain-centricity - Episode-event-count - - - - Postictal-semiology-sleep - Invincible need to sleep after a seizure. - - - Postictal-semiology-unilateral-myoclonic-jerks - unilateral motor phenomena, other then specified, occurring in postictal phase. - - - Postictal-semiology-other-unilateral-motor-phenomena - - requireChild - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Polygraphic-channel-relation-to-episode - - requireChild - - - suggestedTag - Property-not-possible-to-determine - - - Polygraphic-channel-cause-to-episode - - - Polygraphic-channel-consequence-of-episode - - - - Ictal-EEG-patterns - - Ictal-EEG-patterns-obscured-by-artifacts - The interpretation of the EEG is not possible due to artifacts. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Ictal-EEG-activity - - suggestedTag - Polyspikes-morphology - Fast-spike-activity-morphology - Low-voltage-fast-activity-morphology - Polysharp-waves-morphology - Spike-and-slow-wave-morphology - Polyspike-and-slow-wave-morphology - Sharp-and-slow-wave-morphology - Rhythmic-activity-morphology - Slow-wave-large-amplitude-morphology - Irregular-delta-or-theta-activity-morphology - Electrodecremental-change-morphology - DC-shift-morphology - Disappearance-of-ongoing-activity-morphology - Brain-laterality - Brain-region - Sensors - Source-analysis-laterality - Source-analysis-brain-region - Episode-event-count - - - - Postictal-EEG-activity - - suggestedTag - Brain-laterality - Body-part-location - Brain-centricity - - - - - Episode-time-context-property - Additional clinically relevant features related to episodes can be scored under timing and context. If needed, episode duration can be tagged with base schema /Property/Data-property/Data-value/Spatiotemporal-value/Temporal-value/Duration. - - Episode-consciousness - - requireChild - - - suggestedTag - Property-not-possible-to-determine - - - Episode-consciousness-not-tested - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Episode-consciousness-affected - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Episode-consciousness-mildly-affected - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Episode-consciousness-not-affected - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Episode-awareness - - suggestedTag - Property-not-possible-to-determine - Property-exists - Property-absence - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Clinical-EEG-temporal-relationship - - suggestedTag - Property-not-possible-to-determine - - - Clinical-start-followed-EEG - Clinical start, followed by EEG start by X seconds. - - # - - takesValue - - - valueClass - numericClass - - - unitClass - timeUnits - - - - - EEG-start-followed-clinical - EEG start, followed by clinical start by X seconds. - - # - - takesValue - - - valueClass - numericClass - - - unitClass - timeUnits - - - - - Simultaneous-start-clinical-EEG - - - Clinical-EEG-temporal-relationship-notes - Clinical notes to annotate the clinical-EEG temporal relationship. - - # - - takesValue - - - valueClass - textClass - - - - - - Episode-event-count - Number of stereotypical episodes during the recording. - - suggestedTag - Property-not-possible-to-determine - - - # - - takesValue - - - valueClass - numericClass - - - - - State-episode-start - State at the start of the episode. - - requireChild - - - suggestedTag - Property-not-possible-to-determine - - - Episode-start-from-sleep - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Episode-start-from-awake - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Episode-postictal-phase - - suggestedTag - Property-not-possible-to-determine - - - # - - takesValue - - - valueClass - numericClass - - - unitClass - timeUnits - - - - - Episode-prodrome - Prodrome is a preictal phenomenon, and it is defined as a subjective or objective clinical alteration (e.g., ill-localized sensation or agitation) that heralds the onset of an epileptic seizure but does not form part of it (Blume et al., 2001). Therefore, prodrome should be distinguished from aura (which is an ictal phenomenon). - - suggestedTag - Property-exists - Property-absence - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Episode-tongue-biting - - suggestedTag - Property-exists - Property-absence - - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Episode-responsiveness - - requireChild - - - suggestedTag - Property-not-possible-to-determine - - - Episode-responsiveness-preserved - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Episode-responsiveness-affected - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Episode-appearance - - requireChild - - - Episode-appearance-interactive - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Episode-appearance-spontaneous - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Seizure-dynamics - Spatiotemporal dynamics can be scored (evolution in morphology; evolution in frequency; evolution in location). - - requireChild - - - Seizure-dynamics-evolution-morphology - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Seizure-dynamics-evolution-frequency - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Seizure-dynamics-evolution-location - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Seizure-dynamics-not-possible-to-determine - Not possible to determine. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - - - Other-finding-property - - requireChild - - - Artifact-significance-to-recording - It is important to score the significance of the described artifacts: recording is not interpretable, recording of reduced diagnostic value, does not interfere with the interpretation of the recording. - - requireChild - - - Recording-not-interpretable-due-to-artifact - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Recording-of-reduced-diagnostic-value-due-to-artifact - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Artifact-does-not-interfere-recording - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Finding-significance-to-recording - Significance of finding. When normal/abnormal could be labeled with base schema Normal/Abnormal tags. - - requireChild - - - Finding-no-definite-abnormality - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Finding-significance-not-possible-to-determine - Not possible to determine. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Finding-frequency - Value in Hz (number) typed in. - - # - - takesValue - - - valueClass - numericClass - - - unitClass - frequencyUnits - - - - - Finding-amplitude - Value in microvolts (number) typed in. - - # - - takesValue - - - valueClass - numericClass - - - unitClass - electricPotentialUnits - - - - - Finding-amplitude-asymmetry - For posterior dominant rhythm: a difference in amplitude between the homologous area on opposite sides of the head that consistently exceeds 50 percent. When symmetrical could be labeled with base schema Symmetrical tag. For sleep: Absence or consistently marked amplitude asymmetry (greater than 50 percent) of a normal sleep graphoelement. - - requireChild - - - Finding-amplitude-asymmetry-lower-left - Amplitude lower on the left side. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Finding-amplitude-asymmetry-lower-right - Amplitude lower on the right side. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Finding-amplitude-asymmetry-not-possible-to-determine - Not possible to determine. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - Finding-stopped-by - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Finding-triggered-by - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Finding-unmodified - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Property-not-possible-to-determine - Not possible to determine. - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Property-exists - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - Property-absence - - # - Free text. - - takesValue - - - valueClass - textClass - - - - - - - - - accelerationUnits - - defaultUnits - m-per-s^2 - - - m-per-s^2 - - SIUnit - - - unitSymbol - - - conversionFactor - 1.0 - - - - - angleUnits - - defaultUnits - radian - - - radian - - SIUnit - - - conversionFactor - 1.0 - - - - rad - - SIUnit - - - unitSymbol - - - conversionFactor - 1.0 - - - - degree - - conversionFactor - 0.0174533 - - - - - areaUnits - - defaultUnits - m^2 - - - m^2 - - SIUnit - - - unitSymbol - - - conversionFactor - 1.0 - - - - - currencyUnits - Units indicating the worth of something. - - defaultUnits - $ - - - dollar - - conversionFactor - 1.0 - - - - $ - - unitPrefix - - - unitSymbol - - - conversionFactor - 1.0 - - - - euro - - - point - - - - electricPotentialUnits - - defaultUnits - uv - - - v - - SIUnit - - - unitSymbol - - - conversionFactor - 0.000001 - - - - Volt - - SIUnit - - - conversionFactor - 0.000001 - - - - - frequencyUnits - - defaultUnits - Hz - - - hertz - - SIUnit - - - conversionFactor - 1.0 - - - - Hz - - SIUnit - - - unitSymbol - - - conversionFactor - 1.0 - - - - - intensityUnits - - defaultUnits - dB - - - dB - Intensity expressed as ratio to a threshold. May be used for sound intensity. - - unitSymbol - - - conversionFactor - 1.0 - - - - candela - Units used to express light intensity. - - SIUnit - - - - cd - Units used to express light intensity. - - SIUnit - - - unitSymbol - - - - - jerkUnits - - defaultUnits - m-per-s^3 - - - m-per-s^3 - - unitSymbol - - - conversionFactor - 1.0 - - - - - magneticFieldUnits - Units used to magnetic field intensity. - - defaultUnits - fT - - - tesla - - SIUnit - - - conversionFactor - 10^-15 - - - - T - - SIUnit - - - unitSymbol - - - conversionFactor - 10^-15 - - - - - memorySizeUnits - - defaultUnits - B - - - byte - - SIUnit - - - conversionFactor - 1.0 - - - - B - - SIUnit - - - unitSymbol - - - conversionFactor - 1.0 - - - - - physicalLengthUnits - - defaultUnits - m - - - foot - - conversionFactor - 0.3048 - - - - inch - - conversionFactor - 0.0254 - - - - metre - - SIUnit - - - conversionFactor - 1.0 - - - - m - - SIUnit - - - unitSymbol - - - conversionFactor - 1.0 - - - - mile - - conversionFactor - 1609.34 - - - - - speedUnits - - defaultUnits - m-per-s - - - m-per-s - - SIUnit - - - unitSymbol - - - conversionFactor - 1.0 - - - - mph - - unitSymbol - - - conversionFactor - 0.44704 - - - - kph - - unitSymbol - - - conversionFactor - 0.277778 - - - - - temperatureUnits - - degree Celsius - - SIUnit - - - conversionFactor - 1.0 - - - - oC - - SIUnit - - - unitSymbol - - - conversionFactor - 1.0 - - - - - timeUnits - - defaultUnits - s - - - second - - SIUnit - - - conversionFactor - 1.0 - - - - s - - SIUnit - - - unitSymbol - - - conversionFactor - 1.0 - - - - day - - conversionFactor - 86400 - - - - minute - - conversionFactor - 60 - - - - hour - Should be in 24-hour format. - - conversionFactor - 3600 - - - - - volumeUnits - - defaultUnits - m^3 - - - m^3 - - SIUnit - - - unitSymbol - - - conversionFactor - 1.0 - - - - - weightUnits - - defaultUnits - g - - - g - - SIUnit - - - unitSymbol - - - conversionFactor - 1.0 - - - - gram - - SIUnit - - - conversionFactor - 1.0 - - - - pound - - conversionFactor - 453.592 - - - - lb - - conversionFactor - 453.592 - - - - - - - deca - SI unit multiple representing 10^1. - - SIUnitModifier - - - conversionFactor - 10.0 - - - - da - SI unit multiple representing 10^1. - - SIUnitSymbolModifier - - - conversionFactor - 10.0 - - - - hecto - SI unit multiple representing 10^2. - - SIUnitModifier - - - conversionFactor - 100.0 - - - - h - SI unit multiple representing 10^2. - - SIUnitSymbolModifier - - - conversionFactor - 100.0 - - - - kilo - SI unit multiple representing 10^3. - - SIUnitModifier - - - conversionFactor - 1000.0 - - - - k - SI unit multiple representing 10^3. - - SIUnitSymbolModifier - - - conversionFactor - 1000.0 - - - - mega - SI unit multiple representing 10^6. - - SIUnitModifier - - - conversionFactor - 10^6 - - - - M - SI unit multiple representing 10^6. - - SIUnitSymbolModifier - - - conversionFactor - 10^6 - - - - giga - SI unit multiple representing 10^9. - - SIUnitModifier - - - conversionFactor - 10^9 - - - - G - SI unit multiple representing 10^9. - - SIUnitSymbolModifier - - - conversionFactor - 10^9 - - - - tera - SI unit multiple representing 10^12. - - SIUnitModifier - - - conversionFactor - 10^12 - - - - T - SI unit multiple representing 10^12. - - SIUnitSymbolModifier - - - conversionFactor - 10^12 - - - - peta - SI unit multiple representing 10^15. - - SIUnitModifier - - - conversionFactor - 10^15 - - - - P - SI unit multiple representing 10^15. - - SIUnitSymbolModifier - - - conversionFactor - 10^15 - - - - exa - SI unit multiple representing 10^18. - - SIUnitModifier - - - conversionFactor - 10^18 - - - - E - SI unit multiple representing 10^18. - - SIUnitSymbolModifier - - - conversionFactor - 10^18 - - - - zetta - SI unit multiple representing 10^21. - - SIUnitModifier - - - conversionFactor - 10^21 - - - - Z - SI unit multiple representing 10^21. - - SIUnitSymbolModifier - - - conversionFactor - 10^21 - - - - yotta - SI unit multiple representing 10^24. - - SIUnitModifier - - - conversionFactor - 10^24 - - - - Y - SI unit multiple representing 10^24. - - SIUnitSymbolModifier - - - conversionFactor - 10^24 - - - - deci - SI unit submultiple representing 10^-1. - - SIUnitModifier - - - conversionFactor - 0.1 - - - - d - SI unit submultiple representing 10^-1. - - SIUnitSymbolModifier - - - conversionFactor - 0.1 - - - - centi - SI unit submultiple representing 10^-2. - - SIUnitModifier - - - conversionFactor - 0.01 - - - - c - SI unit submultiple representing 10^-2. - - SIUnitSymbolModifier - - - conversionFactor - 0.01 - - - - milli - SI unit submultiple representing 10^-3. - - SIUnitModifier - - - conversionFactor - 0.001 - - - - m - SI unit submultiple representing 10^-3. - - SIUnitSymbolModifier - - - conversionFactor - 0.001 - - - - micro - SI unit submultiple representing 10^-6. - - SIUnitModifier - - - conversionFactor - 10^-6 - - - - u - SI unit submultiple representing 10^-6. - - SIUnitSymbolModifier - - - conversionFactor - 10^-6 - - - - nano - SI unit submultiple representing 10^-9. - - SIUnitModifier - - - conversionFactor - 10^-9 - - - - n - SI unit submultiple representing 10^-9. - - SIUnitSymbolModifier - - - conversionFactor - 10^-9 - - - - pico - SI unit submultiple representing 10^-12. - - SIUnitModifier - - - conversionFactor - 10^-12 - - - - p - SI unit submultiple representing 10^-12. - - SIUnitSymbolModifier - - - conversionFactor - 10^-12 - - - - femto - SI unit submultiple representing 10^-15. - - SIUnitModifier - - - conversionFactor - 10^-15 - - - - f - SI unit submultiple representing 10^-15. - - SIUnitSymbolModifier - - - conversionFactor - 10^-15 - - - - atto - SI unit submultiple representing 10^-18. - - SIUnitModifier - - - conversionFactor - 10^-18 - - - - a - SI unit submultiple representing 10^-18. - - SIUnitSymbolModifier - - - conversionFactor - 10^-18 - - - - zepto - SI unit submultiple representing 10^-21. - - SIUnitModifier - - - conversionFactor - 10^-21 - - - - z - SI unit submultiple representing 10^-21. - - SIUnitSymbolModifier - - - conversionFactor - 10^-21 - - - - yocto - SI unit submultiple representing 10^-24. - - SIUnitModifier - - - conversionFactor - 10^-24 - - - - y - SI unit submultiple representing 10^-24. - - SIUnitSymbolModifier - - - conversionFactor - 10^-24 - - - - - - dateTimeClass - Date-times should conform to ISO8601 date-time format YYYY-MM-DDThh:mm:ss. Any variation on the full form is allowed. - - allowedCharacter - digits - T - - - : - - - - nameClass - Value class designating values that have the characteristics of node names. The allowed characters are alphanumeric, hyphen, and underbar. - - allowedCharacter - letters - digits - _ - - - - - - numericClass - Value must be a valid numerical value. - - allowedCharacter - digits - E - e - + - - - . - - - - posixPath - Posix path specification. - - allowedCharacter - digits - letters - / - : - - - - textClass - Value class designating values that have the characteristics of text such as in descriptions. - - allowedCharacter - letters - digits - blank - + - - - : - ; - . - / - ( - ) - ? - * - % - $ - @ - - - - - - allowedCharacter - A schema attribute of value classes specifying a special character that is allowed in expressing the value of a placeholder. Normally the allowed characters are listed individually. However, the word letters designates the upper and lower case alphabetic characters and the word digits designates the digits 0-9. The word blank designates the blank character. - - valueClassProperty - - - - conversionFactor - The multiplicative factor to multiply these units to convert to default units. - - unitProperty - - - unitModifierProperty - - - - defaultUnits - A schema attribute of unit classes specifying the default units to use if the placeholder has a unit class but the substituted value has no units. - - unitClassProperty - - - - extensionAllowed - A schema attribute indicating that users can add unlimited levels of child nodes under this tag. This tag is propagated to child nodes with the exception of the hashtag placeholders. - - boolProperty - - - - recommended - A schema attribute indicating that the event-level HED string should include this tag. - - boolProperty - - - - relatedTag - A schema attribute suggesting HED tags that are closely related to this tag. This attribute is used by tagging tools. - - - requireChild - A schema attribute indicating that one of the node elements descendants must be included when using this tag. - - boolProperty - - - - required - A schema attribute indicating that every event-level HED string should include this tag. - - boolProperty - - - - SIUnit - A schema attribute indicating that this unit element is an SI unit and can be modified by multiple and submultiple names. Note that some units such as byte are designated as SI units although they are not part of the standard. - - boolProperty - - - unitProperty - - - - SIUnitModifier - A schema attribute indicating that this SI unit modifier represents a multiple or submultiple of a base unit rather than a unit symbol. - - boolProperty - - - unitModifierProperty - - - - SIUnitSymbolModifier - A schema attribute indicating that this SI unit modifier represents a multiple or submultiple of a unit symbol rather than a base symbol. - - boolProperty - - - unitModifierProperty - - - - suggestedTag - A schema attribute that indicates another tag that is often associated with this tag. This attribute is used by tagging tools to provide tagging suggestions. - - - tagGroup - A schema attribute indicating the tag can only appear inside a tag group. - - boolProperty - - - - takesValue - A schema attribute indicating the tag is a hashtag placeholder that is expected to be replaced with a user-defined value. - - boolProperty - - - - topLevelTagGroup - A schema attribute indicating that this tag (or its descendants) can only appear in a top-level tag group. A tag group can have at most one tag with this attribute. - - boolProperty - - - - unique - A schema attribute indicating that only one of this tag or its descendants can be used in the event-level HED string. - - boolProperty - - - - unitClass - A schema attribute specifying which unit class this value tag belongs to. - - - unitPrefix - A schema attribute applied specifically to unit elements to designate that the unit indicator is a prefix (e.g., dollar sign in the currency units). - - boolProperty - - - unitProperty - - - - unitSymbol - A schema attribute indicating this tag is an abbreviation or symbol representing a type of unit. Unit symbols represent both the singular and the plural and thus cannot be pluralized. - - boolProperty - - - unitProperty - - - - valueClass - A schema attribute specifying which value class this value tag belongs to. - - - - - boolProperty - Indicates that the schema attribute represents something that is either true or false and does not have a value. Attributes without this value are assumed to have string values. - - - unitClassProperty - Indicates that the schema attribute is meant to be applied to unit classes. - - - unitModifierProperty - Indicates that the schema attribute is meant to be applied to unit modifier classes. - - - unitProperty - Indicates that the schema attribute is meant to be applied to units within a unit class. - - - valueClassProperty - Indicates that the schema attribute is meant to be applied to value classes. - - - The Standardized Computer-based Organized Reporting of EEG (SCORE) is a standard terminology for scalp EEG data assessment designed for use in clinical practice that may also be used for research purposes. -The SCORE standard defines terms for describing phenomena observed in scalp EEG data. It is also potentially applicable (with some suitable extensions) to EEG recorded in critical care and neonatal settings. -The SCORE standard received European consensus and has been endorsed by the European Chapter of the International Federation of Clinical Neurophysiology (IFCN) and the International League Against Epilepsy (ILAE) Commission on European Affairs. -A second revised and extended version of SCORE achieved international consensus. -[1] Beniczky, Sandor, et al. "Standardized computer based organized reporting of EEG: SCORE." Epilepsia 54.6 (2013). -[2] Beniczky, Sandor, et al. "Standardized computer based organized reporting of EEG: SCORE second version." Clinical Neurophysiology 128.11 (2017). -TPA, January 2023 - diff --git a/src/data/schemas/HED_score_1.1.0.xml b/src/data/schemas/HED_score_1.2.0.xml similarity index 99% rename from src/data/schemas/HED_score_1.1.0.xml rename to src/data/schemas/HED_score_1.2.0.xml index 52731f8e..2d9e73e9 100644 --- a/src/data/schemas/HED_score_1.1.0.xml +++ b/src/data/schemas/HED_score_1.2.0.xml @@ -1,5 +1,5 @@ - + This schema is a Hierarchical Event Descriptors (HED) Library Schema implementation of Standardized Computer-based Organized Reporting of EEG (SCORE)[1,2] for describing events occurring during neuroimaging time series recordings. The HED-SCORE library schema allows neurologists, neurophysiologists, and brain researchers to annotate electrophysiology recordings using terms from an internationally accepted set of defined terms (SCORE) compatible with the HED framework. The resulting annotations are understandable to clinicians and directly usable in computer analysis. @@ -6720,17 +6720,6 @@ For more information see https://hed-schema-library.readthedocs.io/en/latest/ind inLibrary score - - - Motor-onset-seizure - - deprecatedFrom - 1.0.0 - - - inLibrary - score - Myoclonic-motor-seizure Sudden, brief ( lower than 100 msec) involuntary single or multiple contraction(s) of muscles(s) or muscle groups of variable topography (axial, proximal limb, distal). Myoclonus is less regularly repetitive and less sustained than is clonus. Definition from ILAE 2017 Classification of Seizure Types Expanded Version @@ -6740,101 +6729,98 @@ For more information see https://hed-schema-library.readthedocs.io/en/latest/ind - Myoclonic-motor-onset-seizure - - deprecatedFrom - 1.0.0 - + Negative-myoclonic-motor-seizure inLibrary score - Negative-myoclonic-motor-seizure + Clonic-motor-seizure + Jerking, either symmetric or asymmetric, that is regularly repetitive and involves the same muscle groups. Definition from ILAE 2017 Classification of Seizure Types Expanded Version inLibrary score - Negative-myoclonic-motor-onset-seizure - - deprecatedFrom - 1.0.0 - + Tonic-motor-seizure + A sustained increase in muscle contraction lasting a few seconds to minutes. Definition from ILAE 2017 Classification of Seizure Types Expanded Version inLibrary score - Clonic-motor-seizure - Jerking, either symmetric or asymmetric, that is regularly repetitive and involves the same muscle groups. Definition from ILAE 2017 Classification of Seizure Types Expanded Version + Atonic-motor-seizure + Sudden loss or diminution of muscle tone without apparent preceding myoclonic or tonic event lasting about 1 to 2 s, involving head, trunk, jaw, or limb musculature. Definition from ILAE 2017 Classification of Seizure Types Expanded Version inLibrary score - Clonic-motor-onset-seizure - - deprecatedFrom - 1.0.0 - + Myoclonic-atonic-motor-seizure + A generalized seizure type with a myoclonic jerk leading to an atonic motor component. This type was previously called myoclonic astatic. Definition from ILAE 2017 Classification of Seizure Types Expanded Version inLibrary score - Tonic-motor-seizure - A sustained increase in muscle contraction lasting a few seconds to minutes. Definition from ILAE 2017 Classification of Seizure Types Expanded Version + Myoclonic-tonic-clonic-motor-seizure + One or a few jerks of limbs bilaterally, followed by a tonic clonic seizure. The initial jerks can be considered to be either a brief period of clonus or myoclonus. Seizures with this characteristic are common in juvenile myoclonic epilepsy. Definition from ILAE 2017 Classification of Seizure Types Expanded Version inLibrary score - Tonic-motor-onset-seizure - - deprecatedFrom - 1.0.0 - + Tonic-clonic-motor-seizure + A sequence consisting of a tonic followed by a clonic phase. Definition from ILAE 2017 Classification of Seizure Types Expanded Version inLibrary score - Atonic-motor-seizure - Sudden loss or diminution of muscle tone without apparent preceding myoclonic or tonic event lasting about 1 to 2 s, involving head, trunk, jaw, or limb musculature. Definition from ILAE 2017 Classification of Seizure Types Expanded Version + Automatism-motor-seizure + A more or less coordinated motor activity usually occurring when cognition is impaired and for which the subject is usually (but not always) amnesic afterward. This often resembles a voluntary movement and may consist of an inappropriate continuation of preictal motor activity. Definition from ILAE 2017 Classification of Seizure Types Expanded Version inLibrary score - Atonic-motor-onset-seizure - - deprecatedFrom - 1.0.0 - + Hyperkinetic-motor-seizure inLibrary score - Myoclonic-atonic-motor-seizure - A generalized seizure type with a myoclonic jerk leading to an atonic motor component. This type was previously called myoclonic astatic. Definition from ILAE 2017 Classification of Seizure Types Expanded Version + Epileptic-spasm-episode + A sudden flexion, extension, or mixed extension flexion of predominantly proximal and truncal muscles that is usually more sustained than a myoclonic movement but not as sustained as a tonic seizure. Limited forms may occur: Grimacing, head nodding, or subtle eye movements. Epileptic spasms frequently occur in clusters. Infantile spasms are the best known form, but spasms can occur at all ages. Definition from ILAE 2017 Classification of Seizure Types Expanded Version inLibrary score + + + Motor-onset-seizure + Replaced by Motor-seizure. + + deprecatedFrom + 1.0.0 + + + inLibrary + score + - Myoclonic-atonic-motor-onset-seizure + Myoclonic-motor-onset-seizure + Replaced by Myoclonic-motor-seizure. deprecatedFrom 1.0.0 @@ -6845,15 +6831,20 @@ For more information see https://hed-schema-library.readthedocs.io/en/latest/ind - Myoclonic-tonic-clonic-motor-seizure - One or a few jerks of limbs bilaterally, followed by a tonic clonic seizure. The initial jerks can be considered to be either a brief period of clonus or myoclonus. Seizures with this characteristic are common in juvenile myoclonic epilepsy. Definition from ILAE 2017 Classification of Seizure Types Expanded Version + Negative-myoclonic-motor-onset-seizure + Replaced by Negative-myoclonic-motor-seizure. + + deprecatedFrom + 1.0.0 + inLibrary score - Myoclonic-tonic-clonic-motor-onset-seizure + Clonic-motor-onset-seizure + Replaced by Clonic-motor-seizure. deprecatedFrom 1.0.0 @@ -6864,15 +6855,20 @@ For more information see https://hed-schema-library.readthedocs.io/en/latest/ind - Tonic-clonic-motor-seizure - A sequence consisting of a tonic followed by a clonic phase. Definition from ILAE 2017 Classification of Seizure Types Expanded Version + Tonic-motor-onset-seizure + Replaced by Tonic-motor-seizure. + + deprecatedFrom + 1.0.0 + inLibrary score - Tonic-clonic-motor-onset-seizure + Atonic-motor-onset-seizure + Replaced by Atonic-motor-seizure. deprecatedFrom 1.0.0 @@ -6883,15 +6879,20 @@ For more information see https://hed-schema-library.readthedocs.io/en/latest/ind - Automatism-motor-seizure - A more or less coordinated motor activity usually occurring when cognition is impaired and for which the subject is usually (but not always) amnesic afterward. This often resembles a voluntary movement and may consist of an inappropriate continuation of preictal motor activity. Definition from ILAE 2017 Classification of Seizure Types Expanded Version + Myoclonic-atonic-motor-onset-seizure + Replaced by Myoclonic-atonic-motor-seizure. + + deprecatedFrom + 1.0.0 + inLibrary score - Automatism-motor-onset-seizure + Myoclonic-tonic-clonic-motor-onset-seizure + Replaced by Myoclonic-tonic-clonic-motor-seizure. deprecatedFrom 1.0.0 @@ -6902,14 +6903,20 @@ For more information see https://hed-schema-library.readthedocs.io/en/latest/ind - Hyperkinetic-motor-seizure + Tonic-clonic-motor-onset-seizure + Replaced by Tonic-clonic-motor-seizure. + + deprecatedFrom + 1.0.0 + inLibrary score - Hyperkinetic-motor-onset-seizure + Automatism-motor-onset-seizure + Replaced by TAutomatism-motor-seizure. deprecatedFrom 1.0.0 @@ -6920,8 +6927,12 @@ For more information see https://hed-schema-library.readthedocs.io/en/latest/ind - Epileptic-spasm-episode - A sudden flexion, extension, or mixed extension flexion of predominantly proximal and truncal muscles that is usually more sustained than a myoclonic movement but not as sustained as a tonic seizure. Limited forms may occur: Grimacing, head nodding, or subtle eye movements. Epileptic spasms frequently occur in clusters. Infantile spasms are the best known form, but spasms can occur at all ages. Definition from ILAE 2017 Classification of Seizure Types Expanded Version + Hyperkinetic-motor-onset-seizure + Hyperkinetic-motor-seizure. + + deprecatedFrom + 1.0.0 + inLibrary score @@ -15937,7 +15948,7 @@ For more information see https://hed-schema-library.readthedocs.io/en/latest/ind Saw-tooth-waves - Vertex negative 2-5 Hz waves occuring in series during REM sleep + Vertex negative 2-5 Hz waves occurring in series during REM sleep suggestedTag Finding-significance-to-recording @@ -15953,7 +15964,7 @@ For more information see https://hed-schema-library.readthedocs.io/en/latest/ind POSTS - Positive occipital sharp transients of sleep. Sharp transient maximal over the occipital regions, positive relative to other areas, apparently occurring spontaneously during sleep. May be single or repetitive. Amplitude varies but is generally bellow 50 microV. + Positive occipital sharp transients of sleep. Sharp transient maximal over the occipital regions, positive relative to other areas, apparently occurring spontaneously during sleep. May be single or repetitive. Amplitude varies but is generally below 50 microV. suggestedTag Finding-significance-to-recording diff --git a/src/schema/config.js b/src/schema/config.js index 64858ab8..e8c8b9e6 100644 --- a/src/schema/config.js +++ b/src/schema/config.js @@ -5,8 +5,8 @@ export const localSchemaList = new Map([ ['HED8.1.0', require('../data/schemas/HED8.1.0.xml')], ['HED8.2.0', require('../data/schemas/HED8.2.0.xml')], ['HED8.3.0', require('../data/schemas/HED8.3.0.xml')], - ['HED_score_1.0.0', require('../data/schemas/HED_score_1.0.0.xml')], - ['HED_score_1.1.0', require('../data/schemas/HED_score_1.1.0.xml')], + ['HED_lang_1.0.0', require('../data/schemas/HED_lang_1.0.0.xml')], + ['HED_score_1.2.0', require('../data/schemas/HED_score_1.2.0.xml')], ['HED_score_2.0.0', require('../data/schemas/HED_score_2.0.0.xml')], ['HED_testlib_1.0.2', require('../data/schemas/HED_testlib_1.0.2.xml')], ['HED_testlib_2.0.0', require('../data/schemas/HED_testlib_2.0.0.xml')],