diff --git a/nirc_ehr/resources/etls/ProjectAndAssignment.xml b/nirc_ehr/resources/etls/ProjectAndAssignment.xml
index 79c70c02..b5335943 100644
--- a/nirc_ehr/resources/etls/ProjectAndAssignment.xml
+++ b/nirc_ehr/resources/etls/ProjectAndAssignment.xml
@@ -20,6 +20,7 @@
bulkLoad="true" batchSize="5000" targetOption="truncate">
+
diff --git a/nirc_ehr/resources/etls/birth.xml b/nirc_ehr/resources/etls/birth.xml
index ed0e94c9..2c499629 100644
--- a/nirc_ehr/resources/etls/birth.xml
+++ b/nirc_ehr/resources/etls/birth.xml
@@ -13,6 +13,7 @@
+
diff --git a/nirc_ehr/resources/etls/deaths.xml b/nirc_ehr/resources/etls/deaths.xml
index d45b534a..483479df 100644
--- a/nirc_ehr/resources/etls/deaths.xml
+++ b/nirc_ehr/resources/etls/deaths.xml
@@ -13,6 +13,7 @@
+
diff --git a/nirc_ehr/resources/etls/demographics.xml b/nirc_ehr/resources/etls/demographics.xml
index 539ff336..6f3f587c 100644
--- a/nirc_ehr/resources/etls/demographics.xml
+++ b/nirc_ehr/resources/etls/demographics.xml
@@ -13,6 +13,7 @@
+
diff --git a/nirc_ehr/resources/queries/dbo/q_births.sql b/nirc_ehr/resources/queries/dbo/q_births.sql
index 3268c6cf..9dee8a1f 100644
--- a/nirc_ehr/resources/queries/dbo/q_births.sql
+++ b/nirc_ehr/resources/queries/dbo/q_births.sql
@@ -1,5 +1,9 @@
SELECT anm.ANIMAL_ID_NUMBER AS participantId,
anm.BIRTH_DATE AS birthDate,
+ (CASE
+ WHEN (ae.STAFF_ID.STAFF_FIRST_NAME IS NULL OR ae.STAFF_ID.STAFF_LAST_NAME IS NULL) THEN 'unknown'
+ ELSE (trim(ae.STAFF_ID.STAFF_FIRST_NAME)
+ || '|' || trim(ae.STAFF_ID.STAFF_LAST_NAME)) END) AS performedby,
-- audit timestamp for modifications or animal event received for created
COALESCE(MAX(CAST(adt.CHANGE_DATETIME AS TIMESTAMP)), ae.CREATED_DATETIME) AS modified
FROM Animal anm
@@ -12,4 +16,6 @@ AND anm.ANIMAL_ID_NUMBER LIKE 'A%' -- Animal born in centers are pre-appended wi
AND alt.DESCRIPTION IS NOT NULL
GROUP BY anm.ANIMAL_ID_NUMBER,
anm.BIRTH_DATE,
+ ae.STAFF_ID.STAFF_FIRST_NAME,
+ ae.STAFF_ID.STAFF_LAST_NAME,
ae.CREATED_DATETIME
\ No newline at end of file
diff --git a/nirc_ehr/resources/queries/dbo/q_deaths.sql b/nirc_ehr/resources/queries/dbo/q_deaths.sql
index 4093d8da..fcbc37d8 100644
--- a/nirc_ehr/resources/queries/dbo/q_deaths.sql
+++ b/nirc_ehr/resources/queries/dbo/q_deaths.sql
@@ -2,6 +2,10 @@
SELECT an.ANIMAL_ID_NUMBER AS participantId,
an.DEATH_DATE AS deathDate,
an.TERMINATION_REASON_ID as reason,
+ (CASE
+ WHEN (ae.STAFF_ID.STAFF_FIRST_NAME IS NULL OR ae.STAFF_ID.STAFF_LAST_NAME IS NULL) THEN 'unknown'
+ ELSE (trim(ae.STAFF_ID.STAFF_FIRST_NAME)
+ || '|' || trim(ae.STAFF_ID.STAFF_LAST_NAME)) END) AS performedby,
COALESCE(MAX(CAST(adt.CHANGE_DATETIME AS TIMESTAMP)), ae.CREATED_DATETIME) AS modified
FROM Animal an
LEFT JOIN AUDIT_TRAIL adt ON an.ANIMAL_ID = substring(PRIMARY_KEY_VALUES, length('ANIMAL_ID = '))
@@ -12,4 +16,6 @@ AND an.TERMINATION_REASON_ID != 10 -- Invalid Id
GROUP BY an.ANIMAL_ID_NUMBER,
an.DEATH_DATE,
an.TERMINATION_REASON_ID,
+ ae.STAFF_ID.STAFF_FIRST_NAME,
+ ae.STAFF_ID.STAFF_LAST_NAME,
ae.CREATED_DATETIME
\ No newline at end of file
diff --git a/nirc_ehr/src/org/labkey/nirc_ehr/table/NIRC_EHRSharedDatasetTrigger.java b/nirc_ehr/src/org/labkey/nirc_ehr/table/NIRC_EHRSharedDatasetTrigger.java
index 9f157ab3..5b9cf3c5 100644
--- a/nirc_ehr/src/org/labkey/nirc_ehr/table/NIRC_EHRSharedDatasetTrigger.java
+++ b/nirc_ehr/src/org/labkey/nirc_ehr/table/NIRC_EHRSharedDatasetTrigger.java
@@ -26,11 +26,7 @@ private void verifyPerformedBy(TableInfo table, @Nullable Map ne
{
if (newRow != null && newRow.containsKey("performedby") && newRow.get("performedby") == null)
{
- if (!newRow.containsKey("QCStateLabel") || newRow.get("QCStateLabel") == null)
- {
- errors.addFieldError("performedby", "Record in " + table.getTitle() + " cannot be submitted without Performed By if QCStateLabel is not found. Contact your administrator.");
- }
- else if (newRow.containsKey("QCStateLabel") && newRow.get("QCStateLabel").equals("Completed"))
+ if (newRow.containsKey("QCStateLabel") && "Completed".equals(newRow.get("QCStateLabel")))
{
errors.addFieldError("performedby", "Performed By must be entered in all records before submitting final. Table: " + table.getTitle());
}