cdac.medinfo.sdk.hl7282.baselibs.segments

## Class PDC

- java.lang.Object
- - cdac.medinfo.sdk.hl7282.baselibs.segments.Segment
  - - cdac.medinfo.sdk.hl7282.baselibs.segments.PDC

- All Implemented Interfaces:
    ISegment

      public class PDC
      extends Segment

  PDC - Product Detail Country Segment

  Represents an HL7 PDC message segment. This segment has the following fields:

  PDC-1: Manufacturer/Distributor (XON)Required
  PDC-2: Country (CWE)Required
  PDC-3: Brand Name (ST)Required
  PDC-4: Device Family Name (ST)Optional
  PDC-5: Generic Name (CWE)Optional
  PDC-6: Model Identifier (ST)Optional
  PDC-7: Catalogue Identifier (ST)Optional
  PDC-8: Other Identifier (ST)Optional
  PDC-9: Product Code (CWE)Optional
  PDC-10: Marketing Basis (ID)Optional
  PDC-11: Marketing Approval ID (ST)Optional
  PDC-12: Labeled Shelf Life (CQ)Optional
  PDC-13: Expected Shelf Life (CQ)Optional
  PDC-14: Date First Marketed (DTM)Optional
  PDC-15: Date Last Marketed (DTM)Optional

  This class provides mechanism to validate message against HL7 v 2.8.2 standard. The class provides accessors & mutators for the elements mentioned above. The class has validate method which validates Message against HL7 v 2.8.2 standard.

  User can also create Segment through `SegmentFactory`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `PDC()` Constructs the PDC segment.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addManufacturerDistributor(java.lang.String strOrganizationName, CWE objOrganizationNameTypeCode, HD objAssigningAuthority, java.lang.String strIdentifierTypeCode, HD objAssigningFacility, java.lang.String strNameRepresentationCode, java.lang.String strOrganizationIdentifier)` Add the Manufacturer Distributor.
    `void` | `addManufacturerDistributor(XON objmanufacturerDistributor)` Add the Manufacturer Distributor.
    `void` | `addModelIdentifier(ST objmodelIdentifier)` Add the Model Identifier.
    `void` | `addModelIdentifier(java.lang.String strModelIdentifier)` Add the Model Identifier.
    `void` | `addOtherIdentifier(ST objotherIdentifier)` Add the Other Identifier.
    `void` | `addOtherIdentifier(java.lang.String strOtherIdentifier)` Add the Other Identifier.
    `ST` | `getBrandName()` Retrieves the Brand Name.
    `ST` | `getCatalogueIdentifier()` Retrieves the Catalogue Identifier.
    `CWE` | `getCountry()` Retrieves the Country.
    `DTM` | `getDateFirstMarketed()` Retrieves the Date First Marketed.
    `DTM` | `getDateLastMarketed()` Retrieves the Date Last Marketed.
    `ST` | `getDeviceFamilyName()` Retrieves the Device Family Name.
    `CQ` | `getExpectedShelfLife()` Retrieves the Expected Shelf Life.
    `CWE` | `getGenericName()` Retrieves the Generic Name.
    `CQ` | `getLabeledShelfLife()` Retrieves the Labeled Shelf Life.
    `ISingleCollection<XON>` | `getManufacturerDistributor()` Retrieves the Manufacturer Distributor.
    `ST` | `getMarketingApprovalID()` Retrieves the Marketing Approval ID.
    `ID` | `getMarketingBasis()` Retrieves the Marketing Basis.
    `ISingleCollection<ST>` | `getModelIdentifier()` Retrieves the Model Identifier.
    `ISingleCollection<ST>` | `getOtherIdentifier()` Retrieves the Other Identifier.
    `CWE` | `getProductCode()` Retrieves the Product Code.
    `void` | `setBrandName(ST objbrandName)` Set the Brand Name.
    `void` | `setBrandName(java.lang.String strBrandName)` Set the Brand Name.
    `void` | `setCatalogueIdentifier(ST objcatalogueIdentifier)` Set the Catalogue Identifier.
    `void` | `setCatalogueIdentifier(java.lang.String strCatalogueIdentifier)` Set the Catalogue Identifier.
    `void` | `setCountry(CWE objcountry)` Set the Country.
    `void` | `setCountry(java.lang.String strIdentifier, java.lang.String strText, java.lang.String strNameOfCodingSystem, java.lang.String strAlternateIdentifier, java.lang.String strAlternateText, java.lang.String strNameOfAlternateCodingSystem, java.lang.String strCodingSystemVersionID, java.lang.String strAlternateCodingSystemVersionId, java.lang.String strOriginalText, java.lang.String strSecondAlternateIdentifier, java.lang.String strSecondAlternateText, java.lang.String strNameofSecondAlternateCodingSystem, java.lang.String strSecondAlternateCodingSystemVersionID, java.lang.String strCodingSystemOID, java.lang.String strValueSetOID, java.lang.String strValueSetVersionID, java.lang.String strAlternateCodingSystemOID, java.lang.String strAlternateValueSetOID, java.lang.String strAlternateValueSetVersionID, java.lang.String strSecondAlternateCodingSystemOID, java.lang.String strSecondAlternateValueSetOID, java.lang.String strSecondAlternateValueSetVersionID)` Set the Country.
    `void` | `setDateFirstMarketed(DTM objdateFirstMarketed)` Set the Date First Marketed.
    `void` | `setDateFirstMarketed(java.lang.String strTime)` Set the Date First Marketed.
    `void` | `setDateLastMarketed(DTM objdateLastMarketed)` Set the Date Last Marketed.
    `void` | `setDateLastMarketed(java.lang.String strTime)` Set the Date Last Marketed.
    `void` | `setDeviceFamilyName(ST objdeviceFamilyName)` Set the Device Family Name.
    `void` | `setDeviceFamilyName(java.lang.String strDeviceFamilyName)` Set the Device Family Name.
    `void` | `setExpectedShelfLife(CQ objexpectedShelfLife)` Set the Expected Shelf Life.
    `void` | `setExpectedShelfLife(java.lang.String strQuantity, CWE objUnits)` Set the Expected Shelf Life.
    `void` | `setGenericName(CWE objgenericName)` Set the Generic Name.
    `void` | `setGenericName(java.lang.String strIdentifier, java.lang.String strText, java.lang.String strNameOfCodingSystem, java.lang.String strAlternateIdentifier, java.lang.String strAlternateText, java.lang.String strNameOfAlternateCodingSystem, java.lang.String strCodingSystemVersionID, java.lang.String strAlternateCodingSystemVersionId, java.lang.String strOriginalText, java.lang.String strSecondAlternateIdentifier, java.lang.String strSecondAlternateText, java.lang.String strNameofSecondAlternateCodingSystem, java.lang.String strSecondAlternateCodingSystemVersionID, java.lang.String strCodingSystemOID, java.lang.String strValueSetOID, java.lang.String strValueSetVersionID, java.lang.String strAlternateCodingSystemOID, java.lang.String strAlternateValueSetOID, java.lang.String strAlternateValueSetVersionID, java.lang.String strSecondAlternateCodingSystemOID, java.lang.String strSecondAlternateValueSetOID, java.lang.String strSecondAlternateValueSetVersionID)` Set the Generic Name.
    `void` | `setLabeledShelfLife(CQ objlabeledShelfLife)` Set the Labeled Shelf Life.
    `void` | `setLabeledShelfLife(java.lang.String strQuantity, CWE objUnits)` Set the Labeled Shelf Life.
    `void` | `setManufacturerDistributor(ISingleCollection<XON> objmanufacturerDistributorList)` Set the Manufacturer Distributor.
    `void` | `setMarketingApprovalID(ST objmarketingApprovalID)` Set the Marketing Approval ID.
    `void` | `setMarketingApprovalID(java.lang.String strMarketingApprovalID)` Set the Marketing Approval ID.
    `void` | `setMarketingBasis(ID objmarketingBasis)` Set the Marketing Basis.
    `void` | `setMarketingBasis(java.lang.String strMarketingBasis)` Set the Marketing Basis.
    `void` | `setModelIdentifier(ISingleCollection<ST> objmodelIdentifierList)` Set the Model Identifier.
    `void` | `setOtherIdentifier(ISingleCollection<ST> objotherIdentifierList)` Set the Other Identifier.
    `void` | `setProductCode(CWE objproductCode)` Set the Product Code.
    `void` | `setProductCode(java.lang.String strIdentifier, java.lang.String strText, java.lang.String strNameOfCodingSystem, java.lang.String strAlternateIdentifier, java.lang.String strAlternateText, java.lang.String strNameOfAlternateCodingSystem, java.lang.String strCodingSystemVersionID, java.lang.String strAlternateCodingSystemVersionId, java.lang.String strOriginalText, java.lang.String strSecondAlternateIdentifier, java.lang.String strSecondAlternateText, java.lang.String strNameofSecondAlternateCodingSystem, java.lang.String strSecondAlternateCodingSystemVersionID, java.lang.String strCodingSystemOID, java.lang.String strValueSetOID, java.lang.String strValueSetVersionID, java.lang.String strAlternateCodingSystemOID, java.lang.String strAlternateValueSetOID, java.lang.String strAlternateValueSetVersionID, java.lang.String strSecondAlternateCodingSystemOID, java.lang.String strSecondAlternateValueSetOID, java.lang.String strSecondAlternateValueSetVersionID)` Set the Product Code.
    `boolean` | `validate()` Validates HL7 Message objects .

    - ### Methods inherited from class cdac.medinfo.sdk.hl7282.baselibs.segments.Segment

      `addUnRecognizedField, dumpSegment, getFields, getName, getUnrecognizedFields, moveToNextSegment, parse, removeDataElement, removeDataElement, serialize, setName, setUnRecognizedField, updateDataElement, updateDataElement, writeToXML`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PDC

          public PDC()

      Constructs the PDC segment.

  - ### Method Detail

    - #### getBrandName

          public ST getBrandName()

      Retrieves the Brand Name. This field contains the name under which the product is marketed by this manufacturer.
      Returns:
        ST - brandName

    - #### getCatalogueIdentifier

          public ST getCatalogueIdentifier()

      Retrieves the Catalogue Identifier. This field contains the manufacturer's catalogue identifier for the product.
      Returns:
        ST - catalogueIdentifier

    - #### getCountry

          public CWE getCountry()

      Retrieves the Country. This field contains the country to which this product detail is relevant.
      Returns:
        CWE - country

    - #### getDateFirstMarketed

          public DTM getDateFirstMarketed()

      Retrieves the Date First Marketed. This field contains the date of the product is first marketed in the country.
      Returns:
        DTM - dateFirstMarketed

    - #### getDateLastMarketed

          public DTM getDateLastMarketed()

      Retrieves the Date Last Marketed. This field contains the date of the product is last marketed in the country.
      Returns:
        DTM - dateLastMarketed

    - #### getDeviceFamilyName

          public ST getDeviceFamilyName()

      Retrieves the Device Family Name. This field contains the name used by the manufacturer to describe the family of the products to which this product belongs.
      Returns:
        ST - deviceFamilyName

    - #### getExpectedShelfLife

          public CQ getExpectedShelfLife()

      Retrieves the Expected Shelf Life. This field contains the shelf life of the product expected by the manufacturer.
      Returns:
        CQ - expectedShelfLife

    - #### getGenericName

          public CWE getGenericName()

      Retrieves the Generic Name. This field contains the name generically used to identify the product.
      Returns:
        CWE - genericName

    - #### getLabeledShelfLife

          public CQ getLabeledShelfLife()

      Retrieves the Labeled Shelf Life. This field contains the shelf life of the product as labeled.
      Returns:
        CQ - labeledShelfLife

    - #### getManufacturerDistributor

          public ISingleCollection<XON> getManufacturerDistributor()

      Retrieves the Manufacturer Distributor. This field contains the identity of the manufacturer/distributor.
      Returns:
        ISingleCollection - manufacturerDistributor

    - #### getMarketingApprovalID

          public ST getMarketingApprovalID()

      Retrieves the Marketing Approval ID. This field contains the designation or description of the marketing basis.
      Returns:
        ST - marketingApprovalID

    - #### getMarketingBasis

          public ID getMarketingBasis()

      Retrieves the Marketing Basis. This field contains the basis for marketing approval.
      Returns:
        ID - marketingBasis

    - #### getModelIdentifier

          public ISingleCollection<ST> getModelIdentifier()

      Retrieves the Model Identifier. This field contains the manufacturer's model identifier for the product.
      Returns:
        ISingleCollection - modelIdentifier

    - #### getOtherIdentifier

          public ISingleCollection<ST> getOtherIdentifier()

      Retrieves the Other Identifier. This field contains any other identifier used to for the product.
      Returns:
        ISingleCollection - otherIdentifier

    - #### getProductCode

          public CWE getProductCode()

      Retrieves the Product Code. This field contains the product code from an external coding system such as that used by the CDRH at the FDA.
      Returns:
        CWE - productCode

    - #### setBrandName

          public void setBrandName(java.lang.String strBrandName)

      Set the Brand Name. This field contains the name under which the product is marketed by this manufacturer.
      Parameters:
        `strBrandName` - This field contains the String Value of Brand Name

    - #### setBrandName

          public void setBrandName(ST objbrandName)

      Set the Brand Name. This field contains the name under which the product is marketed by this manufacturer.
      Parameters:
        `objbrandName` - Object of Brand Name.

    - #### setCatalogueIdentifier

          public void setCatalogueIdentifier(java.lang.String strCatalogueIdentifier)

      Set the Catalogue Identifier. This field contains the manufacturer's catalogue identifier for the product.
      Parameters:
        `strCatalogueIdentifier` - This field contains the String Value of Catalogue Identifier

    - #### setCatalogueIdentifier

          public void setCatalogueIdentifier(ST objcatalogueIdentifier)

      Set the Catalogue Identifier. This field contains the manufacturer's catalogue identifier for the product.
      Parameters:
        `objcatalogueIdentifier` - Object of Catalogue Identifier.

    - #### setCountry

          public void setCountry(java.lang.String strIdentifier,
                        java.lang.String strText,
                        java.lang.String strNameOfCodingSystem,
                        java.lang.String strAlternateIdentifier,
                        java.lang.String strAlternateText,
                        java.lang.String strNameOfAlternateCodingSystem,
                        java.lang.String strCodingSystemVersionID,
                        java.lang.String strAlternateCodingSystemVersionId,
                        java.lang.String strOriginalText,
                        java.lang.String strSecondAlternateIdentifier,
                        java.lang.String strSecondAlternateText,
                        java.lang.String strNameofSecondAlternateCodingSystem,
                        java.lang.String strSecondAlternateCodingSystemVersionID,
                        java.lang.String strCodingSystemOID,
                        java.lang.String strValueSetOID,
                        java.lang.String strValueSetVersionID,
                        java.lang.String strAlternateCodingSystemOID,
                        java.lang.String strAlternateValueSetOID,
                        java.lang.String strAlternateValueSetVersionID,
                        java.lang.String strSecondAlternateCodingSystemOID,
                        java.lang.String strSecondAlternateValueSetOID,
                        java.lang.String strSecondAlternateValueSetVersionID)

      Set the Country. This field contains the country to which this product detail is relevant.
      Parameters:
        `strIdentifier` - Specifies of characters (the code) that uniquely identifies the item being referenced.
        `strText` - Specifies The descriptive or textual name of the identifier, e.g., myocardial infarction.
        `strNameOfCodingSystem` - Identifies the coding scheme being used in the identifier component.
        `strAlternateIdentifier` - Specifies an alternate sequence of characters (the code) that uniquely identifies the item being referenced.
        `strAlternateText` - Specifies the descriptive or textual name of the alternate identifier. See usage note in section introduction.
        `strNameOfAlternateCodingSystem` - Identifies the coding scheme being used in the alternate identifier component.
        `strCodingSystemVersionID` - A sequence of characters that uniquely identifies a second alternate code.
        `strAlternateCodingSystemVersionId` - This component carries the version for the coding system identified by components 4-6.
        `strOriginalText` - The text as seen and/or selected by the user who entered the data.
        `strSecondAlternateIdentifier` - A sequence of characters that uniquely identifies a second alternate code.
        `strSecondAlternateText` - The descriptive or textual name of the alternate identifier.
        `strNameofSecondAlternateCodingSystem` - Identifies the coding scheme being used in the alternate identifier component.
        `strSecondAlternateCodingSystemVersionID` - This component carries the version for the coding system identified by components 10-12.
        `strCodingSystemOID` - This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.3.
        `strValueSetOID` - This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.1 is obtained.
        `strValueSetVersionID` - This component carries the version for the value set identified by CWE.15. The version is a date. The date is the date/time that the value set being used was published.
        `strAlternateCodingSystemOID` - This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.6.
        `strAlternateValueSetOID` - This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.4 is obtained.
        `strAlternateValueSetVersionID` - This component carries the version for the value set identified by CWE.18. The version is a date.
        `strSecondAlternateCodingSystemOID` - This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.12.
        `strSecondAlternateValueSetOID` - This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.10 is obtained.
        `strSecondAlternateValueSetVersionID` - This component carries the version for the value set identified by CWE.21. The version is a date.

    - #### setCountry

          public void setCountry(CWE objcountry)

      Set the Country. This field contains the country to which this product detail is relevant.
      Parameters:
        `objcountry` - Object of Country.

    - #### setDateFirstMarketed

          public void setDateFirstMarketed(java.lang.String strTime)

      Set the Date First Marketed. This field contains the date of the product is first marketed in the country.
      Parameters:
        `strTime` - Specifies a point in time using a 24-hour clock notation.

    - #### setDateFirstMarketed

          public void setDateFirstMarketed(DTM objdateFirstMarketed)

      Set the Date First Marketed. This field contains the date of the product is first marketed in the country.
      Parameters:
        `objdateFirstMarketed` - OBject of Date First Marketed.

    - #### setDateLastMarketed

          public void setDateLastMarketed(java.lang.String strTime)

      Set the Date Last Marketed. This field contains the date of the product is last marketed in the country.
      Parameters:
        `strTime` - Specifies a point in time using a 24-hour clock notation.

    - #### setDateLastMarketed

          public void setDateLastMarketed(DTM objdateLastMarketed)

      Set the Date Last Marketed. This field contains the date of the product is last marketed in the country.
      Parameters:
        `objdateLastMarketed` - Object of Date Last Marketed.

    - #### setDeviceFamilyName

          public void setDeviceFamilyName(java.lang.String strDeviceFamilyName)

      Set the Device Family Name. This field contains the name used by the manufacturer to describe the family of the products to which this product belongs.
      Parameters:
        `strDeviceFamilyName` - This field contains the String Value of Device Family Name

    - #### setDeviceFamilyName

          public void setDeviceFamilyName(ST objdeviceFamilyName)

      Set the Device Family Name. This field contains the name used by the manufacturer to describe the family of the products to which this product belongs.
      Parameters:
        `objdeviceFamilyName` - object of Device Family Name.

    - #### setExpectedShelfLife

          public void setExpectedShelfLife(java.lang.String strQuantity,
                                  CWE objUnits)

      Set the Expected Shelf Life. This field contains the shelf life of the product expected by the manufacturer.
      Parameters:
        `strQuantity` - Specifies the numeric quantity or amount of an entity.
        `objUnits` - Specifies the units in which the quantity is expressed.

    - #### setExpectedShelfLife

          public void setExpectedShelfLife(CQ objexpectedShelfLife)

      Set the Expected Shelf Life. This field contains the shelf life of the product expected by the manufacturer.
      Parameters:
        `objexpectedShelfLife` - Object of Expected Shelf Life.

    - #### setGenericName

          public void setGenericName(java.lang.String strIdentifier,
                            java.lang.String strText,
                            java.lang.String strNameOfCodingSystem,
                            java.lang.String strAlternateIdentifier,
                            java.lang.String strAlternateText,
                            java.lang.String strNameOfAlternateCodingSystem,
                            java.lang.String strCodingSystemVersionID,
                            java.lang.String strAlternateCodingSystemVersionId,
                            java.lang.String strOriginalText,
                            java.lang.String strSecondAlternateIdentifier,
                            java.lang.String strSecondAlternateText,
                            java.lang.String strNameofSecondAlternateCodingSystem,
                            java.lang.String strSecondAlternateCodingSystemVersionID,
                            java.lang.String strCodingSystemOID,
                            java.lang.String strValueSetOID,
                            java.lang.String strValueSetVersionID,
                            java.lang.String strAlternateCodingSystemOID,
                            java.lang.String strAlternateValueSetOID,
                            java.lang.String strAlternateValueSetVersionID,
                            java.lang.String strSecondAlternateCodingSystemOID,
                            java.lang.String strSecondAlternateValueSetOID,
                            java.lang.String strSecondAlternateValueSetVersionID)

      Set the Generic Name. This field contains the name generically used to identify the product.
      Parameters:
        `strIdentifier` - Specifies of characters (the code) that uniquely identifies the item being referenced.
        `strText` - Specifies The descriptive or textual name of the identifier, e.g., myocardial infarction.
        `strNameOfCodingSystem` - Identifies the coding scheme being used in the identifier component.
        `strAlternateIdentifier` - Specifies an alternate sequence of characters (the code) that uniquely identifies the item being referenced.
        `strAlternateText` - Specifies the descriptive or textual name of the alternate identifier. See usage note in section introduction.
        `strNameOfAlternateCodingSystem` - Identifies the coding scheme being used in the alternate identifier component.
        `strCodingSystemVersionID` - A sequence of characters that uniquely identifies a second alternate code.
        `strAlternateCodingSystemVersionId` - This component carries the version for the coding system identified by components 4-6.
        `strOriginalText` - The text as seen and/or selected by the user who entered the data.
        `strSecondAlternateIdentifier` - A sequence of characters that uniquely identifies a second alternate code.
        `strSecondAlternateText` - The descriptive or textual name of the alternate identifier.
        `strNameofSecondAlternateCodingSystem` - Identifies the coding scheme being used in the alternate identifier component.
        `strSecondAlternateCodingSystemVersionID` - This component carries the version for the coding system identified by components 10-12.
        `strCodingSystemOID` - This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.3.
        `strValueSetOID` - This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.1 is obtained.
        `strValueSetVersionID` - This component carries the version for the value set identified by CWE.15. The version is a date. The date is the date/time that the value set being used was published.
        `strAlternateCodingSystemOID` - This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.6.
        `strAlternateValueSetOID` - This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.4 is obtained.
        `strAlternateValueSetVersionID` - This component carries the version for the value set identified by CWE.18. The version is a date.
        `strSecondAlternateCodingSystemOID` - This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.12.
        `strSecondAlternateValueSetOID` - This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.10 is obtained.
        `strSecondAlternateValueSetVersionID` - This component carries the version for the value set identified by CWE.21. The version is a date.

    - #### setGenericName

          public void setGenericName(CWE objgenericName)

      Set the Generic Name. This field contains the name generically used to identify the product.
      Parameters:
        `objgenericName` - Object of Generic Name.

    - #### setLabeledShelfLife

          public void setLabeledShelfLife(java.lang.String strQuantity,
                                 CWE objUnits)

      Set the Labeled Shelf Life. This field contains the shelf life of the product as labeled.
      Parameters:
        `strQuantity` - Specifies the numeric quantity or amount of an entity.
        `objUnits` - Specifies the units in which the quantity is expressed.

    - #### setLabeledShelfLife

          public void setLabeledShelfLife(CQ objlabeledShelfLife)

      Set the Labeled Shelf Life. This field contains the shelf life of the product as labeled.
      Parameters:
        `objlabeledShelfLife` - Object of Labeled Shelf Life.

    - #### addManufacturerDistributor

          public void addManufacturerDistributor(java.lang.String strOrganizationName,
                                        CWE objOrganizationNameTypeCode,
                                        HD objAssigningAuthority,
                                        java.lang.String strIdentifierTypeCode,
                                        HD objAssigningFacility,
                                        java.lang.String strNameRepresentationCode,
                                        java.lang.String strOrganizationIdentifier)

      Add the Manufacturer Distributor. This field contains the identity of the manufacturer/distributor.
      Parameters:
        `strOrganizationName` - Specifies name of the specified organization.
        `strOrganizationNameTypeCode` - Specifies a code that represents the type of name i.e., legal name, display name. Suggested Values A,L,D,SL.[Refer to table No.0204]
        `objAssigningAuthority` - Specifies The assigning authority is a unique identifier of the system (or organization or agency or department) that creates the data.
        `strIdentifierTypeCode` - Specifies a code corresponding to the type of identifier.
        `objAssigningFacility` - Specifies The place or location identifier where the identifier was first assigned to the person.
        `strNameRepresentationCode` - Specifies representations of the same name/address Suggested values are I,A,P [Refer table 0465]
        `strOrganizationIdentifier` - This component contains the sequence of characters (the code) that uniquely identifies the item being referenced by XON.1 Organization Name. This component replaces XON.3 ID Number as of v 2.5.

    - #### addManufacturerDistributor

          public void addManufacturerDistributor(XON objmanufacturerDistributor)

      Add the Manufacturer Distributor. This field contains the identity of the manufacturer/distributor.
      Parameters:
        `objmanufacturerDistributor` - Object of Manufacturer Distributor.

    - #### setManufacturerDistributor

          public void setManufacturerDistributor(ISingleCollection<XON> objmanufacturerDistributorList)

      Set the Manufacturer Distributor. This field contains the identity of the manufacturer/distributor.
      Parameters:
        `objmanufacturerDistributorList` - List of Manufacturer Distributor.

    - #### setMarketingApprovalID

          public void setMarketingApprovalID(java.lang.String strMarketingApprovalID)

      Set the Marketing Approval ID. This field contains the designation or description of the marketing basis.
      Parameters:
        `strMarketingApprovalID` - This field contains the String Value of Marketing Approval ID

    - #### setMarketingApprovalID

          public void setMarketingApprovalID(ST objmarketingApprovalID)

      Set the Marketing Approval ID. This field contains the designation or description of the marketing basis.
      Parameters:
        `objmarketingApprovalID` - Object of Marketing Approval ID.

    - #### setMarketingBasis

          public void setMarketingBasis(java.lang.String strMarketingBasis)

      Set the Marketing Basis. This field contains the basis for marketing approval.
      Parameters:
        `strMarketingBasis` - This field contains the String Value of Marketing Basis

    - #### setMarketingBasis

          public void setMarketingBasis(ID objmarketingBasis)

      Set the Marketing Basis. This field contains the basis for marketing approval.
      Parameters:
        `objmarketingBasis` - Object of Marketing Basis.

    - #### addModelIdentifier

          public void addModelIdentifier(java.lang.String strModelIdentifier)

      Add the Model Identifier. This field contains the manufacturer's model identifier for the product.
      Parameters:
        `strModelIdentifier` - This field contains the String Value of Model Identifier

    - #### addModelIdentifier

          public void addModelIdentifier(ST objmodelIdentifier)

      Add the Model Identifier. This field contains the manufacturer's model identifier for the product.
      Parameters:
        `objmodelIdentifier` - Object of Model Identifier.

    - #### setModelIdentifier

          public void setModelIdentifier(ISingleCollection<ST> objmodelIdentifierList)

      Set the Model Identifier. This field contains the manufacturer's model identifier for the product.
      Parameters:
        `objmodelIdentifierList` - List of Model Identifier.

    - #### addOtherIdentifier

          public void addOtherIdentifier(java.lang.String strOtherIdentifier)

      Add the Other Identifier. This field contains any other identifier used to for the product.
      Parameters:
        `strOtherIdentifier` - This field contains the String Value of Other Identifier

    - #### addOtherIdentifier

          public void addOtherIdentifier(ST objotherIdentifier)

      Add the Other Identifier. This field contains any other identifier used to for the product.
      Parameters:
        `objotherIdentifier` - Object of Other Identifier.

    - #### setOtherIdentifier

          public void setOtherIdentifier(ISingleCollection<ST> objotherIdentifierList)

      Set the Other Identifier. This field contains any other identifier used to for the product.
      Parameters:
        `objotherIdentifierList` - List of Other Identifier.

    - #### setProductCode

          public void setProductCode(java.lang.String strIdentifier,
                            java.lang.String strText,
                            java.lang.String strNameOfCodingSystem,
                            java.lang.String strAlternateIdentifier,
                            java.lang.String strAlternateText,
                            java.lang.String strNameOfAlternateCodingSystem,
                            java.lang.String strCodingSystemVersionID,
                            java.lang.String strAlternateCodingSystemVersionId,
                            java.lang.String strOriginalText,
                            java.lang.String strSecondAlternateIdentifier,
                            java.lang.String strSecondAlternateText,
                            java.lang.String strNameofSecondAlternateCodingSystem,
                            java.lang.String strSecondAlternateCodingSystemVersionID,
                            java.lang.String strCodingSystemOID,
                            java.lang.String strValueSetOID,
                            java.lang.String strValueSetVersionID,
                            java.lang.String strAlternateCodingSystemOID,
                            java.lang.String strAlternateValueSetOID,
                            java.lang.String strAlternateValueSetVersionID,
                            java.lang.String strSecondAlternateCodingSystemOID,
                            java.lang.String strSecondAlternateValueSetOID,
                            java.lang.String strSecondAlternateValueSetVersionID)

      Set the Product Code. This field contains the product code from an external coding system such as that used by the CDRH at the FDA.
      Parameters:
        `strIdentifier` - Specifies of characters (the code) that uniquely identifies the item being referenced.
        `strText` - Specifies The descriptive or textual name of the identifier, e.g., myocardial infarction.
        `strNameOfCodingSystem` - Identifies the coding scheme being used in the identifier component.
        `strAlternateIdentifier` - Specifies an alternate sequence of characters (the code) that uniquely identifies the item being referenced.
        `strAlternateText` - Specifies the descriptive or textual name of the alternate identifier. See usage note in section introduction.
        `strNameOfAlternateCodingSystem` - Identifies the coding scheme being used in the alternate identifier component.
        `strCodingSystemVersionID` - A sequence of characters that uniquely identifies a second alternate code.
        `strAlternateCodingSystemVersionId` - This component carries the version for the coding system identified by components 4-6.
        `strOriginalText` - The text as seen and/or selected by the user who entered the data.
        `strSecondAlternateIdentifier` - A sequence of characters that uniquely identifies a second alternate code.
        `strSecondAlternateText` - The descriptive or textual name of the alternate identifier.
        `strNameofSecondAlternateCodingSystem` - Identifies the coding scheme being used in the alternate identifier component.
        `strSecondAlternateCodingSystemVersionID` - This component carries the version for the coding system identified by components 10-12.
        `strCodingSystemOID` - This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.3.
        `strValueSetOID` - This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.1 is obtained.
        `strValueSetVersionID` - This component carries the version for the value set identified by CWE.15. The version is a date. The date is the date/time that the value set being used was published.
        `strAlternateCodingSystemOID` - This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.6.
        `strAlternateValueSetOID` - This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.4 is obtained.
        `strAlternateValueSetVersionID` - This component carries the version for the value set identified by CWE.18. The version is a date.
        `strSecondAlternateCodingSystemOID` - This component contains the ISO Object Identifier (OID) for the coding system or value set named in CWE.12.
        `strSecondAlternateValueSetOID` - This component contains the ISO Object Identifier (OID) to allow identification of the value set from which the value in CWE.10 is obtained.
        `strSecondAlternateValueSetVersionID` - This component carries the version for the value set identified by CWE.21. The version is a date.

    - #### setProductCode

          public void setProductCode(CWE objproductCode)

      Set the Product Code. This field contains the product code from an external coding system such as that used by the CDRH at the FDA.
      Parameters:
        `objproductCode` - Object of Product Code.

    - #### validate

          public boolean validate()
                           throws InvalidSegmentException

      Validates HL7 Message objects . Validate method checks for validation each and every segments in side the Message object against specified message Structure. Validation checks include optionality of segment or group. It also verifies the number of times segment or group is repeated in message. e.g {PSH} while parsing PSH segment validate method will check for its mandatory presence. [PSH] in this case validate will throw exception if one tries to enter more than one PSH segment.
      Specified by:
        `validate` in interface `ISegment`
      Overrides:
        `validate` in class `Segment`
      Returns:
        boolean - true or false.
      Throws:
        `InvalidSegmentException` - Throws when Segment Validation fails.