build(stage1): populate the derived columns of the adjudication table
Fills reviewer_1_decision, reviewer_2_decision and conflict_reason for all 84 rows (252 cells) so adjudicators can work from one sheet. Every adjudicator field stays blank: identity, date, final_*, notes and attestation are human attestation and the script neither writes them nor overwrites existing values. conflict_reason follows the validator's actual rule (decisions differ, or reviewer_1 is not a plain approve) and states only the mechanical reason plus both decisions - no interpretation. 63 rows differ, 21 agree but are not plain approve, so all 84 require adjudication. Adds a purpose-built script rather than fixing at the usual build source: build_human_review_packets.py overwrites both signed reviewer CSVs with blank templates at lines 39-40, so running it would destroy 84 rows of signed human review. It was not run. The new script re-hashes both signed packets before and after and exits FATAL if either changed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
71b0d7dd2a
commit
ab175ce253
+22
-1
@@ -1,6 +1,6 @@
|
||||
# 项目进度档案
|
||||
|
||||
版本:1.24
|
||||
版本:1.25
|
||||
建立日期:2026-09-20
|
||||
当前总状态:`in_progress`
|
||||
当前阶段:阶段 1 `in_progress`;题库、回答字典、919,863 行回答长表及三调查设计字段/方法均已核验;Gate 1 仅剩主要结局的两名实际人工审核者签署
|
||||
@@ -1034,3 +1034,24 @@ Gate 0 当前判定:`passed`。四项交付物齐备;目标总体政策、
|
||||
1. 建议先以本地 `2023XXH-Formats-Program.sas` 关闭 YRBS 2023 三行的数值标签缺口,将组 1 的裁决量由 27 降至 24;
|
||||
2. 经用户授权后填充裁决表的三列派生字段(人工签署字段保持空白);
|
||||
3. 由裁决人按三个政策问题成组裁决,而非逐行判断。
|
||||
|
||||
|
||||
### A-20260921-073:填充裁决表的派生列
|
||||
|
||||
- 时间:2026-09-21T00:15:15+12:00;阶段 1,Gate 1 保持 `in_progress`。
|
||||
- 动作:行动前完整读取工作流与本档案并核对干净 Git 状态。按 A-20260921-072 的下一步,填充 `primary_outcome_review_adjudication.csv` 中可由机器推导的三列,使裁决人可在单一表内工作。未替任何人裁决,未填写任何人工签署字段。
|
||||
- **重大安全发现(本次阻止的破坏性操作):** 按项目惯例本应“在生成源头修正”,即运行 `build_human_review_packets.py`。经运行前静态检查,该脚本第 39–40 行会以**空白模板覆盖** `primary_outcome_review_reviewer_1.csv` 与 `primary_outcome_review_reviewer_2.csv`——即两份已签署审核表。**该脚本未被运行。** 任何后续会话若因“重建生成物”的惯性运行它,将不可逆地销毁两名审核者的全部 84 行签署工作。已改为新增专用脚本,且该脚本不写入审核表。
|
||||
- 输入:两份已签署审核表、`primary_outcome_review_adjudication.csv`、`validate_human_reviews.py` 第 74 行的裁决判定规则。
|
||||
- 输出:新增 `populate_adjudication_table.py`;更新 `primary_outcome_review_adjudication.csv`;生成 `human_review_validation.json`。
|
||||
- 填充范围与边界:
|
||||
- **已填(派生事实,非签署内容):** `reviewer_1_decision`、`reviewer_2_decision`、`conflict_reason`,共 84 行 × 3 = 252 个单元格。
|
||||
- **保持空白(人工签署字段):** `adjudicator_name`、`adjudication_date`、`final_decision`、`final_question_text`、`final_construct`、`final_population`、`final_language`、`final_response_or_missing_rule`、`adjudication_notes`、`adjudicator_attestation`,经检查 10 个字段非空计数**均为 0**。
|
||||
- 脚本设计为只写派生列、保留任何已存在的人工值,并在结束前重算两份签署表的 SHA-256,一旦变化即以 `FATAL` 退出。
|
||||
- `conflict_reason` 依 `validate_human_reviews.py` 的实际规则生成(决定不一致 **或** reviewer_1 非 plain `approve`),只陈述机械理由与双方决定,不写入任何解释或倾向:63 行为“决定不一致”,21 行为“两人一致但非 plain approve”。**84 行全部需要裁决**,与该规则一致(reviewer 1 无一行 plain `approve`)。
|
||||
- 检查:`py_compile` 通过;运行输出 `rows=84`、`derived_cells_written=252`、`items_requiring_adjudication=84`、`existing_adjudicator_values_preserved=0`、`signed_packets_unchanged=true`。两份签署表 SHA-256 保持 `cbd79847…`、`5fe95245…`。裁决表仍为 84 行,`item_version_id` 集合三文件一致。
|
||||
- 验证器状态(带 `--adjudication` 运行):`status=failed`,336 条错误——168 条 `review_date` 非 ISO,84 条 `final_decision` 缺失,84 条裁决人身份/声明缺失。后两类共 168 条**全部为人工必填项**,非机器可补。与既往记录的 169 条不构成回归:此前一次未传 `--adjudication`,验证器以单条聚合错误短路;本次进入逐行检查阶段。本次填充不减少错误数,其作用是使裁决表可用。
|
||||
- 未解决问题:84 项裁决待人工执行;`review_date` 非 ISO(属签署字段,未由 AI 修改);`build_human_review_packets.py` 的覆盖风险尚未加防护;13 项未关闭冲突;2021 提示句缺口。
|
||||
- 下一步:
|
||||
1. 建议为 `build_human_review_packets.py` 增加 fail-closed 防护,禁止覆盖已签署的审核表(本次未授权,未实施);
|
||||
2. 由裁决人按 A-20260921-072 的三个政策问题成组填写 `final_decision`、身份、日期与声明;
|
||||
3. 完成后重跑验证器与 Gate 1 验收。
|
||||
|
||||
@@ -0,0 +1,347 @@
|
||||
{
|
||||
"status": "failed",
|
||||
"reviewer_1": "Jino Gu",
|
||||
"reviewer_2": "Jinghao Guo",
|
||||
"items_reviewer_1": 84,
|
||||
"items_reviewer_2": 84,
|
||||
"conflicts_or_non_approvals": 84,
|
||||
"errors": [
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:2: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:3: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:4: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:5: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:6: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:7: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:8: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:9: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:10: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:11: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:12: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:13: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:14: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:15: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:16: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:17: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:18: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:19: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:20: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:21: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:22: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:23: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:24: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:25: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:26: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:27: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:28: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:29: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:30: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:31: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:32: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:33: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:34: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:35: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:36: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:37: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:38: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:39: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:40: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:41: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:42: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:43: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:44: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:45: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:46: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:47: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:48: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:49: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:50: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:51: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:52: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:53: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:54: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:55: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:56: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:57: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:58: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:59: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:60: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:61: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:62: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:63: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:64: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:65: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:66: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:67: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:68: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:69: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:70: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:71: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:72: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:73: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:74: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:75: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:76: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:77: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:78: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:79: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:80: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:81: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:82: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:83: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:84: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_1.csv:85: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:2: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:3: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:4: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:5: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:6: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:7: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:8: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:9: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:10: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:11: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:12: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:13: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:14: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:15: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:16: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:17: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:18: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:19: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:20: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:21: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:22: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:23: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:24: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:25: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:26: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:27: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:28: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:29: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:30: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:31: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:32: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:33: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:34: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:35: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:36: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:37: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:38: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:39: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:40: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:41: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:42: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:43: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:44: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:45: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:46: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:47: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:48: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:49: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:50: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:51: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:52: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:53: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:54: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:55: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:56: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:57: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:58: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:59: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:60: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:61: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:62: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:63: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:64: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:65: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:66: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:67: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:68: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:69: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:70: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:71: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:72: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:73: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:74: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:75: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:76: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:77: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:78: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:79: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:80: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:81: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:82: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:83: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:84: review_date must be YYYY-MM-DD",
|
||||
"research\\stage1\\primary_outcome_review_reviewer_2.csv:85: review_date must be YYYY-MM-DD",
|
||||
"GSHS::2023_MAR_GSHS_v01::mar_fez2023::raw_mh_attemptsui: valid final_decision required",
|
||||
"GSHS::2023_MAR_GSHS_v01::mar_fez2023::raw_mh_attemptsui: human adjudicator identity and attestation required",
|
||||
"GSHS::2023_MAR_GSHS_v01::mar_fez2023::raw_mh_considersui: valid final_decision required",
|
||||
"GSHS::2023_MAR_GSHS_v01::mar_fez2023::raw_mh_considersui: human adjudicator identity and attestation required",
|
||||
"GSHS::2023_MAR_GSHS_v01::mar_fez2023::raw_mh_plansui: valid final_decision required",
|
||||
"GSHS::2023_MAR_GSHS_v01::mar_fez2023::raw_mh_plansui: human adjudicator identity and attestation required",
|
||||
"GSHS::GHA_2022_GSHS_v01::gha_sek_tak2022::raw_mh_attemptsui: valid final_decision required",
|
||||
"GSHS::GHA_2022_GSHS_v01::gha_sek_tak2022::raw_mh_attemptsui: human adjudicator identity and attestation required",
|
||||
"GSHS::GHA_2022_GSHS_v01::gha_sek_tak2022::raw_mh_considersui: valid final_decision required",
|
||||
"GSHS::GHA_2022_GSHS_v01::gha_sek_tak2022::raw_mh_considersui: human adjudicator identity and attestation required",
|
||||
"GSHS::GHA_2022_GSHS_v01::gha_sek_tak2022::raw_mh_plansui: valid final_decision required",
|
||||
"GSHS::GHA_2022_GSHS_v01::gha_sek_tak2022::raw_mh_plansui: human adjudicator identity and attestation required",
|
||||
"GSHS::IND_2022_GSHS_v01::ind_jaipur_2022::raw_mh_attemptsui: valid final_decision required",
|
||||
"GSHS::IND_2022_GSHS_v01::ind_jaipur_2022::raw_mh_attemptsui: human adjudicator identity and attestation required",
|
||||
"GSHS::IND_2022_GSHS_v01::ind_jaipur_2022::raw_mh_considersui: valid final_decision required",
|
||||
"GSHS::IND_2022_GSHS_v01::ind_jaipur_2022::raw_mh_considersui: human adjudicator identity and attestation required",
|
||||
"GSHS::IND_2022_GSHS_v01::ind_jaipur_2022::raw_mh_plansui: valid final_decision required",
|
||||
"GSHS::IND_2022_GSHS_v01::ind_jaipur_2022::raw_mh_plansui: human adjudicator identity and attestation required",
|
||||
"GSHS::JAM_2023_GSHS_v01::jam_st_cath_2023::raw_mh_attemptsui: valid final_decision required",
|
||||
"GSHS::JAM_2023_GSHS_v01::jam_st_cath_2023::raw_mh_attemptsui: human adjudicator identity and attestation required",
|
||||
"GSHS::JAM_2023_GSHS_v01::jam_st_cath_2023::raw_mh_considersui: valid final_decision required",
|
||||
"GSHS::JAM_2023_GSHS_v01::jam_st_cath_2023::raw_mh_considersui: human adjudicator identity and attestation required",
|
||||
"GSHS::JAM_2023_GSHS_v01::jam_st_cath_2023::raw_mh_plansui: valid final_decision required",
|
||||
"GSHS::JAM_2023_GSHS_v01::jam_st_cath_2023::raw_mh_plansui: human adjudicator identity and attestation required",
|
||||
"GSHS::MNG_2023_GSHS_v01::mng2023::raw_mh_attemptsui: valid final_decision required",
|
||||
"GSHS::MNG_2023_GSHS_v01::mng2023::raw_mh_attemptsui: human adjudicator identity and attestation required",
|
||||
"GSHS::MNG_2023_GSHS_v01::mng2023::raw_mh_considersui: valid final_decision required",
|
||||
"GSHS::MNG_2023_GSHS_v01::mng2023::raw_mh_considersui: human adjudicator identity and attestation required",
|
||||
"GSHS::MNG_2023_GSHS_v01::mng2023::raw_mh_plansui: valid final_decision required",
|
||||
"GSHS::MNG_2023_GSHS_v01::mng2023::raw_mh_plansui: human adjudicator identity and attestation required",
|
||||
"GSHS::SLB_2023_GSHS_v01::slb_2023::raw_mh_attemptsui: valid final_decision required",
|
||||
"GSHS::SLB_2023_GSHS_v01::slb_2023::raw_mh_attemptsui: human adjudicator identity and attestation required",
|
||||
"GSHS::SLB_2023_GSHS_v01::slb_2023::raw_mh_considersui: valid final_decision required",
|
||||
"GSHS::SLB_2023_GSHS_v01::slb_2023::raw_mh_considersui: human adjudicator identity and attestation required",
|
||||
"GSHS::SLB_2023_GSHS_v01::slb_2023::raw_mh_plansui: valid final_decision required",
|
||||
"GSHS::SLB_2023_GSHS_v01::slb_2023::raw_mh_plansui: human adjudicator identity and attestation required",
|
||||
"GSHS::WLF_2023_GSHS_v01::wlf_2023::raw_mh_attemptsui: valid final_decision required",
|
||||
"GSHS::WLF_2023_GSHS_v01::wlf_2023::raw_mh_attemptsui: human adjudicator identity and attestation required",
|
||||
"GSHS::WLF_2023_GSHS_v01::wlf_2023::raw_mh_considersui: valid final_decision required",
|
||||
"GSHS::WLF_2023_GSHS_v01::wlf_2023::raw_mh_considersui: human adjudicator identity and attestation required",
|
||||
"GSHS::WLF_2023_GSHS_v01::wlf_2023::raw_mh_plansui: valid final_decision required",
|
||||
"GSHS::WLF_2023_GSHS_v01::wlf_2023::raw_mh_plansui: human adjudicator identity and attestation required",
|
||||
"NSDUH::2021::YUSUICTRY: valid final_decision required",
|
||||
"NSDUH::2021::YUSUICTRY: human adjudicator identity and attestation required",
|
||||
"NSDUH::2021::YUSUIPLN: valid final_decision required",
|
||||
"NSDUH::2021::YUSUIPLN: human adjudicator identity and attestation required",
|
||||
"NSDUH::2021::YUSUITHK: valid final_decision required",
|
||||
"NSDUH::2021::YUSUITHK: human adjudicator identity and attestation required",
|
||||
"NSDUH::2022::YUSUICTRY: valid final_decision required",
|
||||
"NSDUH::2022::YUSUICTRY: human adjudicator identity and attestation required",
|
||||
"NSDUH::2022::YUSUIPLN: valid final_decision required",
|
||||
"NSDUH::2022::YUSUIPLN: human adjudicator identity and attestation required",
|
||||
"NSDUH::2022::YUSUITHK: valid final_decision required",
|
||||
"NSDUH::2022::YUSUITHK: human adjudicator identity and attestation required",
|
||||
"NSDUH::2023::YUSUICTRY: valid final_decision required",
|
||||
"NSDUH::2023::YUSUICTRY: human adjudicator identity and attestation required",
|
||||
"NSDUH::2023::YUSUIPLN: valid final_decision required",
|
||||
"NSDUH::2023::YUSUIPLN: human adjudicator identity and attestation required",
|
||||
"NSDUH::2023::YUSUITHK: valid final_decision required",
|
||||
"NSDUH::2023::YUSUITHK: human adjudicator identity and attestation required",
|
||||
"NSDUH::2024::YUSUICTRY: valid final_decision required",
|
||||
"NSDUH::2024::YUSUICTRY: human adjudicator identity and attestation required",
|
||||
"NSDUH::2024::YUSUIPLN: valid final_decision required",
|
||||
"NSDUH::2024::YUSUIPLN: human adjudicator identity and attestation required",
|
||||
"NSDUH::2024::YUSUITHK: valid final_decision required",
|
||||
"NSDUH::2024::YUSUITHK: human adjudicator identity and attestation required",
|
||||
"YRBS::1991::Q19: valid final_decision required",
|
||||
"YRBS::1991::Q19: human adjudicator identity and attestation required",
|
||||
"YRBS::1991::Q20: valid final_decision required",
|
||||
"YRBS::1991::Q20: human adjudicator identity and attestation required",
|
||||
"YRBS::1991::Q21: valid final_decision required",
|
||||
"YRBS::1991::Q21: human adjudicator identity and attestation required",
|
||||
"YRBS::1993::Q24: valid final_decision required",
|
||||
"YRBS::1993::Q24: human adjudicator identity and attestation required",
|
||||
"YRBS::1993::Q25: valid final_decision required",
|
||||
"YRBS::1993::Q25: human adjudicator identity and attestation required",
|
||||
"YRBS::1993::Q26: valid final_decision required",
|
||||
"YRBS::1993::Q26: human adjudicator identity and attestation required",
|
||||
"YRBS::1995::Q22: valid final_decision required",
|
||||
"YRBS::1995::Q22: human adjudicator identity and attestation required",
|
||||
"YRBS::1995::Q23: valid final_decision required",
|
||||
"YRBS::1995::Q23: human adjudicator identity and attestation required",
|
||||
"YRBS::1995::Q24: valid final_decision required",
|
||||
"YRBS::1995::Q24: human adjudicator identity and attestation required",
|
||||
"YRBS::1997::Q22: valid final_decision required",
|
||||
"YRBS::1997::Q22: human adjudicator identity and attestation required",
|
||||
"YRBS::1997::Q23: valid final_decision required",
|
||||
"YRBS::1997::Q23: human adjudicator identity and attestation required",
|
||||
"YRBS::1997::Q24: valid final_decision required",
|
||||
"YRBS::1997::Q24: human adjudicator identity and attestation required",
|
||||
"YRBS::1999::Q23: valid final_decision required",
|
||||
"YRBS::1999::Q23: human adjudicator identity and attestation required",
|
||||
"YRBS::1999::Q24: valid final_decision required",
|
||||
"YRBS::1999::Q24: human adjudicator identity and attestation required",
|
||||
"YRBS::1999::Q25: valid final_decision required",
|
||||
"YRBS::1999::Q25: human adjudicator identity and attestation required",
|
||||
"YRBS::2001::Q24: valid final_decision required",
|
||||
"YRBS::2001::Q24: human adjudicator identity and attestation required",
|
||||
"YRBS::2001::Q25: valid final_decision required",
|
||||
"YRBS::2001::Q25: human adjudicator identity and attestation required",
|
||||
"YRBS::2001::Q26: valid final_decision required",
|
||||
"YRBS::2001::Q26: human adjudicator identity and attestation required",
|
||||
"YRBS::2003::Q24: valid final_decision required",
|
||||
"YRBS::2003::Q24: human adjudicator identity and attestation required",
|
||||
"YRBS::2003::Q25: valid final_decision required",
|
||||
"YRBS::2003::Q25: human adjudicator identity and attestation required",
|
||||
"YRBS::2003::Q26: valid final_decision required",
|
||||
"YRBS::2003::Q26: human adjudicator identity and attestation required",
|
||||
"YRBS::2005::Q24: valid final_decision required",
|
||||
"YRBS::2005::Q24: human adjudicator identity and attestation required",
|
||||
"YRBS::2005::Q25: valid final_decision required",
|
||||
"YRBS::2005::Q25: human adjudicator identity and attestation required",
|
||||
"YRBS::2005::Q26: valid final_decision required",
|
||||
"YRBS::2005::Q26: human adjudicator identity and attestation required",
|
||||
"YRBS::2007::Q24: valid final_decision required",
|
||||
"YRBS::2007::Q24: human adjudicator identity and attestation required",
|
||||
"YRBS::2007::Q25: valid final_decision required",
|
||||
"YRBS::2007::Q25: human adjudicator identity and attestation required",
|
||||
"YRBS::2007::Q26: valid final_decision required",
|
||||
"YRBS::2007::Q26: human adjudicator identity and attestation required",
|
||||
"YRBS::2009::Q24: valid final_decision required",
|
||||
"YRBS::2009::Q24: human adjudicator identity and attestation required",
|
||||
"YRBS::2009::Q25: valid final_decision required",
|
||||
"YRBS::2009::Q25: human adjudicator identity and attestation required",
|
||||
"YRBS::2009::Q26: valid final_decision required",
|
||||
"YRBS::2009::Q26: human adjudicator identity and attestation required",
|
||||
"YRBS::2011::Q25: valid final_decision required",
|
||||
"YRBS::2011::Q25: human adjudicator identity and attestation required",
|
||||
"YRBS::2011::Q26: valid final_decision required",
|
||||
"YRBS::2011::Q26: human adjudicator identity and attestation required",
|
||||
"YRBS::2011::Q27: valid final_decision required",
|
||||
"YRBS::2011::Q27: human adjudicator identity and attestation required",
|
||||
"YRBS::2013::Q27: valid final_decision required",
|
||||
"YRBS::2013::Q27: human adjudicator identity and attestation required",
|
||||
"YRBS::2013::Q28: valid final_decision required",
|
||||
"YRBS::2013::Q28: human adjudicator identity and attestation required",
|
||||
"YRBS::2013::Q29: valid final_decision required",
|
||||
"YRBS::2013::Q29: human adjudicator identity and attestation required",
|
||||
"YRBS::2015::Q27: valid final_decision required",
|
||||
"YRBS::2015::Q27: human adjudicator identity and attestation required",
|
||||
"YRBS::2015::Q28: valid final_decision required",
|
||||
"YRBS::2015::Q28: human adjudicator identity and attestation required",
|
||||
"YRBS::2015::Q29: valid final_decision required",
|
||||
"YRBS::2015::Q29: human adjudicator identity and attestation required",
|
||||
"YRBS::2017::Q26: valid final_decision required",
|
||||
"YRBS::2017::Q26: human adjudicator identity and attestation required",
|
||||
"YRBS::2017::Q27: valid final_decision required",
|
||||
"YRBS::2017::Q27: human adjudicator identity and attestation required",
|
||||
"YRBS::2017::Q28: valid final_decision required",
|
||||
"YRBS::2017::Q28: human adjudicator identity and attestation required",
|
||||
"YRBS::2019::Q26: valid final_decision required",
|
||||
"YRBS::2019::Q26: human adjudicator identity and attestation required",
|
||||
"YRBS::2019::Q27: valid final_decision required",
|
||||
"YRBS::2019::Q27: human adjudicator identity and attestation required",
|
||||
"YRBS::2019::Q28: valid final_decision required",
|
||||
"YRBS::2019::Q28: human adjudicator identity and attestation required",
|
||||
"YRBS::2021::Q26: valid final_decision required",
|
||||
"YRBS::2021::Q26: human adjudicator identity and attestation required",
|
||||
"YRBS::2021::Q27: valid final_decision required",
|
||||
"YRBS::2021::Q27: human adjudicator identity and attestation required",
|
||||
"YRBS::2021::Q28: valid final_decision required",
|
||||
"YRBS::2021::Q28: human adjudicator identity and attestation required",
|
||||
"YRBS::2023::Q27: valid final_decision required",
|
||||
"YRBS::2023::Q27: human adjudicator identity and attestation required",
|
||||
"YRBS::2023::Q28: valid final_decision required",
|
||||
"YRBS::2023::Q28: human adjudicator identity and attestation required",
|
||||
"YRBS::2023::Q29: valid final_decision required",
|
||||
"YRBS::2023::Q29: human adjudicator identity and attestation required"
|
||||
],
|
||||
"gate_1_human_review_complete": false
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
"""Fill the machine-derivable columns of the primary-outcome adjudication table.
|
||||
|
||||
reviewer_1_decision, reviewer_2_decision and conflict_reason are facts derived
|
||||
from the two signed review packets, so they are filled here. Every adjudicator
|
||||
field (identity, date, final_*, notes, attestation) is human attestation and is
|
||||
left exactly as found -- this script never writes one and never overwrites a
|
||||
non-empty value in one.
|
||||
|
||||
Unlike build_human_review_packets.py, this script does not write the reviewer
|
||||
packets. Those carry signatures and must not be regenerated.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import csv
|
||||
import hashlib
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
STAGE1 = Path(__file__).resolve().parent
|
||||
REVIEWER_1 = STAGE1 / "primary_outcome_review_reviewer_1.csv"
|
||||
REVIEWER_2 = STAGE1 / "primary_outcome_review_reviewer_2.csv"
|
||||
ADJUDICATION = STAGE1 / "primary_outcome_review_adjudication.csv"
|
||||
|
||||
DERIVED = {"reviewer_1_decision", "reviewer_2_decision", "conflict_reason"}
|
||||
# Mirrors validate_human_reviews.py: an item needs adjudication when the two
|
||||
# decisions differ, or when reviewer_1 did not return a plain approve.
|
||||
APPROVE = "approve"
|
||||
|
||||
|
||||
def read(path: Path) -> list[dict[str, str]]:
|
||||
with path.open(encoding="utf-8-sig", newline="") as handle:
|
||||
return list(csv.DictReader(handle))
|
||||
|
||||
|
||||
def sha256(path: Path) -> str:
|
||||
return hashlib.sha256(path.read_bytes()).hexdigest()
|
||||
|
||||
|
||||
def conflict_reason(d1: str, d2: str) -> str:
|
||||
if d1 != d2:
|
||||
return (
|
||||
f"decisions differ: reviewer_1={d1}, reviewer_2={d2}; "
|
||||
"adjudication required because the two decisions are not identical"
|
||||
)
|
||||
return (
|
||||
f"both reviewers returned {d1}; adjudication required because "
|
||||
"reviewer_1's decision is not a plain approve"
|
||||
)
|
||||
|
||||
|
||||
def main() -> int:
|
||||
before = {p: sha256(p) for p in (REVIEWER_1, REVIEWER_2)}
|
||||
r1 = {r["item_version_id"]: r for r in read(REVIEWER_1)}
|
||||
r2 = {r["item_version_id"]: r for r in read(REVIEWER_2)}
|
||||
rows = read(ADJUDICATION)
|
||||
fields = list(rows[0])
|
||||
|
||||
if set(r1) != set(r2) or set(r1) != {r["item_version_id"] for r in rows}:
|
||||
raise SystemExit("item_version_id sets differ across the three files")
|
||||
|
||||
protected_written = []
|
||||
filled = 0
|
||||
for row in rows:
|
||||
item = row["item_version_id"]
|
||||
d1, d2 = r1[item]["decision"], r2[item]["decision"]
|
||||
needs = d1 != d2 or d1 != APPROVE
|
||||
new = {
|
||||
"reviewer_1_decision": d1,
|
||||
"reviewer_2_decision": d2,
|
||||
"conflict_reason": conflict_reason(d1, d2) if needs else "",
|
||||
}
|
||||
for key, value in new.items():
|
||||
if row[key] != value:
|
||||
row[key] = value
|
||||
filled += 1
|
||||
for key in fields:
|
||||
if key not in DERIVED and key != "item_version_id" and row[key].strip():
|
||||
protected_written.append(f"{item}:{key}")
|
||||
|
||||
with ADJUDICATION.open("w", encoding="utf-8-sig", newline="") as handle:
|
||||
writer = csv.DictWriter(handle, fieldnames=fields)
|
||||
writer.writeheader()
|
||||
writer.writerows(rows)
|
||||
|
||||
after = {p: sha256(p) for p in (REVIEWER_1, REVIEWER_2)}
|
||||
if before != after:
|
||||
raise SystemExit("FATAL: a signed reviewer packet changed; investigate before committing")
|
||||
|
||||
summary = {
|
||||
"rows": len(rows),
|
||||
"derived_cells_written": filled,
|
||||
"items_requiring_adjudication": sum(1 for r in rows if r["conflict_reason"]),
|
||||
"existing_adjudicator_values_preserved": len(protected_written),
|
||||
"signed_packets_unchanged": True,
|
||||
}
|
||||
print(json.dumps(summary, indent=2))
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
@@ -1,85 +1,85 @@
|
||||
item_version_id,reviewer_1_decision,reviewer_2_decision,conflict_reason,adjudicator_name,adjudication_date,final_decision,final_question_text,final_construct,final_population,final_language,final_response_or_missing_rule,adjudication_notes,adjudicator_attestation
|
||||
GSHS::2023_MAR_GSHS_v01::mar_fez2023::raw_mh_considersui,,,,,,,,,,,,,
|
||||
GSHS::2023_MAR_GSHS_v01::mar_fez2023::raw_mh_plansui,,,,,,,,,,,,,
|
||||
GSHS::2023_MAR_GSHS_v01::mar_fez2023::raw_mh_attemptsui,,,,,,,,,,,,,
|
||||
GSHS::GHA_2022_GSHS_v01::gha_sek_tak2022::raw_mh_considersui,,,,,,,,,,,,,
|
||||
GSHS::GHA_2022_GSHS_v01::gha_sek_tak2022::raw_mh_plansui,,,,,,,,,,,,,
|
||||
GSHS::GHA_2022_GSHS_v01::gha_sek_tak2022::raw_mh_attemptsui,,,,,,,,,,,,,
|
||||
GSHS::IND_2022_GSHS_v01::ind_jaipur_2022::raw_mh_considersui,,,,,,,,,,,,,
|
||||
GSHS::IND_2022_GSHS_v01::ind_jaipur_2022::raw_mh_plansui,,,,,,,,,,,,,
|
||||
GSHS::IND_2022_GSHS_v01::ind_jaipur_2022::raw_mh_attemptsui,,,,,,,,,,,,,
|
||||
GSHS::JAM_2023_GSHS_v01::jam_st_cath_2023::raw_mh_considersui,,,,,,,,,,,,,
|
||||
GSHS::JAM_2023_GSHS_v01::jam_st_cath_2023::raw_mh_plansui,,,,,,,,,,,,,
|
||||
GSHS::JAM_2023_GSHS_v01::jam_st_cath_2023::raw_mh_attemptsui,,,,,,,,,,,,,
|
||||
GSHS::MNG_2023_GSHS_v01::mng2023::raw_mh_considersui,,,,,,,,,,,,,
|
||||
GSHS::MNG_2023_GSHS_v01::mng2023::raw_mh_plansui,,,,,,,,,,,,,
|
||||
GSHS::MNG_2023_GSHS_v01::mng2023::raw_mh_attemptsui,,,,,,,,,,,,,
|
||||
GSHS::SLB_2023_GSHS_v01::slb_2023::raw_mh_considersui,,,,,,,,,,,,,
|
||||
GSHS::SLB_2023_GSHS_v01::slb_2023::raw_mh_plansui,,,,,,,,,,,,,
|
||||
GSHS::SLB_2023_GSHS_v01::slb_2023::raw_mh_attemptsui,,,,,,,,,,,,,
|
||||
GSHS::WLF_2023_GSHS_v01::wlf_2023::raw_mh_considersui,,,,,,,,,,,,,
|
||||
GSHS::WLF_2023_GSHS_v01::wlf_2023::raw_mh_plansui,,,,,,,,,,,,,
|
||||
GSHS::WLF_2023_GSHS_v01::wlf_2023::raw_mh_attemptsui,,,,,,,,,,,,,
|
||||
YRBS::1991::Q19,,,,,,,,,,,,,
|
||||
YRBS::1991::Q20,,,,,,,,,,,,,
|
||||
YRBS::1991::Q21,,,,,,,,,,,,,
|
||||
YRBS::1993::Q24,,,,,,,,,,,,,
|
||||
YRBS::1993::Q25,,,,,,,,,,,,,
|
||||
YRBS::1993::Q26,,,,,,,,,,,,,
|
||||
YRBS::1995::Q22,,,,,,,,,,,,,
|
||||
YRBS::1995::Q23,,,,,,,,,,,,,
|
||||
YRBS::1995::Q24,,,,,,,,,,,,,
|
||||
YRBS::1997::Q22,,,,,,,,,,,,,
|
||||
YRBS::1997::Q23,,,,,,,,,,,,,
|
||||
YRBS::1997::Q24,,,,,,,,,,,,,
|
||||
YRBS::1999::Q23,,,,,,,,,,,,,
|
||||
YRBS::1999::Q24,,,,,,,,,,,,,
|
||||
YRBS::1999::Q25,,,,,,,,,,,,,
|
||||
YRBS::2001::Q24,,,,,,,,,,,,,
|
||||
YRBS::2001::Q25,,,,,,,,,,,,,
|
||||
YRBS::2001::Q26,,,,,,,,,,,,,
|
||||
YRBS::2003::Q24,,,,,,,,,,,,,
|
||||
YRBS::2003::Q25,,,,,,,,,,,,,
|
||||
YRBS::2003::Q26,,,,,,,,,,,,,
|
||||
YRBS::2005::Q24,,,,,,,,,,,,,
|
||||
YRBS::2005::Q25,,,,,,,,,,,,,
|
||||
YRBS::2005::Q26,,,,,,,,,,,,,
|
||||
YRBS::2007::Q24,,,,,,,,,,,,,
|
||||
YRBS::2007::Q25,,,,,,,,,,,,,
|
||||
YRBS::2007::Q26,,,,,,,,,,,,,
|
||||
YRBS::2009::Q24,,,,,,,,,,,,,
|
||||
YRBS::2009::Q25,,,,,,,,,,,,,
|
||||
YRBS::2009::Q26,,,,,,,,,,,,,
|
||||
YRBS::2011::Q25,,,,,,,,,,,,,
|
||||
YRBS::2011::Q26,,,,,,,,,,,,,
|
||||
YRBS::2011::Q27,,,,,,,,,,,,,
|
||||
YRBS::2013::Q27,,,,,,,,,,,,,
|
||||
YRBS::2013::Q28,,,,,,,,,,,,,
|
||||
YRBS::2013::Q29,,,,,,,,,,,,,
|
||||
YRBS::2015::Q27,,,,,,,,,,,,,
|
||||
YRBS::2015::Q28,,,,,,,,,,,,,
|
||||
YRBS::2015::Q29,,,,,,,,,,,,,
|
||||
YRBS::2017::Q26,,,,,,,,,,,,,
|
||||
YRBS::2017::Q27,,,,,,,,,,,,,
|
||||
YRBS::2017::Q28,,,,,,,,,,,,,
|
||||
YRBS::2019::Q26,,,,,,,,,,,,,
|
||||
YRBS::2019::Q27,,,,,,,,,,,,,
|
||||
YRBS::2019::Q28,,,,,,,,,,,,,
|
||||
YRBS::2021::Q26,,,,,,,,,,,,,
|
||||
YRBS::2021::Q27,,,,,,,,,,,,,
|
||||
YRBS::2021::Q28,,,,,,,,,,,,,
|
||||
YRBS::2023::Q27,,,,,,,,,,,,,
|
||||
YRBS::2023::Q28,,,,,,,,,,,,,
|
||||
YRBS::2023::Q29,,,,,,,,,,,,,
|
||||
NSDUH::2021::YUSUITHK,,,,,,,,,,,,,
|
||||
NSDUH::2021::YUSUIPLN,,,,,,,,,,,,,
|
||||
NSDUH::2022::YUSUITHK,,,,,,,,,,,,,
|
||||
NSDUH::2022::YUSUIPLN,,,,,,,,,,,,,
|
||||
NSDUH::2023::YUSUITHK,,,,,,,,,,,,,
|
||||
NSDUH::2023::YUSUIPLN,,,,,,,,,,,,,
|
||||
NSDUH::2024::YUSUITHK,,,,,,,,,,,,,
|
||||
NSDUH::2024::YUSUIPLN,,,,,,,,,,,,,
|
||||
NSDUH::2021::YUSUICTRY,,,,,,,,,,,,,
|
||||
NSDUH::2022::YUSUICTRY,,,,,,,,,,,,,
|
||||
NSDUH::2023::YUSUICTRY,,,,,,,,,,,,,
|
||||
NSDUH::2024::YUSUICTRY,,,,,,,,,,,,,
|
||||
GSHS::2023_MAR_GSHS_v01::mar_fez2023::raw_mh_considersui,needs_source,approve_with_correction,"decisions differ: reviewer_1=needs_source, reviewer_2=approve_with_correction; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
GSHS::2023_MAR_GSHS_v01::mar_fez2023::raw_mh_plansui,needs_source,approve_with_correction,"decisions differ: reviewer_1=needs_source, reviewer_2=approve_with_correction; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
GSHS::2023_MAR_GSHS_v01::mar_fez2023::raw_mh_attemptsui,needs_source,approve_with_correction,"decisions differ: reviewer_1=needs_source, reviewer_2=approve_with_correction; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
GSHS::GHA_2022_GSHS_v01::gha_sek_tak2022::raw_mh_considersui,needs_source,approve_with_correction,"decisions differ: reviewer_1=needs_source, reviewer_2=approve_with_correction; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
GSHS::GHA_2022_GSHS_v01::gha_sek_tak2022::raw_mh_plansui,needs_source,approve_with_correction,"decisions differ: reviewer_1=needs_source, reviewer_2=approve_with_correction; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
GSHS::GHA_2022_GSHS_v01::gha_sek_tak2022::raw_mh_attemptsui,needs_source,approve_with_correction,"decisions differ: reviewer_1=needs_source, reviewer_2=approve_with_correction; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
GSHS::IND_2022_GSHS_v01::ind_jaipur_2022::raw_mh_considersui,needs_source,approve_with_correction,"decisions differ: reviewer_1=needs_source, reviewer_2=approve_with_correction; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
GSHS::IND_2022_GSHS_v01::ind_jaipur_2022::raw_mh_plansui,needs_source,approve_with_correction,"decisions differ: reviewer_1=needs_source, reviewer_2=approve_with_correction; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
GSHS::IND_2022_GSHS_v01::ind_jaipur_2022::raw_mh_attemptsui,needs_source,approve_with_correction,"decisions differ: reviewer_1=needs_source, reviewer_2=approve_with_correction; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
GSHS::JAM_2023_GSHS_v01::jam_st_cath_2023::raw_mh_considersui,needs_source,approve_with_correction,"decisions differ: reviewer_1=needs_source, reviewer_2=approve_with_correction; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
GSHS::JAM_2023_GSHS_v01::jam_st_cath_2023::raw_mh_plansui,needs_source,approve_with_correction,"decisions differ: reviewer_1=needs_source, reviewer_2=approve_with_correction; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
GSHS::JAM_2023_GSHS_v01::jam_st_cath_2023::raw_mh_attemptsui,needs_source,approve_with_correction,"decisions differ: reviewer_1=needs_source, reviewer_2=approve_with_correction; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
GSHS::MNG_2023_GSHS_v01::mng2023::raw_mh_considersui,needs_source,approve_with_correction,"decisions differ: reviewer_1=needs_source, reviewer_2=approve_with_correction; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
GSHS::MNG_2023_GSHS_v01::mng2023::raw_mh_plansui,needs_source,approve_with_correction,"decisions differ: reviewer_1=needs_source, reviewer_2=approve_with_correction; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
GSHS::MNG_2023_GSHS_v01::mng2023::raw_mh_attemptsui,needs_source,approve_with_correction,"decisions differ: reviewer_1=needs_source, reviewer_2=approve_with_correction; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
GSHS::SLB_2023_GSHS_v01::slb_2023::raw_mh_considersui,needs_source,needs_source,both reviewers returned needs_source; adjudication required because reviewer_1's decision is not a plain approve,,,,,,,,,,
|
||||
GSHS::SLB_2023_GSHS_v01::slb_2023::raw_mh_plansui,needs_source,needs_source,both reviewers returned needs_source; adjudication required because reviewer_1's decision is not a plain approve,,,,,,,,,,
|
||||
GSHS::SLB_2023_GSHS_v01::slb_2023::raw_mh_attemptsui,needs_source,needs_source,both reviewers returned needs_source; adjudication required because reviewer_1's decision is not a plain approve,,,,,,,,,,
|
||||
GSHS::WLF_2023_GSHS_v01::wlf_2023::raw_mh_considersui,needs_source,approve_with_correction,"decisions differ: reviewer_1=needs_source, reviewer_2=approve_with_correction; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
GSHS::WLF_2023_GSHS_v01::wlf_2023::raw_mh_plansui,needs_source,approve_with_correction,"decisions differ: reviewer_1=needs_source, reviewer_2=approve_with_correction; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
GSHS::WLF_2023_GSHS_v01::wlf_2023::raw_mh_attemptsui,needs_source,approve_with_correction,"decisions differ: reviewer_1=needs_source, reviewer_2=approve_with_correction; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::1991::Q19,approve_with_correction,approve,"decisions differ: reviewer_1=approve_with_correction, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::1991::Q20,approve_with_correction,approve,"decisions differ: reviewer_1=approve_with_correction, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::1991::Q21,approve_with_correction,approve,"decisions differ: reviewer_1=approve_with_correction, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::1993::Q24,approve_with_correction,approve,"decisions differ: reviewer_1=approve_with_correction, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::1993::Q25,approve_with_correction,approve,"decisions differ: reviewer_1=approve_with_correction, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::1993::Q26,approve_with_correction,approve,"decisions differ: reviewer_1=approve_with_correction, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::1995::Q22,approve_with_correction,approve_with_correction,both reviewers returned approve_with_correction; adjudication required because reviewer_1's decision is not a plain approve,,,,,,,,,,
|
||||
YRBS::1995::Q23,approve_with_correction,approve_with_correction,both reviewers returned approve_with_correction; adjudication required because reviewer_1's decision is not a plain approve,,,,,,,,,,
|
||||
YRBS::1995::Q24,approve_with_correction,approve_with_correction,both reviewers returned approve_with_correction; adjudication required because reviewer_1's decision is not a plain approve,,,,,,,,,,
|
||||
YRBS::1997::Q22,approve_with_correction,approve_with_correction,both reviewers returned approve_with_correction; adjudication required because reviewer_1's decision is not a plain approve,,,,,,,,,,
|
||||
YRBS::1997::Q23,approve_with_correction,approve_with_correction,both reviewers returned approve_with_correction; adjudication required because reviewer_1's decision is not a plain approve,,,,,,,,,,
|
||||
YRBS::1997::Q24,approve_with_correction,approve_with_correction,both reviewers returned approve_with_correction; adjudication required because reviewer_1's decision is not a plain approve,,,,,,,,,,
|
||||
YRBS::1999::Q23,approve_with_correction,approve,"decisions differ: reviewer_1=approve_with_correction, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::1999::Q24,approve_with_correction,approve,"decisions differ: reviewer_1=approve_with_correction, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::1999::Q25,approve_with_correction,approve,"decisions differ: reviewer_1=approve_with_correction, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2001::Q24,approve_with_correction,approve,"decisions differ: reviewer_1=approve_with_correction, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2001::Q25,approve_with_correction,approve,"decisions differ: reviewer_1=approve_with_correction, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2001::Q26,approve_with_correction,approve,"decisions differ: reviewer_1=approve_with_correction, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2003::Q24,approve_with_correction,approve,"decisions differ: reviewer_1=approve_with_correction, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2003::Q25,approve_with_correction,approve,"decisions differ: reviewer_1=approve_with_correction, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2003::Q26,approve_with_correction,approve,"decisions differ: reviewer_1=approve_with_correction, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2005::Q24,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2005::Q25,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2005::Q26,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2007::Q24,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2007::Q25,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2007::Q26,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2009::Q24,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2009::Q25,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2009::Q26,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2011::Q25,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2011::Q26,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2011::Q27,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2013::Q27,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2013::Q28,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2013::Q29,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2015::Q27,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2015::Q28,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2015::Q29,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2017::Q26,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2017::Q27,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2017::Q28,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2019::Q26,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2019::Q27,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2019::Q28,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2021::Q26,approve_with_correction,approve,"decisions differ: reviewer_1=approve_with_correction, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2021::Q27,approve_with_correction,approve,"decisions differ: reviewer_1=approve_with_correction, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2021::Q28,approve_with_correction,approve,"decisions differ: reviewer_1=approve_with_correction, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2023::Q27,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2023::Q28,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
YRBS::2023::Q29,needs_source,approve,"decisions differ: reviewer_1=needs_source, reviewer_2=approve; adjudication required because the two decisions are not identical",,,,,,,,,,
|
||||
NSDUH::2021::YUSUITHK,approve_with_correction,approve_with_correction,both reviewers returned approve_with_correction; adjudication required because reviewer_1's decision is not a plain approve,,,,,,,,,,
|
||||
NSDUH::2021::YUSUIPLN,approve_with_correction,approve_with_correction,both reviewers returned approve_with_correction; adjudication required because reviewer_1's decision is not a plain approve,,,,,,,,,,
|
||||
NSDUH::2022::YUSUITHK,approve_with_correction,approve_with_correction,both reviewers returned approve_with_correction; adjudication required because reviewer_1's decision is not a plain approve,,,,,,,,,,
|
||||
NSDUH::2022::YUSUIPLN,approve_with_correction,approve_with_correction,both reviewers returned approve_with_correction; adjudication required because reviewer_1's decision is not a plain approve,,,,,,,,,,
|
||||
NSDUH::2023::YUSUITHK,approve_with_correction,approve_with_correction,both reviewers returned approve_with_correction; adjudication required because reviewer_1's decision is not a plain approve,,,,,,,,,,
|
||||
NSDUH::2023::YUSUIPLN,approve_with_correction,approve_with_correction,both reviewers returned approve_with_correction; adjudication required because reviewer_1's decision is not a plain approve,,,,,,,,,,
|
||||
NSDUH::2024::YUSUITHK,approve_with_correction,approve_with_correction,both reviewers returned approve_with_correction; adjudication required because reviewer_1's decision is not a plain approve,,,,,,,,,,
|
||||
NSDUH::2024::YUSUIPLN,approve_with_correction,approve_with_correction,both reviewers returned approve_with_correction; adjudication required because reviewer_1's decision is not a plain approve,,,,,,,,,,
|
||||
NSDUH::2021::YUSUICTRY,needs_source,needs_source,both reviewers returned needs_source; adjudication required because reviewer_1's decision is not a plain approve,,,,,,,,,,
|
||||
NSDUH::2022::YUSUICTRY,needs_source,needs_source,both reviewers returned needs_source; adjudication required because reviewer_1's decision is not a plain approve,,,,,,,,,,
|
||||
NSDUH::2023::YUSUICTRY,needs_source,needs_source,both reviewers returned needs_source; adjudication required because reviewer_1's decision is not a plain approve,,,,,,,,,,
|
||||
NSDUH::2024::YUSUICTRY,needs_source,needs_source,both reviewers returned needs_source; adjudication required because reviewer_1's decision is not a plain approve,,,,,,,,,,
|
||||
|
||||
|
Reference in New Issue
Block a user