• Update ART comparison table data and metadata to return adjusted and unadjusted spectrum values.
  • Add new endpoint for downloading datapack output nm-103.
  • Remove ANC strict validation for Zimbabwe to be able to upload data
  • Return metadata from a new separate population endpoint to make re-fetching when languages change easier. See nm-94.
  • Return data and metadata from population validation endpoint
  • Return a more human readable error message when reading a csv fails in spectacular fashion.
  • Update test data and options to new Malawi 2024 data
  • Return metadata for input comparison table.
  • Add a new endpoint /chart-data/input-comparison for returning data and metadata for input comparison barchart.
  • Add checks that a rehydrated project is valid. It checks that:
    • All input files exist on disk
    • The model fit and calibrate IDs are known in redis
  • Fix issue where if shape file was uploaded with no display property it was raising an error when fetching input metadata. Now if no display property is set, it will include it in the returned metadata.
  • Make it harder to accidentally delete redis data by:
    • Not starting workers automatically when you create a queue
    • Only removing the workers a queue creates by default
    • Only deleting data if you explicitly opt in
  • Add new endpoint /download/result/path/<id> to return path to the download file on disk
  • Update plot metadata format to make it more generic and generally usable
  • Add a new endpoint /review-input/metadata to return metadata for all input plots
  • Remove /meta/plotting and /meta/plotting<iso3> endpoints as these are no longer used
  • Add an optional arg to API startup to turn on a health-check. If set, the interval after which the next time the redis connection is used the connection will be reset. 0 for no reconnection. This is needed for running on cloud services as they close idle tcp connections after a set time. On Azure it if 4 mins, so we need to the client to be able to reconnect if this interval has passed.
  • Use new rrq functions
  • Return calibrate result path from /calibrate/result/path/<id> relative to the results directory
  • Update to use new rrq free functions added in v0.7.10
  • Remove hardcoded year2 value for ANC prevalance and ANC ART coverage
  • Update tableMetadata to return id and label for row and column values.
  • Add tableMetadata into the calibrate/result/<id> and calibrate/result/metadata/<id> endpoints for controlling how the new output table feature will look
  • Ensure that plot data in submit_prerun is uploaded as a duckdb file.
  • Add a function to migrate from naomi v 2.9.10 to 2.9.11. i.e. to migrate from plot data being stored as .qs files to being stored as duckdb database.
  • Add a dummy download endpoint of type “agyw” for generating AGYW (adolescent girls and young women) tool
  • Add a new endpoint /calibrate/result/path/<id> which will return the path to the calibration plot data output which can be read by web backend
  • Add two new endpoints in preparation for web backend accessing the result data on disk directly
    • /calibrate/result/metadata/<id> to return the metadata and warnings from the /calibrate/result/<id> endpoint
    • /calibrate/result/data/<id> for returning only the data from the /calibrate/result/<id> endpoint
  • Error early if reading data generates a warning, we cannot proceed with only a partial read of the data
  • Update fallback anc year to 2022
  • Remove stack trace from user display
  • Return job_id in error response if error originated from async job
  • Ensure Naomi options are translated based on accept-language header
  • Add hintr_prerun function which takes model inputs and outputs, saves them onto the server and then returns output zip with state JSON which can be used to rehydrate model outputs
  • Remove prerun_import and prerun_push functions, these are going to be replaced with a more transparent prerun method
  • Add endpoint /internal/prerun to run a prerun which builds state JSON from input and output files
  • Add default selections for each indicator in comparison plot
  • Add fallback model and calibration options for unknown countries
  • Remove PJNZ file from survey and programme data validation
  • Fail early if comparison report output cannot be generated
  • Add country specific default values to all model and calibration options
  • Add dummy /comparison/plot/<id> endpoint to return data for comparison barchart
  • Save project_state.json into info dir in the output zip to make it less visible to users
  • Add endpoints /rehydrate/submit /rehydrate/status/<id> and /rehydrate/result/<id> for getting state JSON required by the front end for rehydrating a project
  • Delete exited workers when API starts (so metrics on worker counts are up to date see mrc-2893)
  • Download submit for spectrum can take optional state JSON which is saved out as is into the output zip which can be used to by the web end to recover the project
  • Include input files when download_debug called with id from a calibrate run or output generation
  • /download/submit/<type>/<id> can now take a body with notes which will be added to spectrum download zip, it is ignored for other download types.
  • Temporarily stop warning generation from ANC & ART uploads as it is taking a long time (> 18s for Nigeria) which is causing time out issues in hint.
  • Add new download type “comparison” to return input to output comparison report
  • Return warnings from input time series aggregation
  • Validate that spectrum file and geojson contains same spectrum region codes
  • Ignore non-pjnz files from uploaded zip file instead of erroring (so that mac users whose system creates __MACOSX file in zip files do not get errors)
  • Validate columns present before other validation checks
  • Return ratios as indicator types in calibrate plot
  • Add query param strict to endpoint /validate/survey-and-programme to allow running with relaxed validation, by default this will run in strict mode.
  • Add /meta/plotting endpoint to return default plotting metadata.
  • Update programme & ANC validation to ensure only 1 area level per year is uploaded
  • Add validation error to programme/ART data to ensure only 1 area level is uploaded
  • Return warnings from model option validation, model fit and model calibrate endpoints
  • Return format and accuracy metadata for data_type columns in input time series to specify how data of that type should be shown in the front end.
  • Recode vls_tested and vls_suppressed to vl_tested_12mos and vl_suppressed_12mos. Affects tests only.
  • Back /calibrate/plot/<id> endpoint with real data
  • Remove time_step from input time series endpoints and add quarter
  • Return area and time_period column info in input time series metadata
  • Wire up /chart-data/input-time-series/<type> to return real data for time series plots
  • Update downloads to be generated on demand instead of as part of model calibration
  • Add dummy endpoint /chart-data/input-time-series/<type> to return dummy data for upcoming input time-series plots
  • Add Portuguese translations
  • Add dummy endpoint /calibrate/plot/<id> to return dummy data for upcoming calibrate plot
  • Update to latest version of rrq
  • Shorted output file names
  • Remove deprecated /model/calibrate/<id> endpoint
  • Return upload metadata from calibrate result response
  • Update summary report
  • Run model and calibration in a separate process to avoid memory leak
  • Update tests for naomi 2.3.0: add new model option calibrate_method.
  • Update to naomi 2.2.4, save calibrate outputs to new file
  • Turn off validation for survey data n_cluster column, this is no longer required
  • Add arg to worker entrypoint to enable starting calibration only worker
  • Update test data options to new demo survey ids “DEMO2015DHS” and “DEMO2016PHIA”.
  • Queue calibration with higher priority than model run
  • Add endpoints to enable async calibration
    • /calibrate/submit - queue a model calibration
    • /calibrate/status - get status of a calibration run
    • /calibrate/result - get result of a calibration
  • Add calibration options back in and remove from run options
  • Update summary report
  • Generalize functions assert_calendar_quarter_column() and assert_year_column() to accept argument col_name= to check columns of required specification with different name.
  • Add endpoint <+calendar_quarter_t1_default+> to select most recent survey calendar quarter as default ‘time 1’ option.
  • Return helpText from model run
  • Revise ART programme data schema to use column calendar_quarter instead of year.
  • Depend on naomi 2.0.0 version for 2021 UNAIDS estimates.
  • Reflect pkgapi rename
  • Add endpoint for downloading dummy summary report
  • Return number formatting metadata from /meta/plotting/ and /model/result endpoints
  • Add model calibration endpoint
  • Rename /download/summary endpoint to /download/coarse-output to be more representative of actual content and in preparation for adding an endpoint for downloading summary report
  • Fix file naming to work with old model runs where country name is not available
  • Switch API implementation to use pkgapi
  • Return uncertainty range metadata from model result for choropleth
  • Accept semicolon delimited data as csv inputs (common in countries with non-Anglo number formats)
  • Language preference is passed through to naomi during model runs.
  • New debug endpoint for locally getting a copy of failing data.
  • Extend time options back to Q1 2010 to support household survey datasets back to 2010 (Burkina Faso).
  • Remove “survey_year” from required columns in survey datasets.
  • Add default values for area level and calendar quarter to generate estimates for
  • Support for stopping jobs (mrc-732)
  • Add receiving_art output indicator
  • Return better error message from geojson reading
  • No longer require ancrt_hiv_status
  • Internationalisation support (mrc-788)
  • Update for changes to model options in naomi v0.0.21
  • Support prerun model results (mrc-1155)
  • Errors in the hint model run are returned with stack traces (mrc-714)
  • Accept and validate zip of PJNZ files
  • Return version info from model run options response
  • Require version info in model run submit endpoint
  • Update filter ordering and naming
  • Add model options validate endpoint
  • Update input data structures including
    • Move quarter_id to use calendar_quarter instead in format CY2016Q3 for population and output data
    • Move quarter_id to use year for ANC, ART,
    • Move age_group_id to age_group format e.g. 00-04, 15+, 05-09 etc. in ANC, ART, population, programme, survey and output data
    • Update model run options
    • Update region IDS to be formatted as e.g. MWI_2_1 for first region in level 2. Top level region remains as just ISO3 code e.g. MWI
    • Update filters and metadata to reflect data changes
  • Add advanced model run options
  • Not found (404) responses now conform to the error schema (mrc-596)
  • Download endpoints return Content-Disposition headers
  • Add HEAD endpoints for summary and spectrum downloads
  • Return plotting metadata for barchart with the model result response
  • Caching enabled for geojson reading
  • Update model download endpoint from indicators to summary
  • Get downloads from model run
  • Replace model run code with a mock that returns expected format
  • Allow running up hintr docker container with env var USE_MOCK_MODEL to mock a model response
  • Return iso3 code from PJNZ upload
  • Use iso3 to locate plotting metadata instead of country name
  • Iterate model run option endpoint to return complete options, to always return an ID and label for each option and to return regions as a hierarchy
  • Add stub endpoints for downloading key indicators and spectrum digest
  • Add endpoint for retrieving model run options
  • New GET /hintr/version and GET /hintr/worker/status endpoints, the first in a series of hintr informational endpoints
  • Fix plotting metadata for output dataset
  • Return indicator filters for input data
  • Make input and output data responses more consistent
  • Add endpoint for retrieving plotting metadata
  • Rename validate/input endpoint to validate/baseline-individual and rename validate/baseline to validate/baseline-combined for clarity
  • Validate survey and programme data using a different endpoint from the validation of baseline data
  • Add baseline validation endpoint and update validation endpoint names
  • Initialise package