diff --git a/lib/quby/compiler/entities/outcome_table.rb b/lib/quby/compiler/entities/outcome_table.rb
index 82933ec1613543f780392050fb4e836ad9785c1d..06654c0c9448cf077b93a2e3e6457664c41ab46f 100644
--- a/lib/quby/compiler/entities/outcome_table.rb
+++ b/lib/quby/compiler/entities/outcome_table.rb
@@ -12,6 +12,7 @@ module Quby
         include ActiveModel::Model
         attr_accessor :score_keys, :subscore_keys, :name, :default_collapsed, :questionnaire, :key
 
+        validates :score_keys, :subscore_keys, :questionnaire, :key, presence: true
         validates :name, presence: true, if: proc { |table| table.default_collapsed }
         validate :references_existing_score_keys
         validate :no_outcome_tables_defined_in_score_schemas