Skip to content

Documentation

Geonina edited this page Dec 3, 2025 · 10 revisions

Welcome to the GLASS wiki!

Statuses in datastore - data submissions

  • NOT_COMPLETED
  • COMPLETE
  • PENDING_APPROVAL
  • REJECTED
  • APPROVED
  • PENDING_UPDATE_APPROVAL
  • UPDATE_REQUEST_ACCEPTED

Statuses in datastore - file uploads (with explanation)

  • UPLOADED - The file has been uploaded, but data has not been imported as upload was discarded in Step 1 or due to errors in Step 2
  • IMPORTED - The data has been imported, but validations(if applicable) were not run successfully, in Step 2. In AMC the upload could have this status also because an error in calculations.
  • VALIDATED - The data has been imported and automatically validated, but the data was not reviewed by user in Step 3. In AMC also means the calculations were successful.
  • COMPLETED - The data has been imported, validated and reviewed successfully.

In AMC:

  • From step 1 to step 2: the status is always IMPORTED.
  • From step 2 to step 3: when click on continue button in step 2 the calculations are run and if these are successful, upload status is changed to VALIDATED.
  • From step 3 to step 4: when click on continue button in step 3 only status can change to COMPLETED if upload is in VALIDATED status, otherwise the upload will remain in IMPORTED status.

Also in AMC if the data submission in one country and period has at least one dataset with upload status COMPLETED, VALIDATED or IMPORTED, then upload a new file will be disabled and this message will be shown: "You can upload data from only one file for AMC. Please, delete all COMPLETED, VALIDATED or IMPORTED files to upload a new one."

Validations Checked

AMR (Antimicrobial Resistance) Module

File Structure Validations:

Handler Class: RISDataRepository

  1. Header Column Validation
    • Validates that all required columns exist in the RIS file

      Required columns include
      • COUNTRY
        • YEAR
        • SPECIMEN
        • PATHOGEN
        • GENDER
        • ORIGIN
        • AGEGROUP
        • ANTIBIOTIC
        • RESISTANT
        • INTERMEDIATE
        • NONSUSCEPTIBLE
        • SUSCEPTIBLE
        • UNKNOWN_NO_AST
        • UNKNOWN_NO_BREAKPOINTS
        • BATCHID
    • Configuration: Hardcoded in application (not configurable via dataStore)


Data Validations (Blocking Errors - performed on CREATE/UPDATE only):

Handler Class: ImportRISFile

  1. Specimen-Pathogen-Antibiotic Combination Validation

    • Validates that the combination of specimen, pathogen, and antibiotic is allowed according to module consistency rules
    • Checks against predefined mappings in modules.consistencyChecks.specimenPathogen
    • Configuration: (DataStore:glass) modules.consistencyChecks.specimenPathogen
  2. AST Results Validation

    • Ensures at least one AST (Antimicrobial Susceptibility Testing) result field is populated
    • Fields checked: RESISTANT, INTERMEDIATE, SUSCEPTIBLE, NONSUSCEPTIBLE, UNKNOWN_NO_AST, UNKNOWN_NO_BREAKPOINTS
  3. Batch ID Validation

    • Verifies that the batch ID in the file matches the batch ID selected for upload
    • Ensures data consistency for batch-based imports
  4. Year Validation

    • Confirms that the year in the data matches the selected period
    • Prevents data being uploaded to incorrect time periods
  5. Country Code Validation

    • Validates that the country code in the file matches the selected country code
    • Ensures data is uploaded to the correct organizational unit
  6. Duplicate Rows Validation

    • Checks for duplicate data entries within the RIS file
      • Unique identifier: SPECIMEN, PATHOGEN, GENDER, ORIGIN, AGEGROUP, ANTIBIOTIC, BATCHIDS
    • Prevents redundant data import
  7. Category Option Combo Validation

    • Validates data set category option combinations (attribute option combos)
    • Validates data element category option combinations
    • Ensures proper DHIS2 dimension assignment
  8. DHIS2 Validation Rules (executed post-import if not dry-run)

    • Runs DHIS2's built-in validation rules on the imported data
    • Fetches validation rule instructions and checks violations
    • Only executed for actual imports, not dry-run scenarios