diff --git a/extensions/openpower-pels/user_header.cpp b/extensions/openpower-pels/user_header.cpp
index e5e8abb..6dfbc09 100644
--- a/extensions/openpower-pels/user_header.cpp
+++ b/extensions/openpower-pels/user_header.cpp
@@ -1,6 +1,7 @@
 #include "user_header.hpp"
 
 #include "pel_types.hpp"
+#include "severity.hpp"
 
 #include <phosphor-logging/log.hpp>
 
@@ -25,6 +26,43 @@
            << _actionFlags << _reserved4Byte2;
 }
 
+UserHeader::UserHeader(const message::Entry& entry,
+                       phosphor::logging::Entry::Level severity)
+{
+    _header.id = static_cast<uint16_t>(SectionID::userHeader);
+    _header.size = UserHeader::flattenedSize();
+    _header.version = userHeaderVersion;
+    _header.subType = 0;
+    _header.componentID = static_cast<uint16_t>(ComponentID::phosphorLogging);
+
+    _eventSubsystem = entry.subsystem;
+
+    _eventScope = entry.eventScope.value_or(
+        static_cast<uint8_t>(EventScope::entirePlatform));
+
+    // Get the severity from the registry if it's there, otherwise get it
+    // from the OpenBMC event log severity value.
+    _eventSeverity =
+        entry.severity.value_or(convertOBMCSeverityToPEL(severity));
+
+    // TODO: ibm-dev/dev/#1144 Handle manufacturing sev & action flags
+
+    _eventType = entry.eventType.value_or(
+        static_cast<uint8_t>(EventType::notApplicable));
+
+    _reserved4Byte1 = 0;
+
+    // No uses for problem domain or vector
+    _problemDomain = 0;
+    _problemVector = 0;
+
+    _actionFlags = entry.actionFlags;
+
+    _reserved4Byte2 = 0;
+
+    _valid = true;
+}
+
 UserHeader::UserHeader(Stream& pel)
 {
     try
