Estimates Questions On Notice File Format Guidance

The Estimates Questions On Notice system is used by Committee staff to store and maintain the large number of Questions on Notice that are asked of Departments and Agencies during a Senate Estimates round. Due to the volume of questions that a single committee may have to deal with, to ease in the entry of the questions into the system, an automated data ingestion process is used by the committee staff, using a Comma-Separated Values file (CSV) with a format defined below.

 

The Ingestion File Format

 

The Estimates Questions On Notice (EQON) file format is in a Comma Separated Values (CSV) file format. In effect, every value in this data format is separated by a comma - fields with a comma in it are enclosed in double-quotes(") to indicate they are a contiguous field of data, and double-quotes within a field are indicated by a two double-quotes ("").

 

The first row is always a header row, and indicates what data is in the rows following. The rows afterwards follow the format laid out by the header row.

 

The format of the EQON CSV has the following 10 headers:

 

WholePortfolio

Takes a single value, either True or False. This indicates whether a question is directed at the entire portfolio, rather than a single or multiple agencies in the portfolio.  Multiple questions may be created from this field, one per Agency in the portfolio. Note that this depends on the Portfolio and Agency lookup values being correctly completed in the QON Admin interface.

Note that this will only be inserted as a whole of portfolio question if the value for this field is True, and the value for the DepartmentOrAgency field is empty. Will default to False if the value cannot be parsed into one of the two accepted values.

E.g.

  • "True"

  • "False"

DepartmentOrAgency

Takes a single value or multiple values, separated by a semicolon(;). Must include the full name of the Agency such that it matches the predefined Prefix and the Name fields in the EQON system, separated by a single space. Multiple questions may be created from this field, one per Agency specified. Note that a value in this column will override the specified WholePortfolio field and default it to false..

E.g.

  • "[Prefix] [Name]"

  • "Department of the Senate"

  • "Parliamentary Budget Office"

  • "Department of the Senate; Department of Parliamentary Services"

HearingDate

Takes a single value as a formatted Date, in the format {dd/MM/yyyy}, where dd is the date, MM is the two-digit month, and yyyy is the four-digit year or ISO-8601 standard. Note that while other formats may be parsed correctly an accepted, these prescribed formats are the only ones officially supported and recommended.  This value indicates the date that the question was asked, normally in an Estimates Hearing.

E.g.

  • "9999-12-01"

  • "1753-01-01"

 

PortfolioQuestionNumber

Takes a single value, up to 256 characters long. This is the secondary number used for the question and the format may vary between committees.

E.g.

  • "bud/01"

  • "No. 0001"

Senator

Takes a single value or multiple values, separated by a semicolon(;). Must include the First name and Surname of the Senator, excluding any honorifics or titles, separated by a single space. The name(s) used should match the common or preferred name used by the Senator in question, rather than their birth name if that is not what they regularly go by - e.g. "Penny" rather than "Penelope". This name can be easily seen on the Senator's page on APH Website.

E.g.

  • "[FirstName] [Surname]"

  • "John Citizen"

  • "Jane Citizen; John Citizen"

BroadTopic

Takes a single value up to 255 characters long. This is used to indicated what the question is about, in a general sense.

E.g.

  • "Defence spending"

  • "Climate Change"

QuestionText

Takes a single value of characters with no specified limit. This is used to indicate the actual text of the question, often with indications of who asked the question or parts of the question, in a manner similar to Hansard.

E.g.

  • "Senator SENATORNAME: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor nec sapien vitae volutpat. Nunc pulvinar accumsan quam ac fermentum. Nunc pharetra tempus leo, vehicula interdum nisi faucibus sit amet. Mauris at iaculis erat, in molestie risus. Vivamus nec justo rhoncus, elementum purus id, dapibus sapien. Cras mollis congue risus in feugiat. Aenean faucibus, eros eu tincidunt semper, nulla sem sagittis enim, in molestie turpis ex a sapien. But we will take that on notice."

 

WrittenHansard

Takes a single value, either Written or Hansard. This indicates whether this question was sourced from a Hansard transcript or was written in by one or more Senators. This will throw an error if the value cannot be matched to either Written or Hansard.

E.g.

  • "Written"

  • "Hansard"

 

ProofHansardPage

Takes a single value that specifies a Hansard page value. This value is required if the value of WrittenHansard is Hansard.

E.g.

  • "pp. 23"

  • "pp. 23-25"

 

DueDate

Takes a single value as a formatted Date, in the format {dd/MM/yyyy}, where dd is the date, MM is the two-digit month, and yyyy is the four-digit year or ISO-8601 standard. Note that while other formats may be parsed correctly an accepted, these prescribed formats are the only ones officially supported and recommended. This value indicates the date that an answer to the question is due. This is typically set by the committee for the hearing.

E.g.

  • "31/12/9999"

  • "01/01/1753"

 

Editing the File

The CSV file can be edited directly with any text editor, however if manually  editing, it is recommended to use Microsoft Excel to edit the CSV. Excel will format the CSV columns into a table, and ensure that any formatting is CSV compliant when you select to save the file as a CSV file. Note that for maximum compatibility, the CSV file should be saved to use Windows-style line endings (CRLF).

 

An example file can be downloaded here.

 

Technical Schema

WholePortfolio+: Boolean
DepartmentOrAgency+: String
HearingDate*: DateTime
PortfolioQuestionNo: String
Senator*: String
BroadTopic*: String
QuestionText*: String
WrittenHansard*: Enum {Written, Hansard}
ProofHansardPage+: String
DueDate*: DateTime

 

*: Always mandatory

+: Mandatory depending on values in other fields