Skip to main content
Structured instrument submissions and scored questionnaires. Submit these via POST /v1/logs/batch or the Python SDK; see How logs work for submission fields and the difference between lifecycle-tracked and point-in-time log types.

Questionnaire response

Type: questionnaire_response · Source: Python SDK / REST, Integration · Extensible Reserved for a complete multi-item questionnaire or instrument submission: validated (PHQ-9, GAD-7, etc.) or custom instrument with instrument block, administration, item_responses[], and scores; one event per completed instrument. Payload
instrument
object
required
administration
object
required
item_responses
object[]
required
scores
object
required
change
object
Change from prior administration.
extensions
object
Open key/value bag for client/source-specific fields that lack a typed slot; merged into the entry’s extensions (leaf-level, last-writer-wins by event timestamp).
source
string | object
Who asserted this fact. Accepts a legacy string (e.g. ‘patient_self_report’) or a structured Source object.
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.QUESTIONNAIRE_RESPONSE,
    patient_id="your-patient-id",
    payload={
        "instrument": {...},
        "administration": {...},
        "item_responses": [...],
        "scores": {...}
    },
)
Related types: Use questionnaire_item_response for single question and answer, mood_report for mood list, health_metric for single health metric, symptom_report for symptom report.

Questionnaire item response

Type: questionnaire_item_response · Source: Python SDK / REST Reserved for a single question-and-answer pair, not a full instrument: mid-conversation prompted question, ad-hoc assessment, or per-item logging; question + response_value (and optional response_label, scale). Payload
question
string
required
The full text of the question as presented to the patient.
response_value
number | string | boolean
required
Response value. Numeric for scored items, boolean for yes/no questions, or string for categorical responses (e.g. ‘daily’, ‘sometimes’).
response_scale_max
number
Maximum value on the item response scale. Only meaningful for numeric response_value.
response_label
string
Human-readable label for the response value.
instrument_id
string
Optional link to a known instrument if this is from a partial instrument submission.
item_number
integer
1-indexed position of this item within the instrument.
context
string
Where or how this item response was captured.. Example: conversation, check_in, standalone
source
string | object
Who asserted this fact. Accepts a legacy string (e.g. ‘patient_self_report’) or a structured Source object.
Example
import olira
from olira import OliraLogType

olira.log(
    log_type=OliraLogType.QUESTIONNAIRE_ITEM_RESPONSE,
    patient_id="your-patient-id",
    payload={
        "question": "...",
        "response_value": "..."
    },
)
Related types: Use questionnaire_response for full questionnaire submission, symptom_detail for symptom follow-up detail, health_metric for scalar metric without question text, mood_report for mood.