2.7 KiB
2.7 KiB
doplnujici_dotazy_v1.0 — evidence doplňujících dotazů na centra
Verze: 1.0 · Datum: 2026-06-17 · Studie: 77242113UCO3002 (ICONIC / DAWN)
Účel
Když v SIPIQ chybí odpověď a do dotazníku už NELZE vstoupit, doptáváme se centra zvlášť.
Kolekce feasibility.doplnujici_dotazy eviduje, ke kterému centru a ke které otázce dotaz
patří a v jakém je stavu. Souvisí s sipiq_responses / sipiq_questions (viz sipiq_import).
Model (domluva 17JUN2026)
- 1 dok = dotazová UDÁLOST (může nést více otázek v
questions[]). - Když centrum odpoví → odpověď se promítne do
sipiq_responses.answers_supplement{}({value, source:"doplneno", doplnujici_dotaz_id, answered_at, answer_source}); původní Qualtricsanswersse NEMĚNÍ. Analýza/rekonstrukce pak může překrýt answers o answers_supplement.
Struktura dokumentu
{
"_id": ObjectId,
"response_id": "R_…", // ref sipiq_responses._id
"investigator_oid": ObjectId, // ref investigators
"pi_last_name","site_name","site_country","pi_email", // denormalizace
"status": "open", // open → asked → answered → closed / no_response
"asked_at": null, "asked_via": null, "reason": "…", "note": null,
"questions": [
{"qcode":"Q72_1","question_base":"Q72","question_text":"…","section":"…",
"answer":null,"answered_at":null,"answer_source":null,"status":"open"}
],
"created_at":"…","updated_at":"…","history":[]
}
Indexy: investigator_oid, response_id, status, questions.qcode, questions.status.
Příkazy
.venv\Scripts\python.exe Feasibility\doplnujici_dotazy_v1.0.py ensure
.venv\Scripts\python.exe Feasibility\doplnujici_dotazy_v1.0.py add --center <email|prijmeni|R_id> [--country CZ|SK] \
--qcodes Q72_1,Q73_1 [--reason "…"] [--asked-via "…"] [--status asked] [--note "…"] [--apply]
.venv\Scripts\python.exe Feasibility\doplnujici_dotazy_v1.0.py answer --id <dotaz_id> --qcode Q72_1 \
--answer "8" [--source "email 18JUN2026"] [--apply]
.venv\Scripts\python.exe Feasibility\doplnujici_dotazy_v1.0.py list [--center …] [--open]
add/answerdefaultně dry-run, ostrý běh--apply.adddohledá centrum vsipiq_responses(R_id / pi_email / příjmení+země) a text+sekci otázky vsipiq_questions(qcode může být leaf, např. Q72_1 → text báze Q72 + popisek item).answerzapíše odpověď k otázce, přepočítá stav události (answered až když všechny otázky answered) a promítne dosipiq_responses.answers_supplement.
Stav 17JUN2026
Kolekce + indexy založeny (ensure), zatím 0 dokumentů. Dry-run add ověřen (Svoboda, Q72_1+Q73_1).
Mongo 192.168.1.76:27017, bez auth, pymongo.