Database SQL Operation: Provider.searchProvider
Description: | Searches for Providers based on the search criteria specified. |
Sterotype: | nsmulti |
SELECT
DISTINCT(Provider.providerConcernRoleID),
AdministrationRole.userName
INTO
:providerConcernRoleID,
:owner
FROM
Provider,
ConcernRole,
ProviderCategoryPeriod,
ProviderType,
AdministrationConcernRole,
AdministrationRole
WHERE
(
:searchByName = '0'
OR upper(ConcernRole.concernRoleName) like :name
)
AND
(
:searchByReferenceNumber = '0'
OR ConcernRole.primaryAlternateID = :referenceNumber
)
AND ConcernRole.concernRoleID = Provider.providerConcernRoleID
AND Provider.providerConcernRoleID = ProviderCategoryPeriod.providerConcernRoleID
AND ProviderCategoryPeriod.providerCategoryID = ProviderType.providerCategoryID
AND AdministrationRole.administrationRoleID = AdministrationConcernRole.administrationRoleID
AND AdministrationConcernRole.concernRoleID = Provider.providerConcernRoleID
AND AdministrationConcernRole.typeCode = :userType
AND AdministrationConcernRole.endDate is NULL
AND
(
:searchByCategory = '0'
OR ProviderCategoryPeriod.category = :category
)
AND
(
:searchByType = '0'
OR ProviderType.type = :providerCategoryType
)
AND
(
:searchByOwner = '0'
OR
(
upper(AdministrationRole.userName) like :ownerName
)
)
|