Template:Hansard-item-cargo: Difference between revisions
SGPolitico (talk | contribs) No edit summary |
SGPolitico (talk | contribs) No edit summary |
||
| (5 intermediate revisions by the same user not shown) | |||
| Line 8: | Line 8: | ||
|subject=String | |subject=String | ||
|asking_mp_id=String | |asking_mp_id=String | ||
|asking_mp_display=String | |||
|answering_mp_id=String | |answering_mp_id=String | ||
|answering_mp_display=String | |||
|speaker_mp_id=String | |speaker_mp_id=String | ||
|speaker_mp_display=String | |||
|bill_id=String | |bill_id=String | ||
|debate_id=String | |debate_id=String | ||
|grouped_question_nos=String | |grouped_question_nos=String | ||
|question_status=String | |||
|question_text=Wikitext | |||
|answer_text=Wikitext | |||
|speech_text=Wikitext | |||
|topic_tags=String | |topic_tags=String | ||
|summary=Text | |summary=Text | ||
|verified=String | |verified=String | ||
|last_updated=Date | |last_updated=Date | ||
}}</noinclude><includeonly>{{#cargo_store:_table=hansard_items|item_id={{{item_id|}}}|sitting_id={{{sitting_id|}}}|sitting_date={{{sitting_date|}}}|parliament_no={{{parliament_no|}}}|item_type={{{item_type|}}}|item_no={{{item_no|}}}|subject={{{subject|}}}|asking_mp_id={{{asking_mp_id|}}}|answering_mp_id={{{answering_mp_id|}}}|speaker_mp_id={{{speaker_mp_id|}}}|bill_id={{{bill_id|}}}|debate_id={{{debate_id|}}}|grouped_question_nos={{{grouped_question_nos|}}}|topic_tags={{{topic_tags|}}}|summary={{{summary|}}}|verified={{{verified|}}}|last_updated={{{last_updated|}}}}}< | }}</noinclude><includeonly> | ||
{{#cargo_store:_table=hansard_items|item_id={{{item_id|}}}|sitting_id={{{sitting_id|}}}|sitting_date={{{sitting_date|}}}|parliament_no={{{parliament_no|}}}|item_type={{{item_type|}}}|item_no={{{item_no|}}}|subject={{{subject|}}}|asking_mp_id={{{asking_mp_id|}}}|asking_mp_display={{{asking_mp_display|}}}|answering_mp_id={{{answering_mp_id|}}}|answering_mp_display={{{answering_mp_display|}}}|speaker_mp_id={{{speaker_mp_id|}}}|speaker_mp_display={{{speaker_mp_display|}}}|bill_id={{{bill_id|}}}|debate_id={{{debate_id|}}}|parent_item_id={{{parent_item_id|}}}|grouped_question_nos={{{grouped_question_nos|}}}|question_status={{{question_status|asked}}}|question_text={{{question_text|}}}|answer_text={{{answer_text|}}}|speech_text={{{speech_text|}}}|topic_tags={{{topic_tags|}}}|summary={{{summary|}}}|verified={{{verified|}}}|last_updated={{{last_updated|}}}}} | |||
<div id="{{{item_id|}}}" class="hansard-item"><span class="hansard-item-meta" style="font-size:85%;color:#54595d;">[{{#switch:{{{item_type|}}}|oral_question=Oral Q|written_question=Written Q|supplementary_question=Supplementary|bill_first_reading=Bill · 1st Reading|bill_second_reading=Bill · 2nd Reading|bill_third_reading=Bill · 3rd Reading|motion=Motion|motion_speech=Motion Speech|adjournment_speech=Adjournment|ministerial_statement=Ministerial Statement|ministerial_statement_clarification=Clarification|#default={{{item_type|}}}}}{{#if:{{{item_no|}}}| {{{item_no|}}}}}{{#ifeq:{{{question_status|asked}}}|withdrawn| · Withdrawn}}]</span>{{#if:{{{question_text|}}}|<div class="hansard-question">{{{question_text}}}</div>}}{{#if:{{{answer_text|}}}|<div class="hansard-answer">{{{answer_text}}}</div>}}{{#if:{{{speech_text|}}}|<div class="hansard-speech">{{{speech_text}}}</div>}}</div></includeonly><noinclude> | |||
== Usage == | == Usage == | ||
Place once per question/speech/bill reading/motion | Place once per question/speech/bill reading/motion/statement/clarification on the sitting-day page. Every piece of the item — including the verbatim Hansard text — is a parameter of this one call. Nothing is written on the page around it: the call is fully self-contained, and the template renders the whole thing (anchor, type tag, and the text itself) from the stored data. Data entry is copy-paste only: take the exact block of source text and paste it, unedited, as the value of question_text / answer_text / speech_text. | ||
<pre> | <pre> | ||
| Line 32: | Line 44: | ||
|subject=Probe into social media posts targeting Singapore's Indian community | |subject=Probe into social media posts targeting Singapore's Indian community | ||
|asking_mp_id=darryl-david | |asking_mp_id=darryl-david | ||
|asking_mp_display=Mr Darryl David | |||
|answering_mp_id=goh-pei-ming | |answering_mp_id=goh-pei-ming | ||
|answering_mp_display=Mr Goh Pei Ming | |||
|speaker_mp_id= | |speaker_mp_id= | ||
|speaker_mp_display= | |||
|bill_id= | |bill_id= | ||
|debate_id= | |debate_id= | ||
|grouped_question_nos=1-2 | |grouped_question_nos=1-2 | ||
|topic_tags=Home Affairs, National Security, Social media | |topic_tags=Home Affairs, National Security, Social media | ||
|question_text=Mr Darryl David asked the Coordinating Minister for National Security and Minister for Home Affairs regarding the 14 online social media posts which seemingly targeted the Indian community and undermined Singapore's multiculturalism (a) whether investigations have revealed the posts to be a coordinated and deliberate effort by any particular agency or organisation; and (b) if so, what action has been or will be taken against such agency or organisation. | |||
|answer_text= | |||
|summary= | |summary= | ||
|verified= | |verified=no | ||
|last_updated=2026-07-16 | |last_updated=2026-07-16 | ||
}} | }} | ||
</pre> | </pre> | ||
Bill-linked example (bill_id set, | Bill-linked example (bill_id set, speech_text holds the presenting remarks verbatim): | ||
<pre> | <pre> | ||
| Line 56: | Line 72: | ||
|subject=Road Traffic (Miscellaneous Amendments) Bill | |subject=Road Traffic (Miscellaneous Amendments) Bill | ||
|speaker_mp_id=sim-ann | |speaker_mp_id=sim-ann | ||
|speaker_mp_display=Ms Sim Ann | |||
|bill_id=road-traffic-misc-amendments-2026 | |bill_id=road-traffic-misc-amendments-2026 | ||
|topic_tags=Transport, Legislation | |topic_tags=Transport, Legislation | ||
|verified= | |speech_text="to amend the Road Traffic Act 1961 and the Motor Vehicles (Third-Party Risks and Compensation) Act 1960", presented by the Senior Minister of State for Home Affairs (Ms Sim Ann) on behalf of the Coordinating Minister for National Security and Minister for Home Affairs; read the First time; to be read a Second time on the next available Sitting of Parliament, and to be printed. | ||
|verified=no | |||
|last_updated=2026-07-16 | |last_updated=2026-07-16 | ||
}} | }} | ||
</pre> | </pre> | ||
Motion-linked example (debate_id holds a motion_id, item_type=motion): | Motion-linked example (debate_id holds a motion_id, item_type=motion, speech_text holds the mover's remarks verbatim): | ||
<pre> | <pre> | ||
| Line 74: | Line 92: | ||
|subject=Reinforcing Singapore's Position as a Global Transport Hub | |subject=Reinforcing Singapore's Position as a Global Transport Hub | ||
|speaker_mp_id=tin-pei-ling | |speaker_mp_id=tin-pei-ling | ||
|speaker_mp_display=Ms Tin Pei Ling | |||
|debate_id=reinforcing-transport-hub-motion-2026 | |debate_id=reinforcing-transport-hub-motion-2026 | ||
|topic_tags=Transport, Economy | |topic_tags=Transport, Economy | ||
|verified= | |speech_text=Mr Speaker, I move, "That this House affirms the importance of strengthening Singapore's long-term economic competitiveness by leveraging international cooperation, frontier technologies and world-class infrastructure to reinforce Singapore's position as a globally connected aviation, maritime and logistics hub, and to anchor good jobs in Singapore." | ||
|verified=no | |||
|last_updated=2026-07-16 | |last_updated=2026-07-16 | ||
}} | }} | ||
</pre> | </pre> | ||
Ministerial statement + clarification example (debate_id holds a statement_id, shared by the statement item and every clarification that follows it): | Ministerial statement + clarification example (debate_id holds a statement_id, shared by the statement item and every clarification that follows it; the statement uses speech_text, the clarification uses question_text/answer_text): | ||
<pre> | <pre> | ||
| Line 92: | Line 112: | ||
|subject=[Statement title] | |subject=[Statement title] | ||
|speaker_mp_id=[minister] | |speaker_mp_id=[minister] | ||
|speaker_mp_display=[Minister display name] | |||
|debate_id=[statement_id] | |debate_id=[statement_id] | ||
|verified= | |speech_text=[full verbatim statement text] | ||
|verified=no | |||
|last_updated=2026-07-16 | |last_updated=2026-07-16 | ||
}} | }} | ||
{{Hansard-item-cargo | {{Hansard-item-cargo | ||
|item_id=p15-s32-stmt1-c1 | |item_id=p15-s32-stmt1-c1 | ||
| Line 105: | Line 126: | ||
|subject=[Statement title] | |subject=[Statement title] | ||
|asking_mp_id=[MP seeking clarification] | |asking_mp_id=[MP seeking clarification] | ||
|asking_mp_display=[MP display name] | |||
|answering_mp_id=[minister] | |answering_mp_id=[minister] | ||
|answering_mp_display=[Minister display name] | |||
|debate_id=[statement_id] | |debate_id=[statement_id] | ||
|verified= | |question_text=[MP's verbatim clarification remarks] | ||
|answer_text=[Minister's verbatim reply] | |||
|verified=no | |||
|last_updated=2026-07-16 | |last_updated=2026-07-16 | ||
}} | }} | ||
</pre> | </pre> | ||
Adjournment-speech example (no bill_id, no debate_id — just tagged to the speaking MP, visible on their own Parliamentary Record, no dedicated hub page): | Adjournment-speech example (no bill_id, no debate_id — just tagged to the speaking MP, visible on their own Parliamentary Record, no dedicated hub page; speech_text holds the remarks verbatim): | ||
<pre> | <pre> | ||
| Line 123: | Line 148: | ||
|subject=Integration with the region | |subject=Integration with the region | ||
|speaker_mp_id=kenneth-tiong-boon-kiat | |speaker_mp_id=kenneth-tiong-boon-kiat | ||
|speaker_mp_display=Mr Kenneth Tiong Boon Kiat | |||
|topic_tags=Economy, ASEAN | |topic_tags=Economy, ASEAN | ||
|verified= | |speech_text=[full verbatim speech text] | ||
|verified=no | |||
|last_updated=2026-07-16 | |last_updated=2026-07-16 | ||
}} | }} | ||
| Line 142: | Line 169: | ||
| parliament_no || String || Yes || Denormalised — lets MP-profile queries group by parliament term cheaply | | parliament_no || String || Yes || Denormalised — lets MP-profile queries group by parliament term cheaply | ||
|- | |- | ||
| item_type || String || Yes || oral_question / written_question / ministerial_statement / ministerial_statement_clarification / bill_first_reading / bill_second_reading / bill_third_reading / motion / adjournment_speech / other | | item_type || String || Yes || oral_question / written_question / ministerial_statement / ministerial_statement_clarification / bill_first_reading / bill_second_reading / bill_third_reading / motion / motion_speech / adjournment_speech / other | ||
|- | |- | ||
| item_no || String || No || The Hansard question/item number as printed. Blank for unnumbered items | | item_no || String || No || The Hansard question/item number as printed. Blank for unnumbered items | ||
| Line 148: | Line 175: | ||
| subject || String || Yes || Short title, sentence-cased from the Hansard heading | | subject || String || Yes || Short title, sentence-cased from the Hansard heading | ||
|- | |- | ||
| asking_mp_id || mp slug || No || MP who asked the question | | asking_mp_id || mp slug || No || MP who asked the question or sought a clarification | ||
|- | |||
| asking_mp_display || String || No || Display name matching asking_mp_id, e.g. "Mr Darryl David" — used for readable query results, never used to reconstruct question_text (that already contains the name verbatim from source) | |||
|- | |- | ||
| answering_mp_id || mp slug || No || Minister who answered on the record (the one actually speaking, even if answering "for" another minister) | | answering_mp_id || mp slug || No || Minister who answered on the record (the one actually speaking, even if answering "for" another minister) | ||
|- | |||
| answering_mp_display || String || No || Display name matching answering_mp_id | |||
|- | |- | ||
| speaker_mp_id || mp slug || No || For items with no asker/answerer structure — adjournment-debate speeches, statements, bill presenters, motion movers | | speaker_mp_id || mp slug || No || For items with no asker/answerer structure — adjournment-debate speeches, statements, bill presenters, motion movers | ||
|- | |||
| speaker_mp_display || String || No || Display name matching speaker_mp_id | |||
|- | |- | ||
| bill_id || bill slug || No || Set only if this item is a reading/speech/question directly about a specific bill. Must match bills table | | bill_id || bill slug || No || Set only if this item is a reading/speech/question directly about a specific bill. Must match bills table | ||
|- | |- | ||
| debate_id || motion or statement slug || No || Set to a motion_id (item_type=motion) or a statement_id (item_type=ministerial_statement / ministerial_statement_clarification) — including on the original statement's own item, not just its clarifications, so one query pulls the whole exchange together. | | debate_id || motion or statement slug || No || Set to a motion_id (item_type=motion/motion_speech) or a statement_id (item_type=ministerial_statement/ministerial_statement_clarification) — including on the original statement's own item, not just its clarifications, so one query pulls the whole exchange together | ||
|- | |||
| parent_item_id || item_id slug || No || For supplementary_question items only — the item_id of the primary oral_question/written_question this follows up on. Lets a supplementary be tagged to its own asking MP and traced back to context, without counting toward that MP's "questions filed" tally. | |||
|- | |- | ||
| grouped_question_nos || String || No || If answered together with other questions, e.g. 3-5 | | grouped_question_nos || String || No || If answered together with other questions, e.g. 3-5 | ||
|- | |||
| question_status || String || No || Defaults to "asked" if left blank. Set to withdrawn / deferred only when applicable. Parliamentary Record queries should filter question_status="asked" by default so withdrawn ones don't inflate an MP's count | |||
|- | |||
| question_text || Wikitext || No || The question exactly as printed in Hansard, pasted verbatim. Blank for non-question items, and blank on one row of a grouped question if the answer is recorded once on another row | |||
|- | |||
| answer_text || Wikitext || No || The answer exactly as printed in Hansard, pasted verbatim. Blank for withdrawn questions or items with no reply | |||
|- | |||
| speech_text || Wikitext || No || For items with no question/answer split — motions, adjournment speeches, statements, bill-reading remarks. The full verbatim text, pasted as one block | |||
|- | |- | ||
| topic_tags || String || No || Comma-separated free text for search | | topic_tags || String || No || Comma-separated free text for search | ||
|- | |- | ||
| summary || Text || No || One or two factual sentences, no editorialising | | summary || Text || No || One or two factual sentences, no editorialising. This is the one field that may be written rather than copied — it is explicitly a summary, never presented as a quote | ||
|- | |- | ||
| verified || String || Yes || yes / no | | verified || String || Yes || yes / no. Set to yes only after a human has checked question_text/answer_text/speech_text against the actual source PDF | ||
|- | |- | ||
| last_updated || Date || Yes || | | last_updated || Date || Yes || | ||
|} | |} | ||
An item normally sets at most one of bill_id / debate_id — not both, and often neither (a plain oral/written question, or an adjournment speech with no dedicated hub page). | An item normally sets at most one of bill_id / debate_id — not both, and often neither (a plain oral/written question, or an adjournment speech with no dedicated hub page). An item normally sets either (question_text and/or answer_text) or speech_text, not both patterns at once. | ||
Cargo table: '''hansard_items'''. See also {{tl|Hansard-sitting-cargo}}, {{tl|Bill-cargo}}, {{tl|Motion-cargo}}, {{tl|Ministerial-statement-cargo}}. | Cargo table: '''hansard_items'''. See also {{tl|Hansard-sitting-cargo}}, {{tl|Bill-cargo}}, {{tl|Motion-cargo}}, {{tl|Ministerial-statement-cargo}}. | ||
Latest revision as of 19:49, 16 July 2026
This template defines the table "hansard_items". View table.
Usage
Place once per question/speech/bill reading/motion/statement/clarification on the sitting-day page. Every piece of the item — including the verbatim Hansard text — is a parameter of this one call. Nothing is written on the page around it: the call is fully self-contained, and the template renders the whole thing (anchor, type tag, and the text itself) from the stored data. Data entry is copy-paste only: take the exact block of source text and paste it, unedited, as the value of question_text / answer_text / speech_text.
{{Hansard-item-cargo
|item_id=p15-s32-oq1
|sitting_id=p15-s32
|sitting_date=2026-07-07
|parliament_no=15
|item_type=oral_question
|item_no=1
|subject=Probe into social media posts targeting Singapore's Indian community
|asking_mp_id=darryl-david
|asking_mp_display=Mr Darryl David
|answering_mp_id=goh-pei-ming
|answering_mp_display=Mr Goh Pei Ming
|speaker_mp_id=
|speaker_mp_display=
|bill_id=
|debate_id=
|grouped_question_nos=1-2
|topic_tags=Home Affairs, National Security, Social media
|question_text=Mr Darryl David asked the Coordinating Minister for National Security and Minister for Home Affairs regarding the 14 online social media posts which seemingly targeted the Indian community and undermined Singapore's multiculturalism (a) whether investigations have revealed the posts to be a coordinated and deliberate effort by any particular agency or organisation; and (b) if so, what action has been or will be taken against such agency or organisation.
|answer_text=
|summary=
|verified=no
|last_updated=2026-07-16
}}
Bill-linked example (bill_id set, speech_text holds the presenting remarks verbatim):
{{Hansard-item-cargo
|item_id=p15-s32-bill1
|sitting_id=p15-s32
|sitting_date=2026-07-07
|parliament_no=15
|item_type=bill_first_reading
|subject=Road Traffic (Miscellaneous Amendments) Bill
|speaker_mp_id=sim-ann
|speaker_mp_display=Ms Sim Ann
|bill_id=road-traffic-misc-amendments-2026
|topic_tags=Transport, Legislation
|speech_text="to amend the Road Traffic Act 1961 and the Motor Vehicles (Third-Party Risks and Compensation) Act 1960", presented by the Senior Minister of State for Home Affairs (Ms Sim Ann) on behalf of the Coordinating Minister for National Security and Minister for Home Affairs; read the First time; to be read a Second time on the next available Sitting of Parliament, and to be printed.
|verified=no
|last_updated=2026-07-16
}}
Motion-linked example (debate_id holds a motion_id, item_type=motion, speech_text holds the mover's remarks verbatim):
{{Hansard-item-cargo
|item_id=p15-s32-mot1
|sitting_id=p15-s32
|sitting_date=2026-07-07
|parliament_no=15
|item_type=motion
|subject=Reinforcing Singapore's Position as a Global Transport Hub
|speaker_mp_id=tin-pei-ling
|speaker_mp_display=Ms Tin Pei Ling
|debate_id=reinforcing-transport-hub-motion-2026
|topic_tags=Transport, Economy
|speech_text=Mr Speaker, I move, "That this House affirms the importance of strengthening Singapore's long-term economic competitiveness by leveraging international cooperation, frontier technologies and world-class infrastructure to reinforce Singapore's position as a globally connected aviation, maritime and logistics hub, and to anchor good jobs in Singapore."
|verified=no
|last_updated=2026-07-16
}}
Ministerial statement + clarification example (debate_id holds a statement_id, shared by the statement item and every clarification that follows it; the statement uses speech_text, the clarification uses question_text/answer_text):
{{Hansard-item-cargo
|item_id=p15-s32-stmt1
|sitting_id=p15-s32
|sitting_date=2026-07-07
|parliament_no=15
|item_type=ministerial_statement
|subject=[Statement title]
|speaker_mp_id=[minister]
|speaker_mp_display=[Minister display name]
|debate_id=[statement_id]
|speech_text=[full verbatim statement text]
|verified=no
|last_updated=2026-07-16
}}
{{Hansard-item-cargo
|item_id=p15-s32-stmt1-c1
|sitting_id=p15-s32
|sitting_date=2026-07-07
|parliament_no=15
|item_type=ministerial_statement_clarification
|subject=[Statement title]
|asking_mp_id=[MP seeking clarification]
|asking_mp_display=[MP display name]
|answering_mp_id=[minister]
|answering_mp_display=[Minister display name]
|debate_id=[statement_id]
|question_text=[MP's verbatim clarification remarks]
|answer_text=[Minister's verbatim reply]
|verified=no
|last_updated=2026-07-16
}}
Adjournment-speech example (no bill_id, no debate_id — just tagged to the speaking MP, visible on their own Parliamentary Record, no dedicated hub page; speech_text holds the remarks verbatim):
{{Hansard-item-cargo
|item_id=p15-s32-adj3
|sitting_id=p15-s32
|sitting_date=2026-07-07
|parliament_no=15
|item_type=adjournment_speech
|subject=Integration with the region
|speaker_mp_id=kenneth-tiong-boon-kiat
|speaker_mp_display=Mr Kenneth Tiong Boon Kiat
|topic_tags=Economy, ASEAN
|speech_text=[full verbatim speech text]
|verified=no
|last_updated=2026-07-16
}}
Field reference
| Field | Type | Required | Notes |
|---|---|---|---|
| item_id | slug | Yes | Permanent. Format: {sitting_id}-{type_abbr}{item_no or running index}, e.g. p15-s32-oq1, p15-s32-wq21, p15-s32-bill1 |
| sitting_id | sitting slug | Yes | Must match hansard_sittings |
| sitting_date | Date | Yes | Denormalised from the sitting, for fast per-MP sorting without a join |
| parliament_no | String | Yes | Denormalised — lets MP-profile queries group by parliament term cheaply |
| item_type | String | Yes | oral_question / written_question / ministerial_statement / ministerial_statement_clarification / bill_first_reading / bill_second_reading / bill_third_reading / motion / motion_speech / adjournment_speech / other |
| item_no | String | No | The Hansard question/item number as printed. Blank for unnumbered items |
| subject | String | Yes | Short title, sentence-cased from the Hansard heading |
| asking_mp_id | mp slug | No | MP who asked the question or sought a clarification |
| asking_mp_display | String | No | Display name matching asking_mp_id, e.g. "Mr Darryl David" — used for readable query results, never used to reconstruct question_text (that already contains the name verbatim from source) |
| answering_mp_id | mp slug | No | Minister who answered on the record (the one actually speaking, even if answering "for" another minister) |
| answering_mp_display | String | No | Display name matching answering_mp_id |
| speaker_mp_id | mp slug | No | For items with no asker/answerer structure — adjournment-debate speeches, statements, bill presenters, motion movers |
| speaker_mp_display | String | No | Display name matching speaker_mp_id |
| bill_id | bill slug | No | Set only if this item is a reading/speech/question directly about a specific bill. Must match bills table |
| debate_id | motion or statement slug | No | Set to a motion_id (item_type=motion/motion_speech) or a statement_id (item_type=ministerial_statement/ministerial_statement_clarification) — including on the original statement's own item, not just its clarifications, so one query pulls the whole exchange together |
| parent_item_id | item_id slug | No | For supplementary_question items only — the item_id of the primary oral_question/written_question this follows up on. Lets a supplementary be tagged to its own asking MP and traced back to context, without counting toward that MP's "questions filed" tally. |
| grouped_question_nos | String | No | If answered together with other questions, e.g. 3-5 |
| question_status | String | No | Defaults to "asked" if left blank. Set to withdrawn / deferred only when applicable. Parliamentary Record queries should filter question_status="asked" by default so withdrawn ones don't inflate an MP's count |
| question_text | Wikitext | No | The question exactly as printed in Hansard, pasted verbatim. Blank for non-question items, and blank on one row of a grouped question if the answer is recorded once on another row |
| answer_text | Wikitext | No | The answer exactly as printed in Hansard, pasted verbatim. Blank for withdrawn questions or items with no reply |
| speech_text | Wikitext | No | For items with no question/answer split — motions, adjournment speeches, statements, bill-reading remarks. The full verbatim text, pasted as one block |
| topic_tags | String | No | Comma-separated free text for search |
| summary | Text | No | One or two factual sentences, no editorialising. This is the one field that may be written rather than copied — it is explicitly a summary, never presented as a quote |
| verified | String | Yes | yes / no. Set to yes only after a human has checked question_text/answer_text/speech_text against the actual source PDF |
| last_updated | Date | Yes |
An item normally sets at most one of bill_id / debate_id — not both, and often neither (a plain oral/written question, or an adjournment speech with no dedicated hub page). An item normally sets either (question_text and/or answer_text) or speech_text, not both patterns at once.
Cargo table: hansard_items. See also {{Hansard-sitting-cargo}}, {{Bill-cargo}}, {{Motion-cargo}}, {{Ministerial-statement-cargo}}.