Skip to content

Tool architecture

Thomas Götschi edited this page Mar 27, 2018 · 58 revisions

Tool architecture includes the process of:

  • identifying tool modules, sub-modules and various structural elements
  • define their relationships
    • visually (Master flow chart)
    • by describing their inputs, functions, and outputs
    • by defining processed data in detail (codebooks, variables, attributes)
  • defining and harmonizing a nomenclature by which structural elements are referred to.
  • maintaining an overview of code files and other documents

ITHIM-R Modules

Project Modules:
Below modules define the ITHIM-R project structure. They may or may not have equivalents in the tool interface structure.
The first set of modules roughly follows the tool work flow (workflow here refers to the main, linear flow from inputs to outputs. Think of it as a highly simplified architecture. Also see master flow chart).
At the bottom, overarching modules are listed. These affect multiple of the workflow modules.
The module names will be a key part of project and tool nomenclature (i.e. the bold names will referred to in GitHub projects, GitHub issue labels, Wiki pages, Call topics, etc.

  1. Data Sources (Everything related to external data, i.e. user input data, generic data used by the tool, and their various formats, implications, metadata)

  2. Data Localization (The process of adjustments, calibration of international, national data to local settings of a specific ITHIM application. This may include spatial scaling, temporal extrapolation, adjustment for population attributes, etc.)

  3. Data Harmonization (The process of conversion or matching of various data formats and variable definitions of external data to the generic data formats used in ITHIM (e.g. mode categories))

  4. Synthetic "baseline" population (The process of creating a synthetic sample of 10k individuals, through probabilistic matching of separate input data, such population, travel, health surveys)

    1. Visualization and Checking of Baseline Data (review and validation of entered data vs. synthetic population produced)
  5. Scenario Definition (Creation of Synthetic "Scenario population") (2 options:)

    1. Manipulation of baseline population through a scenario definition module (interface or code).
    2. creation of a synthetic "scenario" population, based on local data sources, analogous to steps for baseline population. Further: use case definitions, criteria, methodologica parameters, etc.)
    3. Visualization and Checking of Scenario Population Data (review and validation of entered data vs. synthetic population produced)
  6. Exposure calculations (adding distributions of various exposure indicators to synth.pop data (baseline and scenario)

    1. PA (calculation of total METhrs/week or similar)
    2. AP (calculation of long term exposure equivalents, PM2.5, NO2, ..)
    3. Noise (...)
  7. (Environmental Impacts Calculations)

    1. Carbon emission reductions
    2. Air pollution background concentration
    3. Noise reduction
  8. Health Impact pathway calculations (exposures meet epidemiologic literature/evidence)
    Pathways: PA, AP, Noise, Injury
    Impact calculation method: PIF/PAF vs. Disease burden calculation, PMSLT
    Outcome definitions: deaths, dalys etc.

    1. Health Impact calculations for PA
    2. Health Impact calculations for AP
    3. Health impact calculations Noise
    4. Event calculation for injuries
    5. [From events to disease burden injuries]
    6. Comparative Risk Assessment applied to GBD data
    7. Multistate life table
  9. Impacts presentations (outcome definitions, level of detail, visualization)

    1. combined pathway results
    2. pathway specific
  10. Overarching modules

    1. User interface
    2. Website contents/documentation
    3. Tool Parameters ("is the math being done in miles or km?" A central place for default values, units, constants, assumptions to be called by various tool elements)
    4. Comparison approaches (Impact calculation methods, CRA, lifetables, etc.)
  11. Overarching domains

    1. Coding guidelines
    2. Documentation
    3. Scientific publications
    4. Dissemenination
    5. Case studies/applications
Clone this wiki locally