The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
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[@]metanet.ch.
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.