---
title: SQL-012: Provider locations by type
summary: Provider locations by type retrieval query.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-07-24
library: SAIF.Business.View.Provider
reference_type: package
---

# SQL-012: Provider locations by type

This statement supports the ``clsProviderLocationCollection`` retrieval path by reading provider-domain data from Oracle tables and projecting the result into business objects or DTO lists.

## Classification

| Field | Value |
| --- | --- |
| **SQL ID** | SQL-012 |
| **Operation type** | Read |
| **Execution method** | Inline SQL |
| **Database** | Oracle |
| **Schema** | [unqualified]** |
| **Command type** | Text |
| **Business object** | ``clsProviderLocationCollection`` |
| **Criteria property** | ``RetrieveSQL`` |
| **Lifecycle method** | `BeforeRetrieve` (filter by provider type code) |

## Parameters

| Parameter | Direction | Type | Max length | Description |
| --- | --- | --- | --- | --- |
| `:ProviderTypeCode` | Input | String | 5 | Retrieves provider locations for one provider type code. |

## Tables

| Table | Access | Columns used |
| --- | --- | --- |
| [PROVIDER_LOCATION](../database-tables.md#provider_location) | SELECT | PROVIDER_LOCATION_SEQ_NUM, PROVIDER_SEQ_NUM, PROVIDER_TYPE_CODE |

## Sample SQL

```sql
SELECT
  pl.APPROVED_FLAG AS IsApproved,
  pl.APPROVED_USER AS ApprovedUser,
  pl.BUSINESS_FLAG AS IsBusiness,
  pl.CRITICAL_ACCESS_HOSPITAL_FLAG AS IsCriticalAccessHospital,
  pl.BUSINESS_NAME AS BusinessName,
  pl.FAX_NUM AS FaxNum,
  pl.FIRST_NAME AS FirstName,
  pl.INELIGIBILITY_FLAG AS IsIneligible,
  pl.LAST_NAME AS LastName,
  pl.MIDDLE_NAME AS MiddleName,
  pl.PAYEE_NAME AS PayeeName,
  pl.PHONE_AREA_CODE AS PhoneAreaCode,
  pl.PHONE_NUM AS PhoneNum,
  pl.PHONE_NUM_EXT AS PhoneNumExt,
  pl.POSSIBLE_FRAUD_FLAG AS IsPossibleFraud,
  pl.PRIMARY_LOCATION_FLAG AS IsPrimaryLocation,
  pl.PROVIDER_LOCATION_SEQ_NUM AS ProviderLocationID,
  pl.PROVIDER_SEQ_NUM AS ProviderID,
  pl.PROVIDER_TYPE_CODE AS ProviderTypeCode,
  pl.RECENT_ACTIVITY_FLAG AS HasRecentActivity,
  pl.TOLL_FREE_FAX_NUM AS TollFreeFaxNum,
  pl.TOLL_FREE_PHONE_NUM AS TollFreePhoneNum,
  pl.UPDATE_DATE AS UpdateDate,
  pl.UPDATE_NUM AS UpdateNum,
  pl.UPDATE_USER AS UpdateUser,
  pl.WEB_SITE_ADDRESS AS WebSiteAddress,
  pl.EMAIL_ADDR AS EmailAddress
FROM PROVIDER_LOCATION pl
WHERE PROVIDER_TYPE_CODE = :ProviderTypeCode
```

## Operations and processes
- [Retrieve provider locations by type](../operations/provider-location-retrieval.md)

## Related documentation
- [Index](../index.md)
- [Overview](../overview.md)
- [Architecture](../architecture.md)
- [Dependencies](../dependencies.md)
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [Database tables](../database-tables.md)
- [SQL catalog](../sql/index.md)
- [API reference](../api/index.md)

> **Note:** Statements marked with `**` could not be confirmed; treat as unknown until verified.
## Sources
- `Business\SAIF.Business.View.Provider\clsProviderLocationCollection.vb`
