USE [LABORATORY] GO /****** Object: StoredProcedure [dbo].[Lab_FormMaker_SaveResultWithNormalValues] Script Date: 02/14/2018 17:55:28 ******/ SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO ALTER PROCEDURE [dbo].[Lab_FormMaker_SaveResultWithNormalValues] @RequestNum varchar(10), @ItemID varchar (5), @StrResult varchar (50) , -- sResult @StrNValues varchar (50), -- sNValue @Unit varchar (15) , -- sUnit @MinValue float, -- sMinValue @Maxvalue float, -- sMaxValue @ConvStrResult varchar (50) , -- cResult @ConvStrNValues varchar (50) , -- cNValue @ConvUnit varchar(15), -- cUnit @ConvMinValue float, -- cMinValue @ConvMaxValue float, -- cMaxValue @Factor float, -- Factor @FormType varchar (1) , -- Formtype @SortOrder int, @AccessionNum varchar (15) , @Remarks text, @NVpct varchar (50) = '', @SampleSubmitted varchar(30), @LRARecordedTime varchar(30), @MedTechID varchar(5), @UserID varchar (8), @VerifyMode varchar(1), -- 'Y' = True 'N' = False @Method varchar(50) = null, @FinishedDate varchar(30) = null AS Declare @tempSIResult float, @tempCResult float Declare @ReaderId varchar(10), @BatchNum int, @EntryMode varchar(1) Declare @IdNum varchar(10), @HospNum varchar(10), @VerifyDate varchar(10), @ExamID varchar(4) Begin Tran; Set @EntryMode = '1'; Declare @NurseRequestNum varchar(10) If not exists (Select RequestNum from Laboratory..tbLabLogbook where RequestNum = @RequestNum) Begin Set @NurseRequestNum = (Select top 1 IsNull(NurseRequestNum,'') from tbLabMaster where RequestNum = @RequestNum); /* ******** Update LabMaster *********** */ Update tbLabMaster Set RequestStatus='W' Where RequestNum=@RequestNum; /* ******** Append LabLogBook ******* */ Insert Into tbLabLogBook (HospNum, RequestNum, IDNum, LabExamID, LabSectionID, RoomID, TransDate, ResultDate, DoctorID, FormType, Compare, UserID, RefNum, Amount, PatientType,MedTechID, SpecimenId, SampleSubmitted, LRARecordedTime, AccessionNum, BatchNum) Select L.HospNum, L.RequestNum, L.IdNum, L.ItemID, L.SectionID, L.RoomId, L.TransDate, getdate(), L.DoctorID, E.FormType, '' as Compare, @UserId, L.RefNum, L.Amount, L.PatientType, @MedTechID, L.SpecimenId, @SampleSubmitted, @LRARecordedTime, @AccessionNum, @BatchNum From tbLabMaster L left Outer Join Build_File..tbCoLabValues E on E.code = L.ItemId Where RequestNum = @RequestNum; Select @IdNum = IdNum, @HospNum = HospNum, @VerifyDate = VerifyDate, @ExamId = LabExamID from tbLabLogbook where RequestNum = @RequestNum; Insert Into tbLabLogbook2 (RequestNum, SampleSubmitted, LRARecordedTime, LabSectionID) Select @RequestNum, @sampleSubmitted, @LRARecordedTime, SectionID From tbLabMaster Where RequestNum = @RequestNum; If IsNull(@ReaderID,'') <> '' BEGIN Update tbLabMaster Set ProfId = @ReaderId Where RequestNum = @RequestNum; END; IF IsNull(@NurseRequestNum,'') <> '' BEGIN Update station..tbNurseCommunicationFile Set RecordStatus='W' Where RequestNum = @NurseRequestNum and Revenueid = 'LB'; /* ********************************** Update tbNurseLogBook ****************************** */ Update Station..tbNurseLogBook Set RecordStatus='W' Where RequestNum = @NurseRequestNum and Revenueid = 'LB'; END; End; --~*~*~*~* BEGIN VERIFY RESULTS ~*~*~*~*-- If isnull(@VerifyMode,'N') = 'Y' Begin Declare @StationID varchar(4), @RoomID varchar(10), @ERPatient bit, @OPService bit Set @OPService = (Select IsNull(OPService,0) From tbLabMaster Where RequestNum = @RequestNum); Set @RoomId = (Select top 1 RoomId From tbLabLogbook where RequestNum = @RequestNum); Set @StationID = (Select StationId From Build_File..tbCoRoom Where RoomID = @RoomID); Set @IDNum = (Select IDNum From tbLabLogbook where RequestNum = @RequestNum); if exists(Select IsNull(ERNum,'') from Patient_Data..tbOutPatient where IdNum = @IdNum) Begin Set @ERPatient = 1 Set @StationId = 'ER' End Else Set @ERPatient = 0 /***** Verify Results *****/ Update tbLabLogBook Set VerifyID = @UserID, VerifyDate = getdate() Where requestnum = @RequestNum and (IsNull(VerifyDate,'') ='' or IsNull(VerifyID,'') = ''); /****** Update Station..tbComm_AutoPrint for Automatic Printing of Results *******/ /*IF not exists (Select RequestNum from Station..tbComm_AutoPrint where RevenueId = 'LB' and RequestNum = @RequestNum) and (IsNumeric(RIGHT(@IDNum,2)) = 1 or @ERPatient = 1 or @OPService = 1) Begin Insert Into Station..tbComm_AutoPrint (RequestNum, IDNum, HospNum, Room, ItemID, RevenueID, UserID, RequestStatus, StationID, AccessionNum) (Select distinct RequestNum, IDNum, HospNum, RoomID, LabExamID, 'LB', VerifyID, 'N', @StationID, AccessionNum From tbLabLogbook where RequestNum = @RequestNum); End; */ End; --~*~*~*~* END VERIFY RESULTS ~*~*~*~*-- If isnumeric(ltrim(rtrim(@strResult)))=1 Set @tempSIResult = cast(ltrim(rtrim(@strResult)) as decimal(12,2)); If isnumeric(ltrim(rtrim(@ConvStrResult)))=1 Set @tempCResult = cast(ltrim(rtrim(@ConvstrResult)) as decimal(12,2)); If Exists (Select RequestNum from tbLabResultNValues where requestnum = @RequestNum and ItemID = @ItemID) Begin Update tbLabResultNValues Set RequestNum = @RequestNum, ItemID = @ItemID, FormType = @FormType, MinValue = @MinValue, Maxvalue = @Maxvalue, Unit = @Unit, Result = @tempSIResult, StrNValues = @StrNValues, StrResult = @StrResult, ConvUnit = @ConvUnit, ConvResult = @tempCResult, ConvStrNValues = @ConvStrNValues, ConvStrResult = @ConvStrResult, ConvMin = @ConvMinValue, ConvMax = @ConvMaxValue, Factor = @Factor, SortOrder = @SortOrder, AccessionNum = @AccessionNum, Remarks = @Remarks Where RequestNum = @RequestNum and ItemID = @ItemID; End Else Begin Insert Into tbLabResultNValues (RequestNum, ItemID, FormType, MinValue, Maxvalue, Unit, Result, StrNValues, StrResult, ConvUnit, ConvResult, ConvStrNValues, ConvStrResult, ConvMin, ConvMax, Factor, SortOrder, AccessionNum, Remarks) Values (@RequestNum, @ItemID, @FormType, @MinValue, @Maxvalue, @Unit, @tempSIResult, @StrNValues, @StrResult, @ConvUnit, @tempCResult, @ConvStrNValues, @ConvStrResult, @ConvMinValue, @ConvMaxValue, @Factor, @SortOrder, @AccessionNum, @Remarks); End Update tbLabLogbook Set AccessionNum = @AccessionNum, SampleSubmitted = cast(@SampleSubmitted as datetime), LRARecordedTime = cast(@LRARecordedTime as datetime), Remarks= @Remarks, Method = @Method, PctResult = @NVpct, DateFinished = @FinishedDate where RequestNum = @RequestNum; Update tbLabLogbook2 Set SampleSubmitted = cast(@SampleSubmitted as datetime), LRARecordedTime = cast(@LRARecordedTime as datetime) where RequestNum = @RequestNum; Select @IdNum = IdNum, @HospNum = HospNum, @VerifyDate = VerifyDate, @ExamId = LabExamID from tbLabLogbook where RequestNum = @RequestNum; Insert Into tbLabLogbook2 (RequestNum, SampleSubmitted, LRARecordedTime, LabSectionID) Select @RequestNum, @sampleSubmitted, @LRARecordedTime, SectionID From tbLabMaster Where RequestNum = @RequestNum; If @@Error <> 0 Begin goto SaveError; End Commit Tran; Return 0; SaveError: Rollback Tran; Return @@Error;