﻿---
title: clsExternalImageInfo
summary: API reference for clsExternalImageInfo.
status: draft
owner: <owner>
last_reviewed: 2026-07-24
library: SAIF.Business.Imaging
reference_type: package
---

# clsExternalImageInfo

`clsExternalImageInfo` is a helper class that retrieves external document information — file code, category code, and document type code data with culture-specific localized descriptions — for use in portal-facing image display. It bypasses the standard BOF lifecycle and calls its query directly via `GetExternalDocumentInfo`.

## Purpose
- Retrieves currently effective document type codes with localized descriptions for a given file code and culture code.
- Supports external (portal-facing) display by providing both the base descriptions and culture-specific overrides from GCODE tables.

## Context
- Namespace: `SAIF.Business.Imaging`
- Assembly/package: `SAIF.BOF.Business.Imaging`

## Public members

| Member | Signature | Purpose |
| --- | --- | --- |
| `OPTION_VALUE_ANY` | `Public Const OPTION_VALUE_ANY As String = "*"` | Wildcard sentinel value for filter parameters. |
| `RETRIEVE_SQL` | `Public Const RETRIEVE_SQL As String = "select " & "f.code as file_code, " & "cat.code as category_code, " & "doc.code as document_type_code, " & "f.code_descr as file_description, " & "case when gcat.code is not null then gcat.external_descr else cast(cat.external_descr as nvarchar2(200)) end as category_ext_description, " & "cat.external_descr as category_ext_description_code, " & "doc.external_descr as doc_type_ext_description_code, " & "case when gdoc.code is not null then gdoc.external_descr else cast(doc.external_descr as nvarchar2(200)) end as document_type_ext_description, " & "doc.sort_order_num, " & "doc.effective_date, " & "doc.expiration_date " & "from image_file_code f " & "join image_category_code cat on cat.image_file_code = f.code " & "join image_document_type_code doc on doc.image_file_code = f.code " & "and doc.image_category_code = cat.code " & "and doc.image_file_code = cat.image_file_code " & "left join image_category_gcode gcat on gcat.code = cat.code " & "and gcat.image_file_code = cat.image_file_code " & "and gcat.culture_code = :culture_code " & "left join image_document_type_gcode gdoc on gdoc.code = doc.code " & "and gdoc.image_file_code = doc.image_file_code " & "and gdoc.image_category_code = doc.image_category_code " & "and gdoc.culture_code = :culture_code " & "where " & "f.code = :file_code " & "and doc.effective_date <= sysdate and (doc.expiration_date is null or doc.expiration_date >= sysdate) " & "order by doc.image_file_code, doc.image_category_code, doc.sort_order_num "` | The SQL for the external image info query (joins image file, category, document type, and GCODE localization tables). |
| `GetExternalDocumentInfo` | `Public Shared Function GetExternalDocumentInfo(dpi As IDataPortalInfo, Optional fileCode As String = "CLAIM", Optional cultureCode As String = "en") As List(Of ExternalImageInfo)` | Retrieves external document type info for a file code and culture code; defaults to file code `"CLAIM"` and culture `"en"`*. |
| `GetExternalDocumentTypes` | `Public Shared Function GetExternalDocumentTypes(input As List(Of ExternalImageInfo)) As List(Of clsCodeTableBase.CodeTableInfo(Of String))` | Returns a unique list of document type external descriptions |
| `GetExternalDocumentCategories` | `Public Shared Function GetExternalDocumentCategories(input As List(Of ExternalImageInfo), externalDocumentType As String) As List(Of clsCodeTableBase.CodeTableInfo(Of String))` | Returns a list of document category external descriptions for a specific doc type external description |
| `GetDocumentTypeCodes` | `Public Shared Function GetDocumentTypeCodes(input As List(Of ExternalImageInfo), externalDocumentType As String, externalCategory As String) As List(Of String)` | Returns a list of document type codes for an external document type description and external category description |
| `GetDocumentCategoryCodes` | `Public Shared Function GetDocumentCategoryCodes(input As List(Of ExternalImageInfo), externalDocumentType As String, Optional externalCategory As String = OPTION_VALUE_ANY) As List(Of String)` | Returns a list of document category codes for an external document type description |

## Behavioral notes
- Executes [SQL-016](../../sql/SQL-016-saif-business-imaging.md) joining `IMAGE_FILE_CODE`, `IMAGE_CATEGORY_CODE`, `IMAGE_DOCUMENT_TYPE_CODE`, and their corresponding GCODE localization tables.
- Only currently effective document types are returned (filtered by `effective_date <= sysdate` and `expiration_date >= sysdate` or null).
- Accepts a `culture_code` parameter (upper-cased before binding) and a `file_code` parameter.

## Constraints and usage notes

> **Note:** Statements marked with `*` were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.

## Sources
- `Business\SAIF.Business.Imaging\clsExternalImageInfo.vb`
