USE [HL_VA_DATA] GO /****** Object: StoredProcedure [dbo].[AddFinancialTransaction] Script Date: 11/19/2013 14:00:06 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[AddFinancialTransaction] @patientMRN nvarchar(50), @accessionNumber nvarchar (50), --@tcode nvarchar (10), --modality @tdesc nvarchar (50), --description @ttypestring nvarchar(50), --Credit/Charge:Lookup FCT Table @tQuant float, -- number of units @tunitprice float -- must have a value - no defaults - this is multilped by tAmount (tmount = tquant here , may change later) AS BEGIN -- check for basic data validity if (--(@patientMRN = null or @patientMRN = '') OR (@accessionNumber = null or @accessionNumber = '') OR (@tQuant = 0.0) OR (@tunitprice = 0.0) ) return DECLARE @curdt DATETIME = getdate () --declare @tQuant int = 1 --declare @tunitprice float = -35.00 declare @tamount float = @tquant --declare @ttypestring nvarchar(50) = 'Credit' --declare @tcode nvarchar(10) = 'CT' --declare @tdesc nvarchar(50) = 'Credit for 3 procedures' insert into FinancialTransaction (FinancialChargeMasterKey, PatientKey, ProcedureKey, FillerOrderKey, TransactionPostedDateKey, TransactionPostedDatetime , TransactionQuantity, TransactionUnitPrice, TransactionAmount, TransactionAmountCalc, TransactionType, TransactionCodeDescription, TransactionAlternateDescription, ProcedureCodeModifierId, CreatedOn , FinancialChargeTypeKey, FinancialTransactionId ) select null as FinancialChargeMasterKey , pt.PatientKey as PatientKey , ex.ExamKey as ProcedureKey , ex.FillerOrderKey as FillerOrderKey , cast(CONVERT(varchar(8), GETDATE(), 112) as int) as TransactionPostedDateKey , GETDATE() as TransactionPostedDatetime , 1 as TransactionQuantity , @tunitprice as TransactionUnitPrice , @tamount as TransactionAmount , @tamount*@tunitprice as TransactionAmountCalc , fct.FinancialChargeTypeKey as TransactionType , 'ZZ' as TransactionCodeDescription , @tdesc as TransactionAlternateDescription , null as ProcedureCodeModifierId , GETDATE() as CreatedOn , fct.FinancialChargeTypeKey as FinancialChargeTypeKey , null as FinancialTransactionId from Exam ex inner join Patient pt on pt.PatientKey = ex.PatientKey left join FinancialChargeType fct on fct.ChargeType = @ttypestring where ex.AccessionNumber=@accessionNumber END