The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
Continuous quality control (QC) and high-frequency checks (HFC) are vital to preventing non-sampling errors during fieldwork.
SurveySolutionsAPIv2 equips survey
teams with real-time tools to: 1. Monitor interview workflow statuses.
2. Take supervisory actions (commenting, approving, rejecting,
reassigning). 3. Query real-time response distributions. 4. Process
granular event paradata (timings, pauses, and spatial traces).
Every interview in Survey Solutions moves through a defined lifecycle:
[Created / Assigned]
│
▼
[Completed] ──► [Supervisor Review]
│
┌────────────┴────────────┐
▼ ▼
[RejectedBySupervisor] [ApprovedBySupervisor]
│ │
▼ ▼
(Back to enumerator) [Headquarters Review]
│
┌────────────┴────────────┐
▼ ▼
[RejectedByHeadquarters] [ApprovedByHeadquarters]
suso_getAllInterviewQuestionnaire() retrieves all
interviews matching target criteria:
# Get all completed interviews awaiting review
completed_ints <- suso_getAllInterviewQuestionnaire(
questID = "17a9fa22-1ef6-46d2-8c30-426aa876f273",
version = 1,
workStatus = "Completed"
)The resulting table provides status, error counts, enumerator assignment, and last modification timestamp:
# Sample interview statuses
demo_ints[, .(InterviewId = substr(InterviewId, 1, 13), ResponsibleName, Status, ErrorsCount)]
#> InterviewId ResponsibleName Status ErrorsCount
#> <char> <char> <char> <int>
#> 1: a1b2c3d4-0001 interviewer01 Completed 0
#> 2: a1b2c3d4-0002 interviewer01 ApprovedBySupervisor 0
#> 3: a1b2c3d4-0003 interviewer01 RejectedBySupervisor 2
#> 4: a1b2c3d4-0004 interviewer02 InterviewerAssigned 1
#> 5: a1b2c3d4-0005 interviewer03 ApprovedByHeadquarters 0# Summary breakdown of interview statuses
demo_ints[, .N, by = Status]
#> Status N
#> <char> <int>
#> 1: Completed 1
#> 2: ApprovedBySupervisor 1
#> 3: RejectedBySupervisor 1
#> 4: InterviewerAssigned 1
#> 5: ApprovedByHeadquarters 1When high-frequency checks flag inconsistencies, supervisors or HQ monitors can interact directly with the interview.
Comments can be attached directly to a specific variable with optional feedback:
# Reject back to supervisor with explanation
suso_patchRejectInterview(
intID = "a1b2c3d4-0003-4000-8000-000000000003",
comment = "Multiple validation errors require re-visiting the household."
)
# Approve interview at Headquarters
suso_patchApproveInterview(
intID = "a1b2c3d4-0001-4000-8000-000000000001",
comment = "Passed all automated consistency audits."
)For formal documentation or audit trails, download the full interview transcript as a formatted PDF:
# Download completed transcript
pdf_file <- suso_getInterviewPDF(
intID = "a1b2c3d4-0001-4000-8000-000000000001",
path = "audits/interview_0001_transcript.pdf"
)To detect enumerator fabrication or question misinterpretation early,
suso_get_stats() queries live response distributions
directly from the server:
# Query response distribution for a categorical question
q_stats <- suso_get_stats(
questID = "17a9fa22-1ef6-46d2-8c30-426aa876f273",
version = 1,
qQuest = "household_head_gender"
)Paradata captures timestamped events triggered during data collection: question focus, response edits, validation messages, and pauses.
suso_export_paradata()suso_export_paradata() downloads and structures paradata
events into an enriched exportClass table:
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.