cdac.medinfo.sdk.hl7282.baselibs.segments

## Class AIG

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

- All Implemented Interfaces:
    ISegment

      public class AIG
      extends Segment

  AIG - Appointment Information - General Resource Segment

  The AIG segment contains information about various kinds of resources (other than those with specifically defined segments in this chapter) that can be scheduled.

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

  AIG-1: Set ID - AIG (SI)Required
  AIG-2: Segment Action Code (ID)Conditional
  AIG-3: Resource ID (CWE)Conditional
  AIG-4: Resource Type (CWE)Required
  AIG-5: Resource Group (CWE)Optional
  AIG-6: Resource Quantity (NM)Optional
  AIG-7: Resource Quantity Units (CNE)Optional
  AIG-8: Start Date/Time (DTM)Conditional
  AIG-9: Start Date/Time Offset (NM)Conditional
  AIG-10: Start Date/Time Offset Units (CNE)Conditional
  AIG-11: Duration (NM)Optional
  AIG-12: Duration Units (CNE)Optional
  AIG-13: Allow Substitution Code (CWE)Conditional
  AIG-14: Filler Status Code (CWE)Conditional

  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
    `AIG()` Constructs the AIG segment.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addResourceGroup(CWE objresourceGroup)` Add the Resource Group.
    `void` | `addResourceGroup(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)` Add the Resource Group.
    `CWE` | `getAllowSubstitutionCode()` Retrieves the Allow Substitution Code.
    `NM` | `getDuration()` Retrieves the Duration.
    `CNE` | `getDurationUnits()` Retrieves the Duration Units.
    `CWE` | `getFillerStatusCode()` Retrieves the Filler Status Code.
    `ISingleCollection<CWE>` | `getResourceGroup()` Retrieves the Resource Group.
    `CWE` | `getResourceID()` Retrieves the Resource ID.
    `NM` | `getResourceQuantity()` Retrieves the Resource Quantity.
    `CNE` | `getResourceQuantityUnits()` Retrieves the Resource Quantity Units.
    `CWE` | `getResourceType()` Retrieves the Resource Type.
    `ID` | `getSegmentActionCode()` Retrieves the Segment Action Code.
    `SI` | `getSetID_AIG()` Retrieves the Set ID AIG.
    `DTM` | `getStartDateTime()` Retrieves the Start Date Time.
    `NM` | `getStartDateTimeOffset()` Retrieves the Start Date Time Offset.
    `CNE` | `getStartDateTimeOffsetUnits()` Retrieves the Start Date Time Offset Units.
    `void` | `setAllowSubstitutionCode(CWE objallowSubstitutionCode)` Set the Allow Substitution Code.
    `void` | `setAllowSubstitutionCode(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 Allow Substitution Code.
    `void` | `setDuration(NM objduration)` Set the Duration.
    `void` | `setDuration(java.lang.String strDuration)` Set the Duration.
    `void` | `setDurationUnits(CNE objdurationUnits)` Set the Duration Units.
    `void` | `setDurationUnits(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 strNameOfSecondAltenateCodingSystem, 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 Duration Units.
    `void` | `setFillerStatusCode(CWE objfillerStatusCode)` Set the Filler Status Code.
    `void` | `setFillerStatusCode(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 Filler Status Code.
    `void` | `setResourceGroup(ISingleCollection<CWE> objresourceGroupList)` Set the Resource Group.
    `void` | `setResourceID(CWE objresourceID)` Set the Resource ID.
    `void` | `setResourceID(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 Resource ID.
    `void` | `setResourceQuantity(NM objresourceQuantity)` Set the Resource Quantity.
    `void` | `setResourceQuantity(java.lang.String strResourceQuantity)` Set the Resource Quantity.
    `void` | `setResourceQuantityUnits(CNE objresourceQuantityUnits)` Set the Resource Quantity Units.
    `void` | `setResourceQuantityUnits(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 strNameOfSecondAltenateCodingSystem, 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 Resource Quantity Units.
    `void` | `setResourceType(CWE objresourceType)` Set the Resource Type.
    `void` | `setResourceType(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 Resource Type.
    `void` | `setSegmentActionCode(ID objsegmentActionCode)` Set the Segment Action Code.
    `void` | `setSegmentActionCode(java.lang.String strSegmentActionCode)` Set the Segment Action Code.
    `void` | `setSetID_AIG(SI objsetID_AIG)` Set the Set ID AIG.
    `void` | `setSetID_AIG(java.lang.String strSetID_AIG)` Set the Set ID AIG.
    `void` | `setStartDateTime(DTM objstartDateTime)` Set the Start Date Time.
    `void` | `setStartDateTime(java.lang.String strTime)` Set the Start Date Time.
    `void` | `setStartDateTimeOffset(NM objstartDateTimeOffset)` Set the Start Date Time Offset.
    `void` | `setStartDateTimeOffset(java.lang.String strStartDateTimeOffset)` Set the Start Date Time Offset.
    `void` | `setStartDateTimeOffsetUnits(CNE objstartDateTimeOffsetUnits)` Set the Start Date Time Offset Units.
    `void` | `setStartDateTimeOffsetUnits(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 strNameOfSecondAltenateCodingSystem, 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 Start Date Time Offset Units.
    `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

    - #### AIG

          public AIG()

      Constructs the AIG segment.

  - ### Method Detail

    - #### getAllowSubstitutionCode

          public CWE getAllowSubstitutionCode()

      Retrieves the Allow Substitution Code.
      Returns:
        CWE - allowSubstitutionCode

    - #### getDuration

          public NM getDuration()

      Retrieves the Duration. This field specify the duration for which the resource is requested/scheduled for this appointment, if it is different than the overall duration of the requested/scheduled appointment.
      Returns:
        NM - duration

    - #### getDurationUnits

          public CNE getDurationUnits()

      Retrieves the Duration Units. This field specify the code that describing the units of time used for expressing the AIG-11-Duration field.
      Returns:
        CNE - durationUnits

    - #### getFillerStatusCode

          public CWE getFillerStatusCode()

      Retrieves the Filler Status Code.
      Returns:
        CWE - fillerStatusCode

    - #### getResourceGroup

          public ISingleCollection<CWE> getResourceGroup()

      Retrieves the Resource Group.
      Returns:
        ISingleCollection - resourceGroup

    - #### getResourceID

          public CWE getResourceID()

      Retrieves the Resource ID. This field specify the ID number and name of the resource being requested or scheduled for an appointment.
      Returns:
        CWE - resourceID

    - #### getResourceQuantity

          public NM getResourceQuantity()

      Retrieves the Resource Quantity. This field specify the quantity of the specific resource or resource type identify in either or both of the preceding two fields. If it is not valued, this field defaults to a value of one (1).
      Returns:
        NM - resourceQuantity

    - #### getResourceQuantityUnits

          public CNE getResourceQuantityUnits()

      Retrieves the Resource Quantity Units.
      Returns:
        CNE - resourceQuantityUnits

    - #### getResourceType

          public CWE getResourceType()

      Retrieves the Resource Type. This field specify the role of the resource requested/scheduled for this appointment. For requests, if a specific resource is not identified in AIG-3-Resource ID, then this field identifies the type of resource that should be scheduled by the filler application.
      Returns:
        CWE - resourceType

    - #### getSegmentActionCode

          public ID getSegmentActionCode()

      Retrieves the Segment Action Code. This field specify the action to be taken when updating or modifying information in this segment from previously sent interface transactions.
      Returns:
        ID - segmentActionCode

    - #### getSetID_AIG

          public SI getSetID_AIG()

      Retrieves the Set ID AIG.
      Returns:
        SI - setID_AIG

    - #### getStartDateTime

          public DTM getStartDateTime()

      Retrieves the Start Date Time. This field specify the date and time and this needs for the appointment.
      Returns:
        DTM - startDateTime

    - #### getStartDateTimeOffset

          public NM getStartDateTimeOffset()

      Retrieves the Start Date Time Offset. This field specify the offset and this needs for the appointment, expressed in units of time relative to the scheduled start date/time.
      Returns:
        NM - startDateTimeOffset

    - #### getStartDateTimeOffsetUnits

          public CNE getStartDateTimeOffsetUnits()

      Retrieves the Start Date Time Offset Units. This field specify the code describing the units of time used for expressing AIG-9-Start date/time offset.
      Returns:
        CNE - startDateTimeOffsetUnits

    - #### setSetID_AIG

          public void setSetID_AIG(java.lang.String strSetID_AIG)

      Set the Set ID AIG.
      Parameters:
        `strSetID_AIG` - This field contains a number that uniquely identifies the information represented by this segment in this transaction for the purposes of addition, change or deletion.

    - #### setSetID_AIG

          public void setSetID_AIG(SI objsetID_AIG)

      Set the Set ID AIG.
      Parameters:
        `objsetID_AIG` - Object of Set ID AIG.

    - #### setSegmentActionCode

          public void setSegmentActionCode(java.lang.String strSegmentActionCode)

      Set the Segment Action Code. This field specify the action to be taken when updating or modifying information in this segment from previously sent interface transactions.
      Parameters:
        `strSegmentActionCode` - String value of Segment Action Code.

    - #### setSegmentActionCode

          public void setSegmentActionCode(ID objsegmentActionCode)

      Set the Segment Action Code. This field specify the action to be taken when updating or modifying information in this segment from previously sent interface transactions.
      Parameters:
        `objsegmentActionCode` - Object of Segment Action Code.

    - #### setResourceID

          public void setResourceID(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 Resource ID. This field specify the ID number and name of the resource being requested or scheduled for an appointment.
      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.

    - #### setResourceID

          public void setResourceID(CWE objresourceID)

      Set the Resource ID. This field specify the ID number and name of the resource being requested or scheduled for an appointment.
      Parameters:
        `objresourceID` - Object of Resource ID.

    - #### setResourceType

          public void setResourceType(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 Resource Type. This field specify the role of the resource requested/scheduled for this appointment. For requests, if a specific resource is not identified in AIG-3-Resource ID, then this field identifies the type of resource that should be scheduled by the filler application.
      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.

    - #### setResourceType

          public void setResourceType(CWE objresourceType)

      Set the Resource Type. This field specify the role of the resource requested/scheduled for this appointment. For requests, if a specific resource is not identified in AIG-3-Resource ID, then this field identifies the type of resource that should be scheduled by the filler application.
      Parameters:
        `objresourceType` - Object of Resource Type.

    - #### addResourceGroup

          public void addResourceGroup(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)

      Add the Resource Group.
      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.

    - #### addResourceGroup

          public void addResourceGroup(CWE objresourceGroup)

      Add the Resource Group.
      Parameters:
        `objresourceGroup` - Object of Resource Group.

    - #### setResourceGroup

          public void setResourceGroup(ISingleCollection<CWE> objresourceGroupList)

      Set the Resource Group.
      Parameters:
        `objresourceGroupList` - List of Resource Group.

    - #### setResourceQuantity

          public void setResourceQuantity(java.lang.String strResourceQuantity)

      Set the Resource Quantity. This field specify the quantity of the specific resource or resource type identify in either or both of the preceding two fields. If it is not valued, this field defaults to a value of one (1).
      Parameters:
        `strResourceQuantity` - The quantity of the specified resource or resource type identified in either or both of the preceding two fields.

    - #### setResourceQuantity

          public void setResourceQuantity(NM objresourceQuantity)

      Set the Resource Quantity. This field specify the quantity of the specific resource or resource type identify in either or both of the preceding two fields. If it is not valued, this field defaults to a value of one (1).
      Parameters:
        `objresourceQuantity` - Object of Resource Quantity.

    - #### setResourceQuantityUnits

          public void setResourceQuantityUnits(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 strNameOfSecondAltenateCodingSystem,
                                      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 Resource Quantity Units.
      Parameters:
        `strIdentifier` - Specifies sequence of characters (the code) that uniquely identifies the item being referenced by the CNE.
        `strText` - Specifies descriptive or textual name of the identifier, e.g., myocardial infarction
        `strNameOfCodingSystem` - Specifies the coding scheme being used in the identifier component.
        `strAlternateIdentifier` - Specifies the local or user seen code as described.
        `strAlternateText` - Specifies descriptive or textual name of the alternate identifier.
        `strNameOfAlternateCodingSystem` - Specifies the coding scheme being used in the alternate identifier component.
        `strCodingSystemVersionID` - Specifies the version ID for the coding system.
        `strAlternateCodingSystemVersionID` - Specifies the version ID for the coding system .
        `strOriginalText` - Specifies the original text that was available to an automated process or a human before a specific code was assigned.
        `strSecondAlternateIdentifier` - Specifies a sequence of characters that uniquely identifies the second alternate code
        `strSecondAlternateText` - Specifies a the textual information of the second alternate code
        `strNameOfSecondAltenateCodingSystem` - Specifies the second coding scheme being used in the identifier component.
        `strSecondAlternateCodingSystemVersionID` - Specifies version ID of Second alternative coding system.
        `strCodingSystemOID` - contains the ISO Object identifier for the coding system.
        `strValueSetOID` - contains the value set from which CNE-1 is obtained
        `strValueSetVersionID` - contains the version of the value set identified by CNE-15.
        `strAlternateCodingSystemOID` - contains the ISO Object identifier for the alternate coding system
        `strAlternateValueSetOID` - contains the value set from which CNE-4 is obtained
        `strAlternateValueSetVersionID` - contains the version of the value set identified by CNE-18.
        `strSecondAlternateCodingSystemOID` - contains the value set from which CNE-12 is obtained
        `strSecondAlternateValueSetOID` - contains the value set from which CNE-10 is obtained
        `strSecondAlternateValueSetVersionID` - contains the version of the value set identified by CNE-21.

    - #### setResourceQuantityUnits

          public void setResourceQuantityUnits(CNE objresourceQuantityUnits)

      Set the Resource Quantity Units.
      Parameters:
        `objresourceQuantityUnits` - Object of Resource Quantity Units.

    - #### setStartDateTime

          public void setStartDateTime(java.lang.String strTime)

      Set the Start Date Time. This field specify the date and time and this needs for the appointment.
      Parameters:
        `strTime` - Specifies a point in time using a 24-hour clock notation.

    - #### setStartDateTime

          public void setStartDateTime(DTM objstartDateTime)

      Set the Start Date Time. This field specify the date and time and this needs for the appointment.
      Parameters:
        `objstartDateTime` - Object of Start Date Time.

    - #### setStartDateTimeOffset

          public void setStartDateTimeOffset(java.lang.String strStartDateTimeOffset)

      Set the Start Date Time Offset. This field specify the offset and this needs for the appointment, expressed in units of time relative to the scheduled start date/time.
      Parameters:
        `strStartDateTimeOffset` - The offset that this resource needs for the appointment, expressed in units of time relative to the scheduled start date/time.

    - #### setStartDateTimeOffset

          public void setStartDateTimeOffset(NM objstartDateTimeOffset)

      Set the Start Date Time Offset. This field specify the offset and this needs for the appointment, expressed in units of time relative to the scheduled start date/time.
      Parameters:
        `objstartDateTimeOffset` - Object of Start Date Time Offset.

    - #### setStartDateTimeOffsetUnits

          public void setStartDateTimeOffsetUnits(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 strNameOfSecondAltenateCodingSystem,
                                         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 Start Date Time Offset Units. This field specify the code describing the units of time used for expressing AIG-9-Start date/time offset.
      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.

    - #### setStartDateTimeOffsetUnits

          public void setStartDateTimeOffsetUnits(CNE objstartDateTimeOffsetUnits)

      Set the Start Date Time Offset Units. This field specify the code describing the units of time used for expressing AIG-9-Start date/time offset.
      Parameters:
        `objstartDateTimeOffsetUnits` - Object of Start Date Time Offset Units.

    - #### setDuration

          public void setDuration(java.lang.String strDuration)

      Set the Duration. This field specify the duration for which the resource is requested/scheduled for this appointment, if it is different than the overall duration of the requested/scheduled appointment.
      Parameters:
        `strDuration` - String value of Duration.

    - #### setDuration

          public void setDuration(NM objduration)

      Set the Duration. This field specify the duration for which the resource is requested/scheduled for this appointment, if it is different than the overall duration of the requested/scheduled appointment.

    - #### setDurationUnits

          public void setDurationUnits(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 strNameOfSecondAltenateCodingSystem,
                              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 Duration Units. This field specify the code that describing the units of time used for expressing the AIG-11-Duration field.
      Parameters:
        `strIdentifier` - Specifies sequence of characters (the code) that uniquely identifies the item being referenced by the CNE.
        `strText` - Specifies descriptive or textual name of the identifier, e.g., myocardial infarction
        `strNameOfCodingSystem` - Specifies the coding scheme being used in the identifier component.
        `strAlternateIdentifier` - Specifies the local or user seen code as described.
        `strAlternateText` - Specifies descriptive or textual name of the alternate identifier.
        `strNameOfAlternateCodingSystem` - Specifies the coding scheme being used in the alternate identifier component.
        `strCodingSystemVersionID` - Specifies the version ID for the coding system.
        `strAlternateCodingSystemVersionID` - Specifies the version ID for the coding system .
        `strOriginalText` - Specifies the original text that was available to an automated process or a human before a specific code was assigned.
        `strSecondAlternateIdentifier` - Specifies a sequence of characters that uniquely identifies the second alternate code
        `strSecondAlternateText` - Specifies a the textual information of the second alternate code
        `strNameOfSecondAltenateCodingSystem` - Specifies the second coding scheme being used in the identifier component.
        `strSecondAlternateCodingSystemVersionID` - Specifies version ID of Second alternative coding system.
        `strCodingSystemOID` - contains the ISO Object identifier for the coding system.
        `strValueSetOID` - contains the value set from which CNE-1 is obtained
        `strValueSetVersionID` - contains the version of the value set identified by CNE-15.
        `strAlternateCodingSystemOID` - contains the ISO Object identifier for the alternate coding system
        `strAlternateValueSetOID` - contains the value set from which CNE-4 is obtained
        `strAlternateValueSetVersionID` - contains the version of the value set identified by CNE-18.
        `strSecondAlternateCodingSystemOID` - contains the value set from which CNE-12 is obtained
        `strSecondAlternateValueSetOID` - contains the value set from which CNE-10 is obtained
        `strSecondAlternateValueSetVersionID` - contains the version of the value set identified by CNE-21.

    - #### setDurationUnits

          public void setDurationUnits(CNE objdurationUnits)

      Set the Duration Units. This field specify the code that describing the units of time used for expressing the AIG-11-Duration field.
      Parameters:
        `objdurationUnits` - Object of Duration Units.

    - #### setAllowSubstitutionCode

          public void setAllowSubstitutionCode(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 Allow Substitution Code.
      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.

    - #### setAllowSubstitutionCode

          public void setAllowSubstitutionCode(CWE objallowSubstitutionCode)

      Set the Allow Substitution Code.
      Parameters:
        `objallowSubstitutionCode` - Object of Allow Substitution Code.

    - #### setFillerStatusCode

          public void setFillerStatusCode(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 Filler Status Code.
      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.

    - #### setFillerStatusCode

          public void setFillerStatusCode(CWE objfillerStatusCode)

      Set the Filler Status Code.
      Parameters:
        `objfillerStatusCode` - Object of Filler Status 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` - Thrown when Segment Validation Fails.