WITH pvt_cte AS ( SELECT ct.ordernumber, ct."Special Observation Level", ct."Reason for Observation", ct."Milieu Location", ct."Observation Level Comment", ct."Milieu Location Comment" FROM mat.crosstab( ' SELECT oqq.omordid, mqm.text AS name, oqq.queryresponse AS elementresponse FROM mat.omord_queries_queries oqq LEFT JOIN mat.misqry_main mqm ON mqm.misqryid = oqq.queryid WHERE oqq.queryid IN ( ''OM.COMMENT.OBS'', ''OM.OBS.COMM.MIL'' ) UNION SELECT oqqm.omordid, mgrm.name, mgrge.elementresponse FROM mat.omord_queries_queriesmult oqqm LEFT JOIN mat.misgroupresp_main mgrm ON oqqm.querygroupresponse_misgrouprespid = mgrm.misgrouprespid LEFT JOIN mat.misgroupresp_groupelements mgrge ON oqqm.querygroupresponse_misgrouprespid = mgrge.misgrouprespid AND oqqm.queryresponse = mgrge.elementmnemonicid WHERE oqqm.querygroupresponse_misgrouprespid IN ( ''OM.OBS.MILIEU'', ''OM.OBS.LEVEL'', ''OM.SPECOBSREAS'' ) ORDER BY 1, 2 '::text, ' SELECT * FROM ( VALUES (''Special Observation Levels''), (''Reason for Observation''), (''Milieu Location''), (''Observation Level Comment''), (''Milieu Location Comment'') ) x(x) '::text ) AS ct ( ordernumber varchar, "Special Observation Level" varchar, "Reason for Observation" varchar, "Milieu Location" varchar, "Observation Level Comment" varchar, "Milieu Location Comment" varchar ) ), edits_cte AS ( SELECT omordid, rowupdatedatetime AS "Edit Date", CASE activityevent WHEN 'Query Observation Level edited: ' THEN 'Observation Level' WHEN 'Query Milieu Location edited: ' THEN 'Milieu Location' WHEN 'Query Reason for Observation edited: ' THEN 'Reason for Observation' END AS "Edit Field", REPLACE( REPLACE( REPLACE(activityoldvalue, '}', ''), '{', '' ), '|', ', ' ) AS "Old Value", REPLACE( REPLACE( REPLACE(activitynewvalue, '}', ''), '{', '' ), '|', ', ' ) AS "New Value" FROM mat.omord_activities WHERE activityevent IN ( 'Query Reason for Observation edited: ', 'Query Milieu Location edited: ', 'Query Observation Level edited: ' ) ) SELECT ram.accountnumber AS "Account", ram.location_mislocid AS "Program", hrmrn.prefixmedicalrecordnumber AS "MRN", hrm.name AS "Patient Name", oom.omordid AS "Order Number", oom3.startdatetime AS "Order Start", oom3.status AS "Order Status", pvt."Special Observation Level", pvt."Reason for Observation", pvt."Milieu Location", pvt."Observation Level Comment", pvt."Milieu Location Comment", edits."Edit Date", edits."Edit Field", edits."Old Value", edits."New Value" FROM mat.regacct_main ram JOIN mat.himrec_main hrm ON hrm.sourceid = ram.sourceid AND hrm.patientid = ram.patientid LEFT JOIN mat.misfac_main mfm ON ram.sourceid::text = mfm.sourceid::text AND ram.facility_misfacid::text = mfm.misfacid::text LEFT JOIN mat.mishimdept_main mhdm ON mfm.sourceid::text = mhdm.sourceid::text AND mfm.himdepartment_mishimdeptid::text = mhdm.mishimdeptid::text LEFT JOIN mat.himrec_medicalrecordnumbers hrmrn ON ram.sourceid = hrmrn.sourceid AND ram.patientid = hrmrn.patientid AND mhdm.medicalrecordnumberprefix = hrmrn.mrnprefixid JOIN mat.omord_main oom ON ram.sourceid = oom.sourceid AND ram.visitid = oom.visitid LEFT JOIN mat.omord_main2 oom2 ON oom2.sourceid = oom.sourceid AND oom2.omordid = oom.omordid LEFT JOIN mat.omorddict_main oodm ON oodm.sourceid = oom2.sourceid AND oodm.omorddictid = oom2.procedure_omorddictid LEFT JOIN mat.omord_main3 oom3 ON oom3.sourceid = oom.sourceid AND oom3.omordid = oom.omordid JOIN pvt_cte pvt ON oom.omordid = pvt.ordernumber LEFT JOIN edits_cte edits ON edits.omordid = oom.omordid AND ( ( edits."Edit Field" = 'Milieu Location' AND ( edits."Old Value" LIKE '%LSA%' OR edits."New Value" LIKE '%LSA%' ) ) OR ( edits."Edit Field" = 'Observation Level' AND ( edits."Old Value" LIKE '%1%' OR edits."Old Value" LIKE '%CVO%' OR edits."New Value" LIKE '%1%' OR edits."New Value" LIKE '%CVO%' ) ) ) WHERE pvt."Special Observation Level" LIKE '%CVO%' OR pvt."Special Observation Level" LIKE '%1%' OR pvt."Milieu Location" LIKE '%LSA%' OR edits."Edit Field" IS NOT NULL ORDER BY oom.omordid, oom3.startdatetime, edits."Edit Date";