Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Query prompts for FIN in Oracle SQL Developer
- WITH CTE_CODE_VALUE AS (
- SELECT CODE_VALUE, DISPLAY
- FROM CODE_VALUE
- WHERE ACTIVE_IND = 1
- ), CTE_SURGINET AS (
- SELECT EA.ALIAS AS FIN, AREA.DISPLAY AS UNIT, OP_LOC.DISPLAY AS ROOM, NULL AS BED, SC.CHECKIN_DT_TM AS ACTIVITY_DT_TM
- FROM SURGICAL_CASE SC
- INNER JOIN SURG_CASE_PROCEDURE SCP
- ON SC.SURG_CASE_ID = SCP.SURG_CASE_ID
- INNER JOIN ENCNTR_ALIAS EA
- ON SC.ENCNTR_ID = EA.ENCNTR_ID
- AND EA.ENCNTR_ALIAS_TYPE_CD = 1077 -- FIN
- LEFT JOIN CTE_CODE_VALUE INST
- ON SC.INST_CD = INST.CODE_VALUE
- LEFT JOIN CTE_CODE_VALUE DEPT
- ON SC.DEPT_CD = DEPT.CODE_VALUE
- LEFT JOIN CTE_CODE_VALUE AREA
- ON SC.SURG_AREA_CD = AREA.CODE_VALUE
- LEFT JOIN CTE_CODE_VALUE OP_LOC
- ON SC.SURG_OP_LOC_CD = OP_LOC.CODE_VALUE
- WHERE 1=1
- AND EA.ALIAS = :FIN
- ), CTE_ENCNTR_LOC_HIST AS (
- SELECT EA.ALIAS AS FIN, UNIT.DISPLAY AS UNIT, ROOM.DISPLAY AS ROOM, BED.DISPLAY AS BED, ELH.ACTIVITY_DT_TM
- FROM ENCNTR_LOC_HIST ELH
- INNER JOIN ENCNTR_ALIAS EA
- ON ELH.ENCNTR_ID = EA.ENCNTR_ID
- AND EA.ENCNTR_ALIAS_TYPE_CD = 1077 -- FIN
- LEFT JOIN CTE_CODE_VALUE UNIT
- ON ELH.LOC_NURSE_UNIT_CD = UNIT.CODE_VALUE
- LEFT JOIN CTE_CODE_VALUE ROOM
- ON ELH.LOC_ROOM_CD = ROOM.CODE_VALUE
- LEFT JOIN CTE_CODE_VALUE BED
- ON ELH.LOC_BED_CD = BED.CODE_VALUE
- WHERE 1=1
- AND EA.ALIAS = :FIN
- AND ELH.ACTIVE_IND = 1
- AND ELH.ENCNTR_TYPE_CLASS_CD <> 0 -- Removes rows created after discharge
- --ORDER BY ELH.ACTIVITY_DT_TM ASC
- )
- SELECT FIN, UNIT, ROOM, BED, ACTIVITY_DT_TM
- FROM CTE_SURGINET
- UNION ALL
- SELECT FIN, UNIT, ROOM, BED, ACTIVITY_DT_TM
- FROM CTE_ENCNTR_LOC_HIST
- ORDER BY ACTIVITY_DT_TM ASC
- ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement