special obs audit
pulls special obs orders and maths the time of order
This commit is contained in:
parent
2972eea7c5
commit
57aa7da70f
1 changed files with 200 additions and 0 deletions
200
spec_obs_audit
Normal file
200
spec_obs_audit
Normal file
|
|
@ -0,0 +1,200 @@
|
|||
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";
|
||||
Loading…
Add table
Reference in a new issue