Skip to content

SQL-021: Retrieve image collection (dynamic)

This is the primary image collection query, assembled by Criteria.FormatRequest using a StringBuilder pattern. The sample SQL shows the default List-mode statement; at runtime, many optional filter predicates (category, document type, file type, claim IDs, EAIP period, date ranges, external view code, batch ID, etc.) are conditionally appended. Results are limited to 300 rows by ROWNUM and ordered by IMAGESEQNUM ASC in the outer query. Default filters exclude deleted images, set DiscoveryFlag = 'N', and set SecurityLevelNum = 0.

Classification

Field Value
SQL ID SQL-021
Operation type Read
Execution method Inline SQL (dynamic StringBuilder)
Database Oracle
Schema [unqualified]**
Command type Text**
Business object clsImageCollection
Criteria property RetrieveSQL
Lifecycle method BeforeRetrieve + Criteria.FormatRequest

Parameters

Parameters are conditionally added at runtime. The following represent the full documented set*:

Parameter Direction Type Max length Description
:CAT1..:CATn Input [not specified]** 5 Category code filter values (one per filter entry)*.
:CLAIMNUM1..:CLAIMNUMn Input [not specified]** 8 Claim number filter values*.
:CLAIMID1..:CLAIMIDn Input [not specified]** N/A Claim ID filter values*.
:BeginScanDate Input [not specified]** N/A Start of scan date range.
:EndScanDate Input [not specified]** N/A End of scan date range.
:BeginDocDate Input [not specified]** N/A Start of document date range.
:EndDocDate Input [not specified]** N/A End of document date range.
:DiscoveryFlag Input [not specified]** 1 Discovery flag filter (Y/N).
:DOCTYPE1..:DOCTYPEn Input [not specified]** 5 Document type filter values*.
:EAIPPeriodSeq Input [not specified]** N/A EAIP period sequence number filter.
:FILETYPE1..:FILETYPEn Input [not specified]** 5 File type filter values*.
:ImageSeqNum1..:ImageSeqNumn Input [not specified]** N/A Image sequence number filter values*.
:CultureCode Input [not specified]** 2 Two-letter ISO culture code for localized descriptions.
:POLICYNUM1..:POLICYNUMn Input [not specified]** N/A Policy number filter values*.
:EXTERNALVIEWCODE Input [not specified]** 5 External view code filter.
:TOWID1..:TOWIDn Input [not specified]** N/A TOWID filter values*.
:BatchID Input [not specified]** 30 Batch ID filter.

Tables

Table Access Columns used
IMGSYS SELECT / JOIN TOWID, BATID, CRTRID, DELCD, IDXFL, IFNDS, IFNID, NPAGES, SCANDT, SLEVEL, UPDRID, UPDTTS
IMAGE SELECT / JOIN IMAGE_SEQ_NUM, CLAIM_ID, CLAIM_NUM, COMMENT_TEXT, CREATE_DATE, CREATE_USER, DISCOVERY_FLAG, DISPLAY_FIELD_1–3, DISPLAY_SORT_NUM, DOCUMENT_DATE, IMAGE_CATEGORY_CODE, IMAGE_DELETE_CODE, IMAGE_DOCUMENT_TYPE_CODE, IMAGE_DOCUMENT_NAME_CODE, IMAGE_FILE_CODE, POLICY_NUM, RECEIVED_DATE, SECURITY_LEVEL_NUM, TOWID, UPDATE_DATE, UPDATE_USER, EXTERNAL_VIEW_CODE, EXTERNAL_VIEW_UPDATE_DATE, SYSTEM_GENERATED_FLAG
IMAGE_CATEGORY_CODE SELECT / JOIN CODE, CODE_DESCR, IMAGE_FILE_CODE, EXTERNAL_DESCR
IMAGE_DOCUMENT_TYPE_CODE SELECT / JOIN CODE, CODE_DESCR, EXTERNAL_DESCR, EXTERNAL_LONG_DESCR, IMAGE_CATEGORY_CODE, IMAGE_FILE_CODE
IMAGE_DOCUMENT_NAME_CODE SELECT / LEFT JOIN CODE, CODE_DESCR, IMAGE_DOCUMENT_TYPE_CODE, IMAGE_CATEGORY_CODE, IMAGE_FILE_CODE
PDF_CACHE SELECT / LEFT JOIN TOWID
PDF_CACHE_REQUEST SELECT / LEFT JOIN TOWID, PDF_CACHE_STATUS_CODE
PDF_CACHE_STATUS_CODE SELECT / LEFT JOIN CODE, CODE_DESCR

Sample SQL

The following shows the default List-mode statement with no optional filters and no culture join. Additional WHERE predicates are appended by Criteria.FormatRequest at runtime*.

select * from (
    Select
        case when cache.towid is not null then 'Cached'
             when cacherequest.towid is not null then cachecode.code_descr
             else 'None' end as CacheStatus,
        IMAGE.CLAIM_ID as ClaimID,
        IMAGE.CLAIM_NUM as ClaimNum,
        IMAGE.COMMENT_TEXT as CommentText,
        IMAGE.CREATE_DATE as CreateDate,
        IMAGE.CREATE_USER as CreateUser,
        IMAGE.DISCOVERY_FLAG as DiscoveryFlag,
        IMAGE.DISPLAY_FIELD_1 as DisplayField1,
        IMAGE.DISPLAY_FIELD_2 as DisplayField2,
        IMAGE.DISPLAY_FIELD_3 as DisplayField3,
        IMAGE.DISPLAY_SORT_NUM as DisplaySortNum,
        IMAGE.DOCUMENT_DATE as DocumentDate,
        IMAGE.EXTERNAL_VIEW_CODE as ExternalViewCode,
        IMAGE.EXTERNAL_VIEW_UPDATE_DATE as ExternalViewUpdateDate,
        IMAGE.SYSTEM_GENERATED_FLAG as SystemGeneratedFlag,
        IMAGE.IMAGE_CATEGORY_CODE as ImageCategoryCode,
        ICC.CODE_DESCR as ImageCategoryDescr,
        IDNC.CODE_DESCR as ImageDocumentNameDescription,
        ICC.EXTERNAL_DESCR as ImageCategoryExternalDescr,
        IDTC.EXTERNAL_DESCR as ImageDocumentTypeExternalDescr,
        IDTC.EXTERNAL_LONG_DESCR as ImageDocTypeExternalLongDescr,
        IMAGE.IMAGE_DELETE_CODE as ImageDeleteCode,
        IMAGE.IMAGE_DOCUMENT_TYPE_CODE as ImageDocumentTypeCode,
        IDNC.CODE as ImageDocumentNameCode,
        IDTC.CODE_DESCR as ImageDocumentTypeDescr,
        IMAGE.IMAGE_FILE_CODE as ImageFileCode,
        IMAGE.IMAGE_SEQ_NUM as ImageSeqNum,
        IMAGE.POLICY_NUM as PolicyNum,
        IMAGE.RECEIVED_DATE as ReceivedDate,
        IMAGE.SECURITY_LEVEL_NUM as SecurityLevelNum,
        IMAGE.UPDATE_DATE as UpdateDate,
        IMAGE.UPDATE_USER as UpdateUser,
        IMGSYS.BATID Batid, IMGSYS.CRTRID Crtrid, IMGSYS.DELCD Delcd,
        IMGSYS.IDXFL Idxfl, IMGSYS.IFNDS Ifnds, IMGSYS.IFNID Ifnid,
        IMGSYS.NPAGES Npages, IMGSYS.SCANDT Scandt, IMGSYS.SLEVEL Slevel,
        IMGSYS.TOWID Towid, IMGSYS.UPDRID Updrid, IMGSYS.UPDTTS Updtts,
        Null As EAIPPeriodSeq
    From IMGSYS
    join IMAGE on (IMGSYS.TOWID = IMAGE.TOWID)
    join IMAGE_CATEGORY_CODE ICC
        on (image.image_file_code = icc.image_file_code
            AND image.image_category_code = icc.code)
    join image_document_type_code IDTC
        on (IMAGE.IMAGE_DOCUMENT_TYPE_CODE = IDTC.CODE
            AND IMAGE.IMAGE_CATEGORY_CODE = IDTC.IMAGE_CATEGORY_CODE
            AND IMAGE.IMAGE_FILE_CODE = IDTC.IMAGE_FILE_CODE)
    left join image_document_name_code idnc
        on (idnc.image_document_type_code = image.image_document_type_code
            AND idnc.image_category_code = image.image_category_code
            AND idnc.image_file_code = image.image_file_code
            AND idnc.code = image.image_document_name_code)
    left join pdf_cache cache on cache.towid = image.towid
    left join pdf_cache_request cacherequest on cacherequest.towid = image.towid
    left join pdf_cache_status_code cachecode
        on cachecode.code = cacherequest.pdf_cache_status_code
    Where 1=1
      AND IMAGE.DISCOVERY_FLAG = :DiscoveryFlag
      AND nvl(IMAGE.IMAGE_DELETE_CODE,' ') = ' '
      AND IMAGE.SECURITY_LEVEL_NUM = 0
    order by scandt desc
) where rownum <= 300
ORDER BY IMAGESEQNUM ASC

Operations and processes

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • Business\SAIF.Business.Imaging\clsImageCollection.vb