Skip to content

SQL-PADR-01 Provider addresses for a location

Retrieves the address collection for a provider location, joined against the parent location row for business-name and phone fallbacks, and pre-formats city/state/zip and phone/fax display strings using NVL, NVL2, and string concatenation.

Classification

Field Value
SQL ID SQL-PADR-01
Operation type Read
Execution method Inline SQL (BOF criteria constant)
Database Oracle
Schema [unqualified]**
Command type Text
Business object clsProviderAddressCollection
Criteria property RetrieveSQL
Lifecycle method BeforeRetrieve / AfterRetrieve

Parameters

Parameter Direction Type Max length Description
:ProviderLocationID Input Decimal N/A PROVIDER_LOCATION.PROVIDER_LOCATION_SEQ_NUM

Tables

Table Access Columns used
PROVIDER_LOCATION SELECT PROVIDER_LOCATION_SEQ_NUM, BUSINESS_NAME, TOLL_FREE_PHONE_NUM, PHONE_AREA_CODE, PHONE_NUM, PHONE_NUM_EXT, TOLL_FREE_FAX_NUM, FAX_NUM, BUSINESS_FLAG
PROVIDER_ADDRESS JOIN (LEFT OUTER) PROVIDER_ADDRESS_SEQ_NUM, EFF_DATE, EXP_DATE, ADDRESS_LINE1-4, FOREIGN_ADDRESS_FLAG, CITY_NAME, STATE_CODE, ZIP_CODE, ZIP_CODE_EXT, PROVIDER_ADDRESS_CODE, UPDATE_USER, UPDATE_DATE

Sample SQL

-- Provider addresses for a location
SELECT
  pa.provider_address_seq_num,
  pa.eff_date,
  pa.exp_date,
  ppl.business_name,
  NVL(pa.address_line1, ' ') AS address_line1,
  pa.address_line2,
  pa.address_line3,
  pa.address_line4,
  NVL(pa.foreign_address_flag, 'N') AS foreign_address_flag,
  trim(pa.city_name) || ' ' || trim(pa.state_code) || ' ' || trim(pa.ZIP_CODE)
    || DECODE(pa.zip_code_ext, NULL, '', '-' || pa.zip_code_ext) AS addr_city_st,
  NVL(ppl.TOLL_FREE_PHONE_NUM,
      NVL2(ppl.PHONE_AREA_CODE, '(' || ppl.PHONE_AREA_CODE || ') ', '')
      || NVL2(ppl.PHONE_NUM,
              SUBSTR(ppl.phone_num, 1, 3) || '-' || SUBSTR(ppl.PHONE_NUM, -4), '')
      || NVL2(ppl.PHONE_NUM_EXT, 'x' || ppl.PHONE_NUM_EXT, '')) AS phone_num,
  NVL(ppl.toll_free_fax_num, ppl.fax_num) AS fax_num,
  NVL(pa.PROVIDER_ADDRESS_CODE, ' ') AS PROVIDER_ADDRESS_CODE,
  NVL(pa.CITY_NAME, ' ') AS CITY_NAME,
  pa.STATE_CODE,
  pa.ZIP_CODE,
  pa.ZIP_CODE_EXT,
  NVL(ppl.BUSINESS_FLAG, 'N') AS BUSINESS_FLAG,
  pa.update_user AS UpdateUser,
  pa.update_date AS UpdateDate
FROM PROVIDER_LOCATION ppl
  LEFT OUTER JOIN PROVIDER_ADDRESS pa
    ON pa.provider_location_seq_num = ppl.provider_location_seq_num
WHERE ppl.provider_location_seq_num = :ProviderLocationID

Operations and processes

Business rules

Sources

  • SAIF.Business.View.Provider/clsProviderAddress.vb
  • SAIF.Business.View.Provider/clsProviderAddressCollection.vb