|
sharona
Yak Posting Veteran
75 Posts |
Posted - 2011-04-22 : 10:42:00
|
| i have the following procedure that feeds a temp table then updates to the final table values based upon specific notes. my problem is that 2 vlaues which come from one note update to a different row, and the other values which come from a different note update to another row. not sure how to get it to update properly. i tried a union query, a nested query. --exec dbo.NYP_ld_triage_rpt '04/05/2011', '04/15/2011'CREATE PROCEDURE [dbo].[NYP_ld_triage_rpt] ( @StartDate datetime, @EndDate datetime)ASBEGINCREATE TABLE #FINAL( Site varchar(10), Campus varchar(30), ClientDocGUID numeric(16,0), ClientVisitGUID numeric(16,0), PatCareDocGUID numeric(16,0), PATIENT varchar(50), MRN varchar(20), EncNumber varchar(20), CHIEF_COMPLAINT VARCHAR(2000), GESTATIONAL_AGE_WEEKS VARCHAR(2000), GESTATIONAL_AGE_DAYS VARCHAR(2000), TIME_PATIENT_ARRIVAL Datetime, TIME_IN_BED DATETIME, TIME_INIT_NURSE_ASSES DATETIME, TIME_INIT_PHYS_ASSES DATETIME, TIME_INIT_ORDERS DATETIME, OrderRoleType VARCHAR(255), TIME_DISPOSITION DATETIME, DISPOSITION varchar(2000), cat_name VARCHAR(250), Value_TEXT varchar(2000), ChartedValue VARCHAR(2000), ChartedValue2 VARCHAR(2000)) --Get all patients who had a PALLIATIVE CARE CONSULT Note within the select date time SELECT DISTINCT Site = 'WEST', Campus = CASE when loc.ParentGUID = 2000001000061001 then 'Allen Hospital' when loc.ParentGUID = 4000001145061001 then 'Milstein Hospital' when loc.ParentGUID = 8000001069061001 then 'MS CHONY' END, cv.GUID AS ClientVisitGUID, cd.GUID as ClientDocGUID, cd.PatCareDocGUID as PatCareDocGUID, cv.IDCode AS MRN, cv.VisitIDCode AS EncNumber, cv.ClientDisplayName AS PATIENT, cv.AdmitDtm AS TIME_PATIENT_ARRIVAL, cv.DischargeDtm AS DISCHARGE_DATE, CD.DOCUMENTNAME AS NOTE_NAME, obsCatalog.Name as cat_name, --ISNULL(obser.ValueText, obsFS.Value) AS Value_TEXT, --[DBO].[NYP_AddObsValue_Fn] (cv.guid, obserdoc.ObservationDocumentGUID) AS ChartedValue, ISNULL(obser.valuetext,[DBO].[NYP_AddObsValue_Fn] (cv.guid, obserdoc.ObservationDocumentGUID)) AS ChartedValue2, CD.AuthoredDtm AS TIME_INIT_NURSE_ASSES, CD.AuthoredDtm AS TIME_INIT_PHYS_ASSES, min(X.min_order_date) AS TIME_INIT_ORDERSINTO #RESULTFROM dbo.CV3ClientVisit AS cv INNER JOIN dbo.CV3Location AS loc ON cv.CurrentLocationGUID = loc.GUID INNER JOIN dbo.CV3ClientDocument AS cd ON cv.GUID = cd.ClientVisitGUID INNER JOIN dbo.CV3ObservationDocument AS obserdoc ON cd.GUID = obserdoc.OwnerGUID INNER JOIN dbo.CV3Observation AS obser ON obser.GUID = obserdoc.ObservationGUID INNER JOIN dbo.CV3ObsCatalogItem AS obscatitem ON obscatitem.GUID = obser.ObsItemGUID INNER JOIN dbo.CV3ObsCatalogMasterItem AS obsCatalog ON obsCatalog.GUID = obscatitem.MasterObsGUID INNER JOIN dbo.CV3Client as c ON cv.ClientGUID = c.GUID LEFT OUTER JOIN dbo.SCMObsFSListValues AS obsFS ON obsFS.ParentGUID = obserdoc.ObservationDocumentGUIDjoin (SELECT ClientVisitGUID, MIN(RequestedDtm) AS min_order_date, dbo.CV3User.OrderRoleType FROM dbo.CV3Order INNER JOIN dbo.CV3User ON dbo.CV3Order.UserGUID = dbo.CV3User.GUID where OrderRoleType in ('Resident', 'NP','PA') GROUP BY ClientVisitGUID,OrderRoleType) x on x.clientvisitguid=cv.GUIDWHERE --cd.PatCareDocGUID in ('8502020','498102020')-- dev guids (cd.PatCareDocGUID IN ('9000001670102020',--Nursing OB Triage History --'4000001085202001',--Nursing OB Triage History '1000001197202001'))--OB Triage Note - Allen AND loc.ParentGUID in('2000001000061001','4000001145061001 ','8000001069061001') AND cv.TypeCode = 'Inpatient' and cv.idcode='285 85 91' --and cd.AuthoredDtm BETWEEN @Start_Date AND @End_Date and obsCatalog.Name in('nsg_OBTriageHx_AdmData_arrival_time','nsg_OBTriageHx_pt_disposition_dt1', 'note_OB_Triage_chiefcomp_ls','note_OB_Delivery_GA_weeks_ft', 'note_OB_Delivery_GA_days_ft','note_OB_Triage_Admit_ls')group BY Site ,loc.ParentGUID , cv.GUID, cd.GUID, cd.PatCareDocGUID, cv.IDCode, cv.VisitIDCode, cv.ClientDisplayName, cv.AdmitDtm , cv.DischargeDtm , CD.DOCUMENTNAME, obsCatalog.Name, obser.ValueText, obsFS.Value, cv.guid, obserdoc.ObservationDocumentGUID, obser.valuetext, CD.AuthoredDtmselect * from #result--Add all data to the final tableINSERT #Final( Site, Campus, ClientDocGUID, ClientVisitGUID, PATIENT, MRN, EncNumber, TIME_PATIENT_ARRIVAL, TIME_INIT_NURSE_ASSES, TIME_INIT_PHYS_ASSES)SELECT Site, Campus, ClientDocGUID, ClientVisitGUID, PATIENT, MRN, EncNumber, TIME_PATIENT_ARRIVAL, TIME_INIT_NURSE_ASSES, TIME_INIT_PHYS_ASSESFROM #Resultgroup by Site, Campus, ClientDocGUID, ClientVisitGUID, PATIENT, MRN, EncNumber, TIME_PATIENT_ARRIVAL, TIME_INIT_NURSE_ASSES, TIME_INIT_PHYS_ASSES-- Update final table to assign Date and Time for Result Received and Result Communicated (Notification)for each patientUPDATE #FinalSET TIME_INIT_ORDERS = R.TIME_INIT_ORDERSFROM #Result r, #Final fWHERE f.ClientDocGUID = r.ClientDocGUID UPDATE #FinalSET GESTATIONAL_AGE_WEEKS = R.ChartedValue2FROM #Result r, #Final fWHERE f.ClientDocGUID = r.ClientDocGUID AND r.cat_name = 'note_OB_Delivery_GA_weeks_ft'UPDATE #FinalSET GESTATIONAL_AGE_DAYS = R.ChartedValue2FROM #Result r, #Final fWHERE f.ClientDocGUID = r.ClientDocGUID AND r.cat_name = 'note_OB_Delivery_GA_days_ft' UPDATE #FinalSET TIME_IN_BED = R.ChartedValue2FROM #Result r, #Final fWHERE f.ClientDocGUID = r.ClientDocGUID AND r.cat_name = 'nsg_OBTriageHx_AdmData_arrival_time'UPDATE #FinalSET TIME_DISPOSITION= R.ChartedValue2FROM #Result r, #Final fWHERE f.ClientDocGUID = r.ClientDocGUID AND r.cat_name = 'nsg_OBTriageHx_pt_disposition_dt1' UPDATE #FinalSET DISPOSITION = R.ChartedValue2FROM #Result r, #Final fWHERE f.ClientDocGUID = r.ClientDocGUID AND r.cat_name ='note_OB_Triage_Admit_ls'UPDATE #FinalSET CHIEF_COMPLAINT =R.ChartedValue2FROM #Result r, #Final fWHERE f.ClientDocGUID = r.ClientDocGUID AND r.cat_name ='note_OB_Triage_chiefcomp_ls'--Final select SELECT DISTINCT Site, Campus, PATIENT, MRN, EncNumber, CHIEF_COMPLAINT, GESTATIONAL_AGE_WEEKS, GESTATIONAL_AGE_DAYS, TIME_PATIENT_ARRIVAL, TIME_IN_BED, TIME_INIT_NURSE_ASSES, TIME_INIT_PHYS_ASSES, min(TIME_INIT_ORDERS) as INIT_ORDER_TIME, TIME_DISPOSITION, DISPOSITION FROM #Finalgroup BY Site, Campus, PATIENT, MRN, EncNumber, CHIEF_COMPLAINT, GESTATIONAL_AGE_WEEKS, GESTATIONAL_AGE_DAYS, TIME_PATIENT_ARRIVAL, TIME_IN_BED, TIME_INIT_NURSE_ASSES, TIME_INIT_PHYS_ASSES, TIME_DISPOSITION, DISPOSITIONDROP TABLE #ResultDROP TABLE #FinalENDIF OBJECT_ID('dbo.NYP_ld_triage_rpt') IS NOT NULL PRINT '<<< CREATED PROCEDURE dbo.NYP_ld_triage_rpt >>>'ELSE PRINT '<<< FAILED CREATING PROCEDURE dbo.NYP_ld_triage_rpt >>>'goGRANT EXECUTE ON dbo.NYP_ld_triage_rpt TO public;GRANT EXECUTE ON dbo.NYP_ld_triage_rpt TO crystalGOSET ANSI_NULLS OFFgoSET QUOTED_IDENTIFIER OFF |
|