Conversation
…e in for all countries/workspaces)
| "CONF_PREGNANT_WOMAN": [], | ||
| "PRES_PREGNANT_WOMAN": [] | ||
| }, | ||
| "DHIS2_REPORTING_RATES": { |
There was a problem hiding this comment.
i would include the empty parameters of configuration for the reporting rates section. They can provide a more concrete example of the expected input values see example:
There was a problem hiding this comment.
Indeed that was missing ... !
Adding it, I'm realizing that the REPORTING_DATASETS$METRICS two keys value is always "float", and indeed the value of ACTUAL_REPORTS and EXPECTED_REPORTS is never consumed (seems like "float" is just a placeholder to avoid an empty key?).
Woudl it make sense to make METRICS a plain list:
"METRICS": ["ACTUAL_REPORTS", "EXPECTED_REPORTS"]
This should cost no pipeline.py changes ...
There was a problem hiding this comment.
Anyways, I'd leave this as is (with the latest addition that you suggested).
Then any change could be implemented later on as it's out of scope for this PR
There was a problem hiding this comment.
the type float is used in the pipeline during extracts, so it's not a placeholder.
There was a problem hiding this comment.
in the case of :
"REPORTING_INDICATORS": {
"ACTUAL_REPORTS": "",
"EXPECTED_REPORTS": ""
}
I would replace it with null values as well
| @@ -0,0 +1,63 @@ | |||
| { | |||
| "SNT_CONFIG": { | |||
| "COUNTRY_CODE": "", | |||
There was a problem hiding this comment.
I think to set empty values, null is the more standard, idiomatic choice for "no value" in JSON. Using "" mixes two different concepts: with "", the value is technically set — it's just an empty string — which I think is less clear than explicitly saying there's no value at all.
There was a problem hiding this comment.
Uh ok I see. I was using "" when expecting a string, and null when expecing a number.
But apparently a null makes things crash earlier which is a safer approach.
Anyways, this part here is really just to ensure that all sections and objects are captured to have a solid reference.
Then, what would actually consume this is the new config.json editor WebApp: https://github.com/BLSQ/openhexa-webapps-edit-snt-config-json/blob/main/CLAUDE.md
https://bluesquare.atlassian.net/browse/SNT25-453
Just added tentative "skeleton" of SNT_confi.json for validation + updated .gitignore to un-ignore this file.
Skeleton was derived by looking at all the existing
SNT_config_{CC}.json(counrty-specific) files in current repo and identifying the parts that never change.To do:
REPORTING_RATE_PRODUCT_UID: expects dataset or indicator UIDs? (@EstebanMontandon )