cdac.medinfo.sdk.hl7282.baselibs.segments

## Class OM4

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

- All Implemented Interfaces:
    ISegment

      public class OM4
      extends Segment

  OM4 - Observations That Require Specimens Segment

  The Technical Steward for the OM4 segment is ORDERS. This segment applies to observations/batteries that require a specimen for their performances.

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

  OM4-1: Sequence Number - Test/Observation Master File (NM)Optional
  OM4-2: Derived Specimen (ID)Optional
  OM4-3: Container Description (TX)Optional
  OM4-4: Container Volume (NM)Optional
  OM4-5: Container Units (CWE)Optional
  OM4-6: Specimen (CWE)Optional
  OM4-7: Additive (CWE)Optional
  OM4-8: Preparation (TX)Optional
  OM4-9: Special Handling Requirements (TX)Optional
  OM4-10: Normal Collection Volume (CQ)Optional
  OM4-11: Minimum Collection Volume (CQ)Optional
  OM4-12: Specimen Requirements (TX)Optional
  OM4-13: Specimen Priorities (ID)Optional
  OM4-14: Specimen Retention Time (CQ)Optional
  OM4-15: Specimen Handling Code (CWE)Optional
  OM4-16: Specimen Preference (ID)Optional
  OM4-17: Preferred Specimen/Attribture Sequence ID (NM)Optional
  OM4-18: Taxonomic Classification Code (CWE)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
    `OM4()` Constructs the OM4 segment.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addSpecimenHandlingCode(CWE objSpecimenHandlingCode)` Add the Specimen Handling Code.
    `void` | `addSpecimenHandlingCode(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 Specimen Handling Code.
    `void` | `addSpecimenPriorities(ID objspecimenPriorities)` Add the Specimen Priorities.
    `void` | `addSpecimenPriorities(java.lang.String strCharacterSet)` Add the Specimen Priorities.
    `void` | `addTaxonomicClassificationCode(CWE objTaxonomicClassificationCode)` Add the Taxonomic Classification Code.
    `void` | `addTaxonomicClassificationCode(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 Taxonomic Classification Code.
    `CWE` | `getAdditive()` Retrieves the Additive.
    `TX` | `getContainerDescription()` Retrieves the Container Description.
    `CWE` | `getContainerUnits()` Retrieves the Container Units.
    `NM` | `getContainerVolume()` Retrieves the Container Volume.
    `ID` | `getDerivedSpecimen()` Retrieves the Derived Specimen.
    `CQ` | `getMinimumCollectionVolume()` Retrieves the Minimum Collection Volume.
    `CQ` | `getNormalCollectionVolume()` Retrieves the Normal Collection Volume.
    `NM` | `getPreferredSpecimenAttribtureSequenceID()` Retrieves the Preferred Specimen/Attribture Sequence ID.
    `TX` | `getPreparation()` Retrieves the Preparation.
    `NM` | `getSequenceNumberTestObservationMasterFile()` Retrieves the Sequence Number Test Observation Master File.
    `TX` | `getSpecialHandlingRequirements()` Retrieves the Special Handling Requirements.
    `CWE` | `getSpecimen()` Retrieves the Specimen.
    `ISingleCollection<CWE>` | `getSpecimenHandlingCode()` Retrieves the Specimen Handling Code.
    `ID` | `getSpecimenPreference()` Retrieves the Specimen Preference.
    `ISingleCollection<ID>` | `getSpecimenPriorities()` Retrieves the Specimen Priorities.
    `TX` | `getSpecimenRequirements()` Retrieves the Specimen Requirements.
    `CQ` | `getSpecimenRetentionTime()` Retrieves the Specimen Retention Time.
    `ISingleCollection<CWE>` | `getTaxonomicClassificationCode()` Retrieves the Taxonomic Classification Code.
    `void` | `setAdditive(CWE objadditive)` Set the Additive.
    `void` | `setAdditive(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 Additive.
    `void` | `setContainerDescription(java.lang.String strSoftwareProductInformation)` Set the Container Description.
    `void` | `setContainerDescription(TX objcontainerDescription)` Set the Container Description.
    `void` | `setContainerUnits(CWE objcontainerUnits)` Set the Container Units.
    `void` | `setContainerUnits(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 Container Units.
    `void` | `setContainerVolume(NM objcontainerVolume)` Set the Container Volume.
    `void` | `setContainerVolume(java.lang.String strPolicyLimitDays)` Set the Container Volume.
    `void` | `setDerivedSpecimen(ID objderivedSpecimen)` Set the Derived Specimen.
    `void` | `setDerivedSpecimen(java.lang.String strQueryResponseStatus)` Set the Derived Specimen.
    `void` | `setMinimumCollectionVolume(CQ objminimumCollectionVolume)` Set the Minimum Collection Volume.
    `void` | `setMinimumCollectionVolume(java.lang.String strQuantity, CWE objUnits)` Set the Minimum Collection Volume.
    `void` | `setNormalCollectionVolume(CQ objnormalCollectionVolume)` Set the Normal Collection Volume.
    `void` | `setNormalCollectionVolume(java.lang.String strQuantity, CWE objUnits)` Set the Normal Collection Volume.
    `void` | `setPreferredSpecimenAttribtureSequenceID(NM objPreferredSpecimenAttribtureSequenceID)` Set the Preferred Specimen/Attribture Sequence ID.
    `void` | `setPreferredSpecimenAttribtureSequenceID(java.lang.String strPreferredSpecimenAttribtureSequenceID)` Set the Preferred Specimen/Attribture Sequence ID.
    `void` | `setPreparation(java.lang.String strSoftwareProductInformation)` Set the Preparation.
    `void` | `setPreparation(TX objpreparation)` Set the Preparation.
    `void` | `setSequenceNumberTestObservationMasterFile(NM objsequenceNumberTestObservationMasterFile)` Set the Sequence Number Test Observation Master File.
    `void` | `setSequenceNumberTestObservationMasterFile(java.lang.String strPolicyLimitDays)` Set the Sequence Number Test Observation Master File.
    `void` | `setSpecialHandlingRequirements(java.lang.String strSoftwareProductInformation)` Set the Special Handling Requirements.
    `void` | `setSpecialHandlingRequirements(TX objspecialHandlingRequirements)` Set the Special Handling Requirements.
    `void` | `setSpecimen(CWE objspecimen)` Set the Specimen.
    `void` | `setSpecimen(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 Specimen.
    `void` | `setSpecimenHandlingCode(ISingleCollection<CWE> objSpecimenHandlingCodeList)` Set the Specimen Handling Code.
    `void` | `setSpecimenPreference(ID objSpecimenPreference)` Set the Specimen Preference.
    `void` | `setSpecimenPreference(java.lang.String strSpecimenPreference)` Set the Specimen Preference.
    `void` | `setSpecimenPriorities(ISingleCollection<ID> objspecimenPrioritiesList)` Set the Specimen Priorities.
    `void` | `setSpecimenRequirements(java.lang.String strSoftwareProductInformation)` Set the Specimen Requirements.
    `void` | `setSpecimenRequirements(TX objspecimenRequirements)` Set the Specimen Requirements.
    `void` | `setSpecimenRetentionTime(CQ objspecimenRetentionTime)` Set the Specimen Retention Time.
    `void` | `setSpecimenRetentionTime(java.lang.String strQuantity, CWE objUnits)` Set the Specimen Retention Time.
    `void` | `setTaxonomicClassificationCode(ISingleCollection<CWE> objTaxonomicClassificationCodeList)` Set the Taxonomic Classification 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

    - #### OM4

          public OM4()

      Constructs the OM4 segment.

  - ### Method Detail

    - #### getAdditive

          public CWE getAdditive()

      Retrieves the Additive. This field contains the codes that should be those provided by NCCLS.
      Returns:
        CWE - additive

    - #### getContainerDescription

          public TX getContainerDescription()

      Retrieves the Container Description. This field contains the physical appearance, including color of tube tops, shape, and material composition (e.g., red-top glass tube).
      Returns:
        TX - containerDescription

    - #### getContainerUnits

          public CWE getContainerUnits()

      Retrieves the Container Units. This field contains the units of measure of the container volume.
      Returns:
        CWE - containerUnits

    - #### getContainerVolume

          public NM getContainerVolume()

      Retrieves the Container Volume. This field indicates the capacity of the container.
      Returns:
        NM - containerVolume

    - #### getDerivedSpecimen

          public ID getDerivedSpecimen()

      Retrieves the Derived Specimen. This field contains the codes that identify the parents and children for diagnostic studies.
      Returns:
        ID - derivedSpecimen

    - #### getMinimumCollectionVolume

          public CQ getMinimumCollectionVolume()

      Retrieves the Minimum Collection Volume. This field contains the amount of specimen needed by the most specimen sparing method.
      Returns:
        CQ - minimumCollectionVolume

    - #### getNormalCollectionVolume

          public CQ getNormalCollectionVolume()

      Retrieves the Normal Collection Volume. This field contains the normal specimen volume required by the lab.
      Returns:
        CQ - normalCollectionVolume

    - #### getPreparation

          public TX getPreparation()

      Retrieves the Preparation. This field contains the special processing that should be applied to the container, e.g., add acidifying tablets before sending.
      Returns:
        TX - preparation

    - #### getSequenceNumberTestObservationMasterFile

          public NM getSequenceNumberTestObservationMasterFile()

      Retrieves the Sequence Number Test Observation Master File. This field contains the same value as the sequence number of the associated OM1 segment.
      Returns:
        NM - sequenceNumberTestObservationMasterFile

    - #### getSpecialHandlingRequirements

          public TX getSpecialHandlingRequirements()

      Retrieves the Special Handling Requirements. This field contains the special handling requirements.
      Returns:
        TX - specialHandlingRequirements

    - #### getSpecimen

          public CWE getSpecimen()

      Retrieves the Specimen. This field reports the specimen as one of the specimen codes described in ASTM Table.
      Returns:
        CWE - specimen

    - #### getSpecimenPriorities

          public ISingleCollection<ID> getSpecimenPriorities()

      Retrieves the Specimen Priorities. This field contains the allowed priorities for obtaining the specimen.
      Returns:
        ISingleCollection - specimenPriorities

    - #### getSpecimenRequirements

          public TX getSpecimenRequirements()

      Retrieves the Specimen Requirements. This field contains the other requirements for specimen delivery and special handling.
      Returns:
        TX - specimenRequirements

    - #### getSpecimenRetentionTime

          public CQ getSpecimenRetentionTime()

      Retrieves the Specimen Retention Time. This field contains the usual time that a specimen for this observation is retained after the observation is completed, for the purpose of additional testing.
      Returns:
        CQ - specimenRetentionTime

    - #### getSpecimenHandlingCode

          public ISingleCollection<CWE> getSpecimenHandlingCode()

      Retrieves the Specimen Handling Code. This describes how the specimen and/or container need to be handled from the time of collection through the initiation of testing.
      Returns:
        ISingleCollection - SpecimenHandlingCode

    - #### getSpecimenPreference

          public ID getSpecimenPreference()

      Retrieves the Specimen Preference. This field indicates whether the Specimen/Attribute is Preferred or alternate for collection of the specimen.
      Returns:
        ID - SpecimenPreference

    - #### getPreferredSpecimenAttribtureSequenceID

          public NM getPreferredSpecimenAttribtureSequenceID()

      Retrieves the Preferred Specimen/Attribture Sequence ID. This field contains the value of the sequence number of the Preferred Specimen that these specimens are the alternative for.
      Returns:
        NM - PreferredSpecimenAttribtureSequenceID

    - #### getTaxonomicClassificationCode

          public ISingleCollection<CWE> getTaxonomicClassificationCode()

      Retrieves the Taxonomic Classification Code. The species of living organism. This may include the common or scientific name, based on the coding system(s) used.
      Returns:
        ISingleCollection - TaxonomicClassificationCode

    - #### setAdditive

          public void setAdditive(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 Additive. This field contains the codes that should be those provided by NCCLS.
      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.

    - #### setAdditive

          public void setAdditive(CWE objadditive)

      Set the Additive. This field contains the codes that should be those provided by NCCLS.
      Parameters:
        `objadditive` - Object of Additive.

    - #### setContainerDescription

          public void setContainerDescription(java.lang.String strSoftwareProductInformation)

      Set the Container Description. This field contains the physical appearance, including color of tube tops, shape, and material composition (e.g., red-top glass tube).
      Parameters:
        `strSoftwareProductInformation` - Use as SoftwareProductInformation.

    - #### setContainerDescription

          public void setContainerDescription(TX objcontainerDescription)

      Set the Container Description. This field contains the physical appearance, including color of tube tops, shape, and material composition (e.g., red-top glass tube).
      Parameters:
        `objcontainerDescription` - Object of Container Description.

    - #### setPreparation

          public void setPreparation(java.lang.String strSoftwareProductInformation)

      Set the Preparation. This field contains the special processing that should be applied to the container, e.g., add acidifying tablets before sending.
      Parameters:
        `strSoftwareProductInformation` - Use as SoftwareProductInformation.

    - #### setPreparation

          public void setPreparation(TX objpreparation)

      Set the Preparation. This field contains the special processing that should be applied to the container, e.g., add acidifying tablets before sending.
      Parameters:
        `objpreparation` - Object of Preparation.

    - #### setSpecialHandlingRequirements

          public void setSpecialHandlingRequirements(java.lang.String strSoftwareProductInformation)

      Set the Special Handling Requirements. This field contains the special handling requirements.
      Parameters:
        `strSoftwareProductInformation` - Use as SoftwareProductInformation.

    - #### setSpecialHandlingRequirements

          public void setSpecialHandlingRequirements(TX objspecialHandlingRequirements)

      Set the Special Handling Requirements. This field contains the special handling requirements.
      Parameters:
        `objspecialHandlingRequirements` - Object of Special Handling Requirements.

    - #### setSpecimenRequirements

          public void setSpecimenRequirements(java.lang.String strSoftwareProductInformation)

      Set the Specimen Requirements. This field contains the other requirements for specimen delivery and special handling
      Parameters:
        `strSoftwareProductInformation` - Use as SoftwareProductInformation.

    - #### setSpecimenRequirements

          public void setSpecimenRequirements(TX objspecimenRequirements)

      Set the Specimen Requirements. This field contains the other requirements for specimen delivery and special handling
      Parameters:
        `objspecimenRequirements` - Object of Specimen Requirements.

    - #### setContainerUnits

          public void setContainerUnits(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 Container Units. This field contains the units of measure of the container volume.
      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.

    - #### setContainerUnits

          public void setContainerUnits(CWE objcontainerUnits)

      Set the Container Units. This field contains the units of measure of the container volume.
      Parameters:
        `objcontainerUnits` - Object of Container Units.

    - #### setSpecimen

          public void setSpecimen(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 Specimen. This field reports the specimen as one of the specimen codes described in ASTM Table.
      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.

    - #### setSpecimen

          public void setSpecimen(CWE objspecimen)

      Set the Specimen. This field reports the specimen as one of the specimen codes described in ASTM Table.
      Parameters:
        `objspecimen` - Object of Specimen.

    - #### setContainerVolume

          public void setContainerVolume(java.lang.String strPolicyLimitDays)

      Set the Container Volume. This field indicates the capacity of the container.
      Parameters:
        `strPolicyLimitDays` - Specifies the maximum number of days that the insurance policy will cover.

    - #### setContainerVolume

          public void setContainerVolume(NM objcontainerVolume)

      Set the Container Volume. This field indicates the capacity of the container.
      Parameters:
        `objcontainerVolume` - Object of Container Volume.

    - #### setDerivedSpecimen

          public void setDerivedSpecimen(java.lang.String strQueryResponseStatus)

      Set the Derived Specimen. This field contains the codes that identify the parents and children for diagnostic studies.
      Parameters:
        `strQueryResponseStatus` - Use as QueryResponseStatus.

    - #### setDerivedSpecimen

          public void setDerivedSpecimen(ID objderivedSpecimen)

      Set the Derived Specimen. This field contains the codes that identify the parents and children for diagnostic studies.
      Parameters:
        `objderivedSpecimen` - Object of Derived Specimen.

    - #### setSpecimenRetentionTime

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

      Set the Specimen Retention Time. This field contains the usual time that a specimen for this observation is retained after the observation is completed, for the purpose of additional testing.
      Parameters:
        `strQuantity` - Specifies the numeric quantity or amount of an entity.
        `objUnits` - Specifies the units in which the quantity is expressed.

    - #### setSpecimenRetentionTime

          public void setSpecimenRetentionTime(CQ objspecimenRetentionTime)

      Set the Specimen Retention Time. This field contains the usual time that a specimen for this observation is retained after the observation is completed, for the purpose of additional testing.
      Parameters:
        `objspecimenRetentionTime` - Object of Specimen Retention Time.

    - #### setMinimumCollectionVolume

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

      Set the Minimum Collection Volume. This field contains the amount of specimen needed by the most specimen sparing method.
      Parameters:
        `strQuantity` - Specifies the numeric quantity or amount of an entity.
        `objUnits` - Specifies the units in which the quantity is expressed.

    - #### setMinimumCollectionVolume

          public void setMinimumCollectionVolume(CQ objminimumCollectionVolume)

      Set the Minimum Collection Volume. This field contains the amount of specimen needed by the most specimen sparing method.
      Parameters:
        `objminimumCollectionVolume` - Object of Minimum Collection Volume.

    - #### setNormalCollectionVolume

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

      Set the Normal Collection Volume. This field contains the normal specimen volume required by the lab.
      Parameters:
        `strQuantity` - Specifies the numeric quantity or amount of an entity.
        `objUnits` - Specifies the units in which the quantity is expressed.

    - #### setNormalCollectionVolume

          public void setNormalCollectionVolume(CQ objnormalCollectionVolume)

      Set the Normal Collection Volume. This field contains the normal specimen volume required by the lab.
      Parameters:
        `objnormalCollectionVolume` - Object of Normal Collection Volume.

    - #### setSequenceNumberTestObservationMasterFile

          public void setSequenceNumberTestObservationMasterFile(java.lang.String strPolicyLimitDays)

      Set the Sequence Number Test Observation Master File. This field contains the same value as the sequence number of the associated OM1 segment.
      Parameters:
        `strPolicyLimitDays` - Specifies the maximum number of days that the insurance policy will cover.

    - #### setSequenceNumberTestObservationMasterFile

          public void setSequenceNumberTestObservationMasterFile(NM objsequenceNumberTestObservationMasterFile)

      Set the Sequence Number Test Observation Master File. This field contains the same value as the sequence number of the associated OM1 segment.
      Parameters:
        `objsequenceNumberTestObservationMasterFile` - Object of Sequence Number Test Observation Master File.

    - #### addSpecimenPriorities

          public void addSpecimenPriorities(java.lang.String strCharacterSet)

      Add the Specimen Priorities. This field contains the allowed priorities for obtaining the specimen.
      Parameters:
        `strCharacterSet` - Specifies the character set for the entire message.Suggested Values ASCII,8859/1 ... [Refer Table No 0211].

    - #### addSpecimenPriorities

          public void addSpecimenPriorities(ID objspecimenPriorities)

      Add the Specimen Priorities. This field contains the allowed priorities for obtaining the specimen.
      Parameters:
        `objspecimenPriorities` - Object of Specimen Priorities.

    - #### setSpecimenPriorities

          public void setSpecimenPriorities(ISingleCollection<ID> objspecimenPrioritiesList)

      Set the Specimen Priorities. This field contains the allowed priorities for obtaining the specimen.
      Parameters:
        `objspecimenPrioritiesList` - List of Specimen Priorities.

    - #### addSpecimenHandlingCode

          public void addSpecimenHandlingCode(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 Specimen Handling Code. This describes how the specimen and/or container need to be handled from the time of collection through the initiation of testing.
      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.

    - #### addSpecimenHandlingCode

          public void addSpecimenHandlingCode(CWE objSpecimenHandlingCode)

      Add the Specimen Handling Code. This describes how the specimen and/or container need to be handled from the time of collection through the initiation of testing.
      Parameters:
        `objSpecimenHandlingCode` - Object of Specimen Handling Code.

    - #### setSpecimenHandlingCode

          public void setSpecimenHandlingCode(ISingleCollection<CWE> objSpecimenHandlingCodeList)

      Set the Specimen Handling Code. This describes how the specimen and/or container need to be handled from the time of collection through the initiation of testing.
      Parameters:
        `objSpecimenHandlingCodeList` - List of Specimen Handling Code.

    - #### setSpecimenPreference

          public void setSpecimenPreference(java.lang.String strSpecimenPreference)

      Set the Specimen Preference. This field indicates whether the Specimen/Attribute is Preferred or alternate for collection of the specimen.
      Parameters:
        `strSpecimenPreference` - String to be passed as Specimen Preference

    - #### setSpecimenPreference

          public void setSpecimenPreference(ID objSpecimenPreference)

      Set the Specimen Preference. This field indicates whether the Specimen/Attribute is Preferred or alternate for collection of the specimen.
      Parameters:
        `objSpecimenPreference` - Object of Specimen Preference.

    - #### setPreferredSpecimenAttribtureSequenceID

          public void setPreferredSpecimenAttribtureSequenceID(java.lang.String strPreferredSpecimenAttribtureSequenceID)

      Set the Preferred Specimen/Attribture Sequence ID. This field contains the value of the sequence number of the Preferred Specimen that these specimens are the alternative for.
      Parameters:
        `strPreferredSpecimenAttribtureSequenceID` - String to be passed as Preferred Specimen/Attribture Sequence ID

    - #### setPreferredSpecimenAttribtureSequenceID

          public void setPreferredSpecimenAttribtureSequenceID(NM objPreferredSpecimenAttribtureSequenceID)

      Set the Preferred Specimen/Attribture Sequence ID. This field contains the value of the sequence number of the Preferred Specimen that these specimens are the alternative for.
      Parameters:
        `objPreferredSpecimenAttribtureSequenceID` - Object of Preferred Specimen/Attribture Sequence ID.

    - #### addTaxonomicClassificationCode

          public void addTaxonomicClassificationCode(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 Taxonomic Classification Code. The species of living organism. This may include the common or scientific name, based on the coding system(s) used.
      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.

    - #### addTaxonomicClassificationCode

          public void addTaxonomicClassificationCode(CWE objTaxonomicClassificationCode)

      Add the Taxonomic Classification Code. The species of living organism. This may include the common or scientific name, based on the coding system(s) used.
      Parameters:
        `objTaxonomicClassificationCode` - Object of Taxonomic Classification Code.

    - #### setTaxonomicClassificationCode

          public void setTaxonomicClassificationCode(ISingleCollection<CWE> objTaxonomicClassificationCodeList)

      Set the Taxonomic Classification Code. The species of living organism. This may include the common or scientific name, based on the coding system(s) used.
      Parameters:
        `objTaxonomicClassificationCodeList` - List of Taxonomic Classification 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 chcecks 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.