---
title: clsNationalDrug
summary: API reference for clsNationalDrug.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-07-28
library: SAIF.Business.Claim.MedicalBill
reference_type: package
---

# clsNationalDrug

`clsNationalDrug` represents a national drug master record, including the NDC, product and generic names, manufacturer, classification codes, dosage form, strength, and effective dates.*

## Purpose

- Stores the descriptive and classification metadata for a national drug code.*
- Provides the reference fields needed to identify a drug's naming, routing, formulation, and date range.

## Context

- Namespace: `SAIF.Business.Claim.MedicalBill`
- Assembly/package: `SAIF.Business.Claim.MedicalBill`

## Public members

| Member | Signature | Purpose |
| --- | --- | --- |
| `NationalDrugCode` | `Public Property NationalDrugCode() As String` | Gets or sets national drug code. |
| `EffDate` | `Public Property EffDate() As Date` | Gets or sets eff date. |
| `ExpDate` | `Public Property ExpDate() As Date` | Gets or sets exp date. |
| `ActivityCode` | `Public Property ActivityCode() As String` | Gets or sets activity code. |
| `PharmacyRouteCode` | `Public Property PharmacyRouteCode() As String` | Gets or sets pharmacy route code. |
| `TherapyClassCode` | `Public Property TherapyClassCode() As String` | Gets or sets therapy class code. |
| `GenericCode` | `Public Property GenericCode() As String` | Gets or sets generic code. |
| `BrandNameCode` | `Public Property BrandNameCode() As String` | Gets or sets brand name code. |
| `IntExtCode` | `Public Property IntExtCode() As String` | Gets or sets int ext code. |
| `UnitDoseCode` | `Public Property UnitDoseCode() As String` | Gets or sets unit dose code. |
| `LastChangeDate` | `Public Property LastChangeDate() As Date` | Gets or sets last change date. |
| `ProductName` | `Public Property ProductName() As String` | Gets or sets product name. |
| `GenericNdcCode` | `Public Property GenericNdcCode() As String` | Gets or sets generic ndc code. |
| `GenericName` | `Public Property GenericName() As String` | Gets or sets generic name. |
| `ManufacturerName` | `Public Property ManufacturerName() As String` | Gets or sets manufacturer name. |
| `GppcCode` | `Public Property GppcCode() As String` | Gets or sets gppc code. |
| `MetricStrengthAmt` | `Public Property MetricStrengthAmt() As Decimal` | Gets or sets metric strength amt. |
| `MetricStrengthUnit` | `Public Property MetricStrengthUnit() As String` | Gets or sets metric strength unit. |
| `DoseFormCode` | `Public Property DoseFormCode() As String` | Gets or sets dose form code. |
| `PackageSizeAmt` | `Public Property PackageSizeAmt() As Decimal` | Gets or sets package size amt. |
| `PackageUnitCode` | `Public Property PackageUnitCode() As String` | Gets or sets package unit code. |
| `PackageQuantity` | `Public Property PackageQuantity() As Decimal` | Gets or sets package quantity. |
| `TotalPackageAmount` | `Public Property TotalPackageAmount() As Decimal` | Gets or sets total package amount. |
| `DesiCode` | `Public Property DesiCode() As String` | Gets or sets desi code. |
| `PackageDescrCode` | `Public Property PackageDescrCode() As String` | Gets or sets package descr code. |
| `DisallowRecordCode` | `Public Property DisallowRecordCode() As String` | Gets or sets disallow record code. |
| `UpdateUser` | `Public Property UpdateUser() As String` | Gets or sets update user. |
| `UpdateNum` | `Public Property UpdateNum() As Decimal` | Gets or sets update num. |
| `UpdateDate` | `Public Property UpdateDate() As Date` | Gets or sets update date. |
| `DrugPrices` | `Public ReadOnly Property DrugPrices() As clsNationalDrugPriceCollection` | Returns drug prices. |
| `ActivePrice` | `Public ReadOnly Property ActivePrice() As clsNationalDrugPrice` | Returns active price. |
| `IsValid` | `Public Overrides ReadOnly Property IsValid() As Boolean` | Returns is valid. |
| `IsDirty` | `Public Overrides ReadOnly Property IsDirty() As Boolean` | Returns is dirty. |
| `isNDCDirty` | `Public ReadOnly Property isNDCDirty() As Boolean` | Returns is n d c dirty. |
| `SetExpDateNull` | `Public Sub SetExpDateNull()` | Executes the `SetExpDateNull` operation. |
| `SetActivityCodeNull` | `Public Sub SetActivityCodeNull()` | Executes the `SetActivityCodeNull` operation. |
| `SetPharmacyRouteCodeNull` | `Public Sub SetPharmacyRouteCodeNull()` | Executes the `SetPharmacyRouteCodeNull` operation. |
| `SetTherapyClassCodeNull` | `Public Sub SetTherapyClassCodeNull()` | Executes the `SetTherapyClassCodeNull` operation. |
| `SetGenericCodeNull` | `Public Sub SetGenericCodeNull()` | Executes the `SetGenericCodeNull` operation. |
| `SetBrandNameCodeNull` | `Public Sub SetBrandNameCodeNull()` | Executes the `SetBrandNameCodeNull` operation. |
| `SetIntExtCodeNull` | `Public Sub SetIntExtCodeNull()` | Executes the `SetIntExtCodeNull` operation. |
| `SetUnitDoseCodeNull` | `Public Sub SetUnitDoseCodeNull()` | Executes the `SetUnitDoseCodeNull` operation. |
| `SetLastChangeDateNull` | `Public Sub SetLastChangeDateNull()` | Executes the `SetLastChangeDateNull` operation. |
| `SetProductNameNull` | `Public Sub SetProductNameNull()` | Executes the `SetProductNameNull` operation. |
| `SetGenericNdcCodeNull` | `Public Sub SetGenericNdcCodeNull()` | Executes the `SetGenericNdcCodeNull` operation. |
| `SetGenericNameNull` | `Public Sub SetGenericNameNull()` | Executes the `SetGenericNameNull` operation. |
| `SetManufacturerNameNull` | `Public Sub SetManufacturerNameNull()` | Executes the `SetManufacturerNameNull` operation. |
| `SetGppcCodeNull` | `Public Sub SetGppcCodeNull()` | Executes the `SetGppcCodeNull` operation. |
| `SetMetricStrengthAmtNull` | `Public Sub SetMetricStrengthAmtNull()` | Executes the `SetMetricStrengthAmtNull` operation. |
| `SetMetricStrengthUnitNull` | `Public Sub SetMetricStrengthUnitNull()` | Executes the `SetMetricStrengthUnitNull` operation. |
| `SetDoseFormCodeNull` | `Public Sub SetDoseFormCodeNull()` | Executes the `SetDoseFormCodeNull` operation. |
| `SetPackageSizeAmtNull` | `Public Sub SetPackageSizeAmtNull()` | Executes the `SetPackageSizeAmtNull` operation. |
| `SetPackageUnitCodeNull` | `Public Sub SetPackageUnitCodeNull()` | Executes the `SetPackageUnitCodeNull` operation. |
| `SetPackageQuantityNull` | `Public Sub SetPackageQuantityNull()` | Executes the `SetPackageQuantityNull` operation. |
| `SetTotalPackageAmountNull` | `Public Sub SetTotalPackageAmountNull()` | Executes the `SetTotalPackageAmountNull` operation. |
| `SetDesiCodeNull` | `Public Sub SetDesiCodeNull()` | Executes the `SetDesiCodeNull` operation. |
| `SetPackageDescrCodeNull` | `Public Sub SetPackageDescrCodeNull()` | Executes the `SetPackageDescrCodeNull` operation. |
| `SetDisallowRecordCodeNull` | `Public Sub SetDisallowRecordCodeNull()` | Executes the `SetDisallowRecordCodeNull` operation. |
| `IsExpDateNull` | `Public Function IsExpDateNull() As Boolean` | Exposes the public member. |
| `IsActivityCodeNull` | `Public Function IsActivityCodeNull() As Boolean` | Exposes the public member. |
| `IsPharmacyRouteCodeNull` | `Public Function IsPharmacyRouteCodeNull() As Boolean` | Exposes the public member. |
| `IsTherapyClassCodeNull` | `Public Function IsTherapyClassCodeNull() As Boolean` | Exposes the public member. |
| `IsGenericCodeNull` | `Public Function IsGenericCodeNull() As Boolean` | Exposes the public member. |
| `IsBrandNameCodeNull` | `Public Function IsBrandNameCodeNull() As Boolean` | Exposes the public member. |
| `IsIntExtCodeNull` | `Public Function IsIntExtCodeNull() As Boolean` | Exposes the public member. |
| `IsUnitDoseCodeNull` | `Public Function IsUnitDoseCodeNull() As Boolean` | Exposes the public member. |
| `IsLastChangeDateNull` | `Public Function IsLastChangeDateNull() As Boolean` | Exposes the public member. |
| `IsProductNameNull` | `Public Function IsProductNameNull() As Boolean` | Exposes the public member. |
| `IsGenericNdcCodeNull` | `Public Function IsGenericNdcCodeNull() As Boolean` | Exposes the public member. |
| `IsGenericNameNull` | `Public Function IsGenericNameNull() As Boolean` | Exposes the public member. |
| `IsManufacturerNameNull` | `Public Function IsManufacturerNameNull() As Boolean` | Exposes the public member. |
| `IsGppcCodeNull` | `Public Function IsGppcCodeNull() As Boolean` | Exposes the public member. |
| `IsMetricStrengthAmtNull` | `Public Function IsMetricStrengthAmtNull() As Boolean` | Exposes the public member. |
| `IsMetricStrengthUnitNull` | `Public Function IsMetricStrengthUnitNull() As Boolean` | Exposes the public member. |
| `IsDoseFormCodeNull` | `Public Function IsDoseFormCodeNull() As Boolean` | Exposes the public member. |
| `IsPackageSizeAmtNull` | `Public Function IsPackageSizeAmtNull() As Boolean` | Exposes the public member. |
| `IsPackageUnitCodeNull` | `Public Function IsPackageUnitCodeNull() As Boolean` | Exposes the public member. |
| `IsPackageQuantityNull` | `Public Function IsPackageQuantityNull() As Boolean` | Exposes the public member. |
| `IsTotalPackageAmountNull` | `Public Function IsTotalPackageAmountNull() As Boolean` | Exposes the public member. |
| `IsDesiCodeNull` | `Public Function IsDesiCodeNull() As Boolean` | Exposes the public member. |
| `IsPackageDescrCodeNull` | `Public Function IsPackageDescrCodeNull() As Boolean` | Exposes the public member. |
| `IsDisallowRecordCodeNull` | `Public Function IsDisallowRecordCodeNull() As Boolean` | Exposes the public member. |
| `Equals` | `Public Overloads Shared Function Equals(ByVal objA As Object, ByVal objB As Object) As Boolean` | Exposes the public member. |
| `Equals` | `Public Overloads Overrides Function Equals(ByVal inObject As Object) As Boolean` | Exposes the public member. |
| `Equals` | `Public Overloads Function Equals(ByVal inObject As clsNationalDrug) As Boolean` | Exposes the public member. |
| `GetHashCode` | `Public Overrides Function GetHashCode() As Integer` | Retrieves the `GetHashCode` operation. |
| `ToString` | `Public Overrides Function ToString() As String` | Exposes the public member. |
| `savechild` | `Public Overrides Function savechild() As Boolean` | Executes the `savechild` operation. |
| `Save` | `Public Overrides Function Save() As Boolean` | Executes the `Save` operation. |
| `NewCbpNationalDrug` | `Public Shared Function NewCbpNationalDrug(ByVal inDataportal As IDataPortalInfo, ByVal inNationalDrugCode As String) As clsNationalDrug` | Executes the `NewCbpNationalDrug` operation. |
| `GetCbpNationalDrug` | `Public Shared Function GetCbpNationalDrug(ByVal inDataportal As IDataPortalInfo, ByVal inNationalDrugCode As String) As clsNationalDrug` | Retrieves the `GetCbpNationalDrug` operation. |
| `New` | `Public Sub New(ByVal inDataPortalInfo As IDataPortalInfo)` | Executes the `New` operation. |
| `New` | `Public Sub New(ByVal inDataPortalInfo As IDataPortalInfo, ByVal inNationalDrugCode As String)` | Executes the `New` operation. |

## Inherited public members

| Member | Signature | Purpose | Origin |
| --- | --- | --- | --- |
| `MyGuid` | `Public ReadOnly Property MyGuid() As String` | Returns the object's generated GUID identifier.* | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `IsNew` | `Public ReadOnly Property IsNew() As Boolean` | Indicates whether the object represents unsaved data.* | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `IsDeleted` | `Public ReadOnly Property IsDeleted() As Boolean` | Indicates whether the object has been marked for deletion.* | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `SetValueOnChange` | `Public Function SetValueOnChange(Of T)(ByRef inFieldValue As T, ByVal inSetValue As T, Optional ByVal inMarkDirty As Boolean = True) As Boolean` | Assigns a new field value only when it differs and optionally marks the object dirty.* | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `Rules` | `Public ReadOnly Property Rules() As clsRulesManager` | Exposes the BOF rules manager for validation and messages.* | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `SaveChild` | `Public Overridable Function SaveChild() As Boolean` | Persists the object as a BOF child object.* | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |
| `ToXml` | `Public Function ToXml() As String` | Returns the object's XML representation using the configured default tag name.* | `Legacy\BusinessObjectFramework` — `clsBusinessBase` |

## Behavioral notes

- This type is documented from its source declaration.
- The type participates in the `clsBusinessBase` inheritance path used by `SAIF.Business.Claim.MedicalBill`.

## Constraints and usage notes

- Consumers should rely on the public members and BOF lifecycle patterns visible in the source file.

> **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.Claim.MedicalBill\clsNationalDrug.vb`
- `Legacy\BusinessObjectFramework\clsBusinessBase.vb`
