Parliamentary Process Data Model¶
Overview¶
The Danish Parliamentary Open Data API provides comprehensive access to the legislative process through a sophisticated data model that mirrors the actual parliamentary procedures of the Folketinget. This section introduces the core entities and relationships that enable tracking of legislation from initial proposal through final decision.
The parliamentary process data model captures the complete lifecycle of legislative activity, including case management, committee workflows, voting procedures, and document flow. With over 96,538 parliamentary cases and extensive historical data dating back to 1995, the API enables detailed analysis of democratic processes.
Core Process Entities¶
Primary Legislative Entities¶
- Sag (Case)
- The fundamental unit of parliamentary business, representing individual pieces of legislation, inquiries, administrative matters, and other parliamentary proceedings. Each case has: - Unique Identification: Numerical ID and human-readable titles - Lifecycle Tracking: Status progression from proposal to completion - Temporal Data: Creation, modification, and decision timestamps - Categorization: Types include Lovforslag (Bills), Beslutningsforslag (Resolutions), Forespørgsel (Inquiries)
- Sagstrin (Case Step)
- Individual stages within a case's progression through parliament, providing granular tracking of the legislative process: - Sequential Processing: Ordered steps from introduction to final decision - Status Management: Current state tracking for each procedural stage - Actor Participation: Who participates at each step through SagstrinAktør relationships
- Afstemning (Voting)
- Formal voting sessions that determine the outcome of parliamentary decisions: - Decision Recording: Vote counts, outcomes, and procedural details - Temporal Precision: Date and time of voting sessions - Case Linkage: Direct connection to the cases being decided
- Stemme (Individual Vote)
- Individual voting records for each parliamentarian in formal votes: - Personal Accountability: How each politician voted on specific issues - Vote Types: For/Against/Abstain with detailed categorization - Historical Analysis: Complete voting history enabling pattern analysis
Legislative Process Flow¶
1. Case Initiation¶
The legislative process begins when a Sag (Case) is introduced to parliament. Cases are categorized by Sagstype with 13 distinct types:
- Lovforslag - Legislative bills proposing new laws
- Beslutningsforslag - Parliamentary resolutions
- Forespørgsel - Parliamentary inquiries to ministers
- § 20-spørgsmål - Question time inquiries
- Aktstykke - Administrative matters requiring parliamentary approval
Each case is assigned a unique identifier and progresses through a defined workflow tracked via Sagsstatus (68 detailed status types).
2. Committee Processing¶
Cases are typically referred to parliamentary committees (Udvalg) for detailed examination:
- Committee Structure
- Specialized committees handle different policy areas (Finance, Legal Affairs, Environment, etc.)
- Committee Workflow
- Documents are reviewed, hearings conducted, and recommendations prepared for the full parliament
- Actor Participation
- Committee members, ministers, and other stakeholders participate through SagAktør relationships with specific roles
3. Parliamentary Deliberation¶
Møde (Meeting) entities capture formal parliamentary sessions where cases are debated:
- Structured Agenda: Dagsordenspunkt (Agenda Items) organize session content
- Document Integration: DagsordenspunktDokument links relevant documents to agenda items
- Case Discussion: DagsordenspunktSag connects cases to agenda items
4. Voting and Decision¶
Formal decisions are recorded through the voting system:
- Vote Management
- Afstemning entities capture voting sessions with outcomes and procedural details
- Individual Records
- Stemme entities record how each parliamentarian voted, enabling accountability analysis
- Decision Implementation
- Final case status reflects parliamentary decision (adopted, rejected, withdrawn, etc.)
Committee System Integration¶
Committee Structure¶
The Danish Parliament operates through a comprehensive committee system represented in the data model:
- Committee Types
- Standing committees, special committees, and joint committees with the EU
- Membership Tracking
- MødeAktør relationships track committee participation and attendance
- Workflow Integration
- Cases flow through committees via SagAktør relationships specifying committee handling
Committee Workflow Patterns¶
- Referral Phase: Cases assigned to relevant committees based on subject matter
- Examination Phase: Detailed review, hearings, and stakeholder consultation
- Reporting Phase: Committee recommendations prepared for parliamentary consideration
- Decision Phase: Parliament votes on committee recommendations
Voting Procedures and Decision-Making¶
Voting System Architecture¶
- Formal Votes
- Afstemning entities capture official parliamentary votes with complete metadata: - Vote timing and procedural context - Vote counts (for/against/abstain) - Connection to specific cases and case steps
- Individual Voting Records
- Stemme entities provide granular voting data: - Each parliamentarian's vote on each issue - Vote type classification (7 distinct vote types) - Historical voting pattern analysis capabilities
- Vote Types Available
- The system tracks various vote categories including standard votes, procedural votes, and abstentions
Decision-Making Process¶
Decisions flow through a structured process:
- Proposal Stage: Initial case introduction and referral
- Committee Stage: Detailed examination and recommendation
- Parliamentary Stage: Debate and formal consideration
- Voting Stage: Formal decision-making through recorded votes
- Implementation Stage: Final status recording and follow-up
Document Flow Through Legislative Process¶
Document Architecture¶
- Dokument (Document)
- Parliamentary documents are central to the legislative process: - Rich Metadata: Document types, statuses, and categorization - Full-Text Content: Complete document text when available - File Attachments: Fil entities provide downloadable PDFs and other formats
- Document-Case Integration
- SagDokument relationships connect documents to specific cases with role-based semantics
- Document-Actor Relationships
- DokumentAktør connections specify who authored, received, or processed each document
Document Workflow¶
Parliamentary documents follow a structured workflow:
- Creation: Authors draft proposals, responses, or administrative documents
- Submission: Documents formally submitted to parliamentary administration
- Distribution: Documents distributed to relevant committees and stakeholders
- Processing: Documents reviewed, amended, and processed through committees
- Archival: Final documents archived with complete metadata and relationships
Actor Roles and Responsibilities¶
Role-Based Process Participation¶
The parliamentary process involves multiple types of actors with specific roles:
- Actor Types (13 categories)
- Including politicians, committees, ministries, and external organizations
- Case Actor Roles (23 types)
- Specific roles actors play in case processing: - Forslagsstiller (Proposer) - Initiates legislation - Ordfører (Spokesperson) - Committee representative - Minister - Government representative - Taler (Speaker) - Parliamentary speaker
- Document Actor Roles (25 types)
- Communication and document handling roles: - Afsender (Sender) - Document author - Modtager (Recipient) - Document recipient - BCC - Blind copy recipient
Responsibility Patterns¶
Roles define specific responsibilities within the parliamentary process:
- Legislative Initiative: Who can propose legislation and under what circumstances
- Review Authority: Which committees and actors have review responsibilities
- Decision Authority: Who can make binding decisions at different process stages
- Communication Flow: How documents and information flow between actors
Process Timing and Scheduling¶
Temporal Patterns¶
Parliamentary processes follow structured timing patterns:
- Parliamentary Periods
- Periode entities define parliamentary sessions with precise start/end dates
- Meeting Scheduling
- Møde entities capture scheduled parliamentary sessions with advance planning
- Real-Time Updates
- API data reflects current parliamentary activity with near real-time updates (within hours)
Scheduling Analysis¶
The temporal data enables analysis of:
- Processing Duration: Time from case introduction to final decision
- Committee Efficiency: How quickly committees process referred cases
- Seasonal Patterns: Parliamentary activity patterns throughout the year
- Workflow Bottlenecks: Where cases experience delays in processing
Navigation to Detailed Process Documentation¶
This overview provides the foundation for understanding the parliamentary process data model. Detailed documentation is available in the following sections:
Legislative Flow¶
Comprehensive guide to how legislation moves through the parliamentary system, from initial proposal through final enactment. Covers the complete case lifecycle with detailed process maps.
Committee System¶
Detailed examination of the parliamentary committee structure, including committee types, membership patterns, workflow processes, and inter-committee relationships.
Voting Procedures¶
Complete guide to parliamentary voting mechanisms, including vote types, procedures, recording systems, and analysis techniques for voting pattern research.
Best Practices for Parliamentary Workflow Modeling¶
Data Model Understanding¶
- Start with Core Entities
- Focus on Sag, Afstemning, Stemme, and Aktør for 80% of analytical value
- Leverage Relationships
- Use junction tables (SagAktør, DokumentAktør, etc.) to understand process participation
- Temporal Analysis
- Utilize timestamp fields for process timing and efficiency analysis
Query Optimization Patterns¶
- Expand Strategically
- Use
$expandto retrieve related data efficiently: - Filter Early
- Apply filters before expansions to reduce processing overhead:
- Select Appropriately
- Use
$selectto retrieve only necessary fields for large datasets:
Process Analysis Techniques¶
- Case Flow Analysis
- Track cases through their complete lifecycle using Sagstrin and status progression
- Actor Network Analysis
- Analyze collaboration patterns through SagAktør and DokumentAktør relationships
- Temporal Trend Analysis
- Use historical data to identify patterns in parliamentary activity and decision-making
- Voting Pattern Analysis
- Combine Afstemning and Stemme data to analyze political alignment and voting behavior
Performance Considerations¶
- Pagination Strategy
- Use
$topand$skipfor large datasets (max 1,000 records per request recommended) - Concurrent Processing
- API supports concurrent requests for parallel data retrieval
- Change Detection
- Use
opdateringsdatotimestamps for efficient change monitoring and data synchronization
The Danish Parliamentary API provides unprecedented access to democratic processes through a well-structured data model that enables sophisticated analysis of legislative activity, political behavior, and institutional effectiveness.