USP_SEARCHLIST_PROGRAMACTIVE
Simple way to select an active program
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@NAME | nvarchar(50) | IN | Name |
@EVENTLOCATION | uniqueidentifier | IN | Location |
@PROGRAMCATEGORYCODEID | uniqueidentifier | IN | Category |
@ISDAILYADMISSION | bit | IN | Include daily admission |
@MAXROWS | smallint | IN | Input parameter indicating the maximum number of rows to return. |
Definition
Copy
create procedure dbo.USP_SEARCHLIST_PROGRAMACTIVE
(
@NAME nvarchar(50) = null,
@EVENTLOCATION uniqueidentifier = null,
@PROGRAMCATEGORYCODEID uniqueidentifier = null,
@ISDAILYADMISSION bit = null,
@MAXROWS smallint = 500
)
as
set @NAME = REPLACE(@NAME,'*','%');
set @NAME = COALESCE(@NAME,'') + '%' ;
select distinct top(@MAXROWS)
PROGRAM.ID,
NAME,
DESCRIPTION,
case when ISDAILYADMISSION = 1 then 'Daily admission' else 'Scheduled program' end,
dbo.UFN_PROGRAMCATEGORYCODE_GETDESCRIPTION(PROGRAM.PROGRAMCATEGORYCODEID) as PROGRAMCATEGORYCODEID
from dbo.PROGRAM
left join dbo.PROGRAMLOCATION on PROGRAMLOCATION.PROGRAMID = PROGRAM.ID
where (@NAME is null or NAME LIKE @NAME) and
(@EVENTLOCATION is null or PROGRAMLOCATION.EVENTLOCATIONID = @EVENTLOCATION) and
(@PROGRAMCATEGORYCODEID is null or PROGRAM.PROGRAMCATEGORYCODEID = @PROGRAMCATEGORYCODEID) and
(ISACTIVE <> 0) and
(ISDAILYADMISSION = @ISDAILYADMISSION or ISDAILYADMISSION = 0)
order by NAME asc