200 lines
No EOL
5.4 KiB
Text
200 lines
No EOL
5.4 KiB
Text
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"; |