Provider-agnostic up-front dependent-options table. One DependentOptionSet per distinct optionsSource among this line's questions, covering every reachable option combination scoped to this line's item (HTS code). Clients use this to derive visible options for provider-backed questions locally, without additional server calls.
ALL questions for this line's questionnaire version in display order, each with its latest answer. Display conditions are NOT evaluated server-side here — deliver the full tree so the client can evaluate them locally (one-shot delivery, zero subsequent round-trips for conditional branching). requirements filters it as on visibleQuestions.
All currently-visible questions in display order, each with its latest answer merged (null when unanswered). Display conditions are evaluated server-side against this line's answers — the render-ready review list; clients never re-implement the evaluator. requirements keeps only questions at those levels (null/empty = every level). It narrows delivery, not the line: completion still blocks on REQUIRED alone. An unanswered question that a kept one's display condition gates on is kept too, or the gated question could never become visible.
Fields
answers
[QuestionAnswer!]!
Required
requirements.currentQuestion
Question
requirements(seevisibleQuestions) leaves nothing to ask.dependentOptions
[DependentOptionSet!]!
Required
id
ID!
Required
programId
ID!
Required
questions
[SessionLineQuestion!]!
Required
requirementsfilters it as onvisibleQuestions.responseId
ID
status
SessionLineStatus!
Required
targetId
ID!
Required
targetType
ResponseTargetType!
Required
visibleQuestions
[SessionLineQuestion!]!
Required
requirementskeeps only questions at those levels (null/empty = every level). It narrows delivery, not the line: completion still blocks on REQUIRED alone. An unanswered question that a kept one's display condition gates on is kept too, or the gated question could never become visible.