cdac.medinfo.sdk.hl7282.baselibs.segments

## Class OBX

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

- All Implemented Interfaces:
    ISegment

      public class OBX
      extends Segment

  OBX - Observation/Result Segment.

  The OBX segment is used to transmit a single observation or observation fragment. It represents the smallest indivisible unit of a report. The OBX segment can also contain encapsulated data, e.g., a CDA document or a DICOM image.

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

  OBX-1: Set ID - OBX (SI)Optional
  OBX-2: Value Type (ID)Conditional
  OBX-3: Observation Identifier (CWE)Required
  OBX-4: Observation Sub-ID (OG)Conditional
  OBX-5: Observation Value (varies)Conditional
  OBX-6: Units (CWE)Optional
  OBX-7: References Range (ST)Optional
  OBX-8: Abnormal Flags (CWE)Optional
  OBX-9: Probability (NM)Optional
  OBX-10: Nature of Abnormal Test (ID)Optional
  OBX-11: Observation Result Status (ID)Required
  OBX-12: Effective Date of Reference Range (DTM)Optional
  OBX-13: User Defined Access Checks (ST)Optional
  OBX-14: Date/Time of the Observation (DTM)Optional
  OBX-15: Producer's ID (CWE)Backwards compatible
  OBX-16: Responsible Observer (XCN)Backwards compatible
  OBX-17: Observation Method (CWE)Optional
  OBX-18: Equipment Instance Identifier (EI)Backwards compatible
  OBX-19: Date/Time of the Analysis (DTM)Optional
  OBX-20: Observation SiteOptional
  OBX-21: Observation Instance IdentifierOptional
  OBX-22: Mood CodeConditional
  OBX-23: Performing Organization NameBackwards compatible
  OBX-24: Performing Organization AddressBackwards compatible
  OBX-25: Performing Organization Medical DirectorBackwards compatible
  OBX-26: Patient Results Release CategoryOptional
  OBX-27: Root CauseOptional
  OBX-28: Local Process ControlOptional
  OBX-29: Observation TypeOptional
  OBX-30: Observation Sub-TypeOptional

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAbnormalFlags(CWE objtempVisitUserCode)` Set the Abnormal Flags.
    `void` | `addAbnormalFlags(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 Abnormal Flags.
    `void` | `addEquipmentInstanceIdentifier(EI objtempEquipmentInstanceIdentifier)` Set the field which identifies the Equipment Instance.
    `void` | `addEquipmentInstanceIdentifier(java.lang.String strEntityIdentifier, java.lang.String strNamespaceId, java.lang.String strUniversalId, java.lang.String strUniversalIdType)` Set the field which identifies the Equipment Instance.
    `void` | `addNatureOfAbnormalTest(ID objtempNatureOfAbnormalTest)` Set the Nature Of Abnormal Test.
    `void` | `addNatureOfAbnormalTest(java.lang.String strNatureOfAbnormalTest)` Set the Nature Of Abnormal Test.
    `void` | `addObservationMethod(CWE objtempObservationMethod)` Set the Observation Method.
    `void` | `addObservationMethod(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 Observation Method.
    `void` | `addObservationSite(CWE objObservationSite)` Set the Observation Site.
    `void` | `addObservationSite(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 Observation Site.
    `void` | `addObservationValue(IDataType objObservationValue)` Set the Observation Value.
    `void` | `addResponsibleObserver(java.lang.String strIDNumber, FN objFamilyName, java.lang.String strGivenName, java.lang.String strSecondAndFurtherGivenNamesOrInitialsThereof, java.lang.String strSuffix, java.lang.String strPrefix, CWE objSourceTable, HD objAssigningAuthority, java.lang.String strNameTypeCode, java.lang.String strIdentifierCheckDigit, java.lang.String strCheckDigitScheme, java.lang.String strIdentifierTypeCode, HD objAssigningFacility, java.lang.String strNameRepresentationCode, CWE objNameContext, java.lang.String strNameAssemblyOrder, java.lang.String strEffectiveDate, java.lang.String strExpirationDate, java.lang.String strProfessionalSuffix, CWE objAssigningJurisdiction, CWE objAssigningAgencyOrDepratment, java.lang.String strSecurityCheck, java.lang.String strSecurityCheckScheme)` Add the Responsible Observer.
    `void` | `addResponsibleObserver(XCN objtemResponsibleObserver)`
    `ISingleCollection<CWE>` | `getAbnormalFlags()` Retrieves the Abnormal Flags.
    `DTM` | `getDtTimeOfAnalysis()` Retrieves the Dt Time Of Analysis.
    `DTM` | `getDtTimeOfObservation()` Retrieves the Dt Time Of Observation.
    `DTM` | `getEffectiveDateOfReferenceRange()` Retrieves the Effective Date Of Reference Range.
    `ISingleCollection<EI>` | `getEquipmentInstanceIdentifier()` Retrieves the Equipment Instance Identifier.
    `CWE` | `getLocalProcessControl()` Retrieves the Local Process Control.
    `CNE` | `getMoodCode()` Retrieves the Mood Code.
    `ISingleCollection<ID>` | `getNatureOfAbnormalTest()` Retrieves the Nature Of Abnormal Test.
    `CWE` | `getObservationIdentifier()` Retrieves the Observation Identifier.
    `EI` | `getObservationInstanceIdentifier()` Retrieves the Observation Instance Identifier.
    `ISingleCollection<CWE>` | `getObservationMethod()` Retrieves the Observation Method.
    `ID` | `getObservationResultStatus()` Retrieves the Observation Result Status.
    `ISingleCollection<CWE>` | `getObservationSite()` Retrieves the Abnormal Flags.
    `OG` | `getObservationSubID()` Retrieves the Observation Sub ID.
    `ID` | `getObservationSubType()` Retrieves the Observation Sub-Type.
    `ID` | `getObservationType()` Retrieves the Observation Type.
    `ISingleCollection<IDataType>` | `getObservationValue()` Retrieves the Observation Value.
    `ID` | `getPatientResultsReleaseCategory()` Retrieves the Patient Results Release Category.
    `XAD` | `getPerformingOrganizationAddress()` Retrieves the Performing Organization Address.
    `XCN` | `getPerformingOrganizationMedicalDirector()` Retrieves the Performing Organization Medical Director.
    `XON` | `getPerformingOrganizationName()` Retrieves the Performing Organization Name.
    `NM` | `getProbability()` Retrieves the Probability.
    `CWE` | `getProducersID()` Retrieves the Producers ID.
    `ST` | `getReferencesRange()` Retrieves the References Range.
    `ISingleCollection<XCN>` | `getResponsibleObserver()` Retrieves the Responsible Observer.
    `CWE` | `getRootCause()` Retrieves the Root Cause.
    `SI` | `getSetID_OBX()` Retrieves the Set ID OBX.
    `CWE` | `getUnits()` Retrieves the Units.
    `ST` | `getUserDefinedAccessChecks()` Retrieves the User Defined Access Checks.
    `ID` | `getValueType()` Retrieves the Value Type.
    `int` | `parse(java.lang.String strSegmentStream, IDelimiter objIDelimiter)` Parses HL7 Segment Strings from any Stream into HL7 Segment object.
    `void` | `setAbnormalFlags(ISingleCollection<CWE> objAbnormalFlagsList)` Set the AbnormalFlags list.
    `void` | `setDtTimeOfAnalysis(DTM dtTimeOfAnalysis)` Set the Dt Time Of Analysis.
    `void` | `setDtTimeOfAnalysis(java.lang.String strTime)` Set the Dt Time Of Analysis.
    `void` | `setDtTimeOfObservation(DTM dtTimeOfObservation)` Set the Dt Time Of Observation.
    `void` | `setDtTimeOfObservation(java.lang.String strTime)` Set the Dt Time Of Observation.
    `void` | `setEffectiveDateOfReferenceRange(DTM effectiveDateOfReferenceRange)` Set the EffectiveDateOfReferenceRange This field identify the Equipment Instance.
    `void` | `setEffectiveDateOfReferenceRange(java.lang.String strTime)` Set the Equipment Instance Identifier.
    `void` | `setEquipmentInstanceIdentifier(ISingleCollection<EI> objEquipmentInstanceIdentifierList)` Set the EquipmentInstanceIdentifier list.
    `void` | `setLocalProcessControl(CWE objLocalProcessControl)` Set the Local Process Control.
    `void` | `setLocalProcessControl(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 Local Process Control.
    `void` | `setMoodCode(CNE objMoodCode)` Set the Mood Code.
    `void` | `setMoodCode(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 Mood Code.
    `void` | `setNatureOfAbnormalTest(ISingleCollection<ID> objNatureOfAbnormalTestList)` Set the NatureOfAbnormalTest list.
    `void` | `setObservationIdentifier(CWE observationIdentifier)` Set the Observation Identifier.
    `void` | `setObservationIdentifier(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 Observation Identifier.
    `void` | `setObservationInstanceIdentifier(EI objObservationInstanceIdentifier)` Set the Observation Instance Identifier.
    `void` | `setObservationInstanceIdentifier(java.lang.String strEntityIdentifier, java.lang.String strNamespaceId, java.lang.String strUniversalId, java.lang.String strUniversalIdType)` Set the Observation Instance Identifier.
    `void` | `setObservationMethod(ISingleCollection<CWE> objObservationMethodList)` Set the ObservationMethod list.
    `void` | `setObservationResultStatus(ID objobservationResultStatus)` Set the Observation Result Status.
    `void` | `setObservationResultStatus(java.lang.String strObservationResultStatus)` Set the Observation Result Status.
    `void` | `setObservationSite(ISingleCollection<CWE> objObservationSiteList)` Set the Observation Site.
    `void` | `setObservationSubID(OG objobservationSubID)` Set the Observation Sub ID.
    `void` | `setObservationSubID(ST objObservationSubID, NM objGroup, NM objSequence, ST objIdentifier)` Set the Observation Sub ID.
    `void` | `setObservationSubType(ID objObservationSubType)` Set the Observation Sub-Type.
    `void` | `setObservationSubType(java.lang.String strObservationSubType)` Set the Observation Sub-Type.
    `void` | `setObservationType(ID objObservationType)` Set the Observation Type.
    `void` | `setObservationType(java.lang.String strObjObservationType)` Set the Observation Type.
    `void` | `setObservationValue(ISingleCollection<IDataType> objObservationValueList)` Set the ObservationValue list.
    `void` | `setPatientResultsReleaseCategory(ID objPatientResultsReleaseCategory)` Set the Patient Results Release Category.
    `void` | `setPatientResultsReleaseCategory(java.lang.String strPatientResultsReleaseCategory)` Set the Patient Results Release Category.
    `void` | `setPerformingOrganizationAddress(SAD objStreetAddress, java.lang.String strOtherDesignation, java.lang.String strCity, java.lang.String strStateOrProvince, java.lang.String strZipOrPostalCode, java.lang.String strCountry, java.lang.String strAddressType, java.lang.String strOtherGeographicDesignation, CWE objCountyParishCode, CWE objCensusTract, java.lang.String strAddressRepresentationCode, DTM objEffectiveDate, DTM objExpirationDate, CWE objEXpirationReason, java.lang.String strTemporaryIndicator, java.lang.String strBadAddressIndicator, java.lang.String strAddressUsage, java.lang.String strAddressee, java.lang.String strComment, java.lang.String strPreferenceOrder, CWE objProtectionCode, EI objAddressIdentifier)` Set the Performing Organization Address.
    `void` | `setPerformingOrganizationAddress(XAD objPerformingOrganizationAddress)` Set the Performing Organization Address.
    `void` | `setPerformingOrganizationMedicalDirector(java.lang.String strIDNumber, FN objFamilyName, java.lang.String strGivenName, java.lang.String strSecondAndFurtherGivenNamesOrInitialsThereof, java.lang.String strSuffix, java.lang.String strPrefix, CWE objSourceTable, HD objAssigningAuthority, java.lang.String strNameTypeCode, java.lang.String strIdentifierCheckDigit, java.lang.String strCheckDigitScheme, java.lang.String strIdentifierTypeCode, HD objAssigningFacility, java.lang.String strNameRepresentationCode, CWE objNameContext, java.lang.String strNameAssemblyOrder, java.lang.String strEffectiveDate, java.lang.String strExpirationDate, java.lang.String strProfessionalSuffix, CWE objAssigningJurisdiction, CWE objAssigningAgencyOrDepratment, java.lang.String strSecurityCheck, java.lang.String strSecurityCheckScheme)` Set the Performing Organization Medical Director.
    `void` | `setPerformingOrganizationMedicalDirector(XCN objPerformingOrganizationMedicalDirector)` Set the Performing Organization Medical Director.
    `void` | `setPerformingOrganizationName(java.lang.String strOrganizationName, CWE objOrganizationNameTypeCode, HD objAssigningAuthority, java.lang.String strIdentifierTypeCode, HD objAssigningFacility, java.lang.String strNameRepresentationCode, java.lang.String strOrganizationIdentifier)` Set the Performing Organization Name.
    `void` | `setPerformingOrganizationName(XON objPerformingOrganizationName)` Set the Performing Organization Name.
    `void` | `setProbability(NM objprobability)` Set the Probability.
    `void` | `setProbability(java.lang.String strProbability)` Set the Probability.
    `void` | `setProducersID(CWE producersID)` Set the Producers ID.
    `void` | `setProducersID(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 Producers ID.
    `void` | `setReferencesRange(ST objreferencesRange)` Set the References Range.
    `void` | `setReferencesRange(java.lang.String StrReferencesRange)` Set the References Range.
    `void` | `setResponsibleObserver(ISingleCollection<XCN> objResponsibleObserverList)` Set the ResponsibleObserver list.
    `void` | `setRootCause(CWE objRootCause)` Set the Root Cause.
    `void` | `setRootCause(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 Root Cause.
    `void` | `setSetID_OBX(SI objsetID_OBX)` Set the Set ID OBX.
    `void` | `setSetID_OBX(java.lang.String strSquenceID)` Set the Set ID OBX.
    `void` | `setUnits(CWE units)` Set the Units.
    `void` | `setUnits(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 Units.
    `void` | `setUserDefinedAccessChecks(ST objuserDefinedAccessChecks)` Set the User Defined Access Checks.
    `void` | `setUserDefinedAccessChecks(java.lang.String strUserDefinedAccessChecks)` Set the User Defined Access Checks.
    `void` | `setValueType(ID objvalueType)` Set the Value Type.
    `void` | `setValueType(java.lang.String strValueType)` Set the Value Type.
    `boolean` | `validate()` Validates HL7 Message objects .

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

      `addUnRecognizedField, dumpSegment, getFields, getName, getUnrecognizedFields, moveToNextSegment, 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

    - #### OBX

          public OBX()

      Constructs the OBX segment.

  - ### Method Detail

    - #### getValueType

          public ID getValueType()

      Retrieves the Value Type. This field returns valueType.
      Returns:
        ID - contains Object of valueType.

    - #### getAbnormalFlags

          public ISingleCollection<CWE> getAbnormalFlags()

      Retrieves the Abnormal Flags. This field contains a table lookup indicating the normalcy status of the result.
      Returns:
        ISingleCollection - abnormalFlags

    - #### getDtTimeOfAnalysis

          public DTM getDtTimeOfAnalysis()

      Retrieves the Dt Time Of Analysis. This field is used to transfer the time stamp associated with generation of the analytical result by the instrument specified in Equipment Instance Identifier.
      Returns:
        DTM - dtTimeOfAnalysis

    - #### getDtTimeOfObservation

          public DTM getDtTimeOfObservation()

      Retrieves the Dt Time Of Observation. This field is required in two circumstances.
      Returns:
        DTM - dtTimeOfObservation

    - #### getEffectiveDateOfReferenceRange

          public DTM getEffectiveDateOfReferenceRange()

      Retrieves the Effective Date Of Reference Range. This field contains the date(and, optionally, the time) on which the values in OBX-7-reference range went into effect.
      Returns:
        DTM - effectiveDateOfReferenceRange

    - #### getEquipmentInstanceIdentifier

          public ISingleCollection<EI> getEquipmentInstanceIdentifier()

      Retrieves the Equipment Instance Identifier. This field identify the Equipment Instance.
      Returns:
        ISingleCollection - equipmentInstanceIdentifier

    - #### getNatureOfAbnormalTest

          public ISingleCollection<ID> getNatureOfAbnormalTest()

      Retrieves the Nature Of Abnormal Test. This field contains the nature of the abnormal test.
      Returns:
        ISingleCollection - natureOfAbnormalTest

    - #### getObservationIdentifier

          public CWE getObservationIdentifier()

      Retrieves the Observation Identifier. This contains a unique identifier for the observation.
      Returns:
        CWE - observationIdentifier

    - #### getObservationMethod

          public ISingleCollection<CWE> getObservationMethod()

      Retrieves the Observation Method. This field is use to transmit the method or procedure by which an observation is obtained when the sending system wishes to distinguish among one measurement obtained by different methods and the distinction is not implicit in the test ID.
      Returns:
        ISingleCollection - observationMethod

    - #### getObservationResultStatus

          public ID getObservationResultStatus()

      Retrieves the Observation Result Status. This field contains the observation result status.
      Returns:
        ID - observationResultStatus

    - #### getObservationSubID

          public OG getObservationSubID()

      Retrieves the Observation Sub ID. This field is used to distinguish between multiple OBX segments with the same observation ID organized under one OBR.
      Returns:
        OG - observationSubID

    - #### getObservationValue

          public ISingleCollection<IDataType> getObservationValue()

      Retrieves the Observation Value. This contains the value observed by the observation producer.
      Returns:
        ISingleCollection - observationValue

    - #### getProbability

          public NM getProbability()

      Retrieves the Probability. This contains the probability of a result being true for results with categorical values.
      Returns:
        NM - probability

    - #### getProducersID

          public CWE getProducersID()

      Retrieves the Producers ID. This field contains a unique identifier of the responsible producing service.
      Returns:
        CWE - producersID

    - #### getReferencesRange

          public ST getReferencesRange()

      Retrieves the References Range. This observation quantifies the amount of a toxic substance, then the upper limit of the range identify the toxic limit.
      Returns:
        ST - referencesRange

    - #### getResponsibleObserver

          public ISingleCollection<XCN> getResponsibleObserver()

      Retrieves the Responsible Observer. This field contains the identifier of the individual directly responsible for the observation.
      Returns:
        ISingleCollection - responsibleObserver

    - #### getSetID_OBX

          public SI getSetID_OBX()

      Retrieves the Set ID OBX. This field contains the sequence number. For compatibility with ASTM.
      Returns:
        SI - setID_OBX

    - #### getUnits

          public CWE getUnits()

      Retrieves the Units. This fields measure units within the units field of the OBX segment.
      Returns:
        CWE - units

    - #### getUserDefinedAccessChecks

          public ST getUserDefinedAccessChecks()

      Retrieves the User Defined Access Checks. This field permits the producer to record results-dependent codes for classifying the observation at the receiving system.
      Returns:
        ST - userDefinedAccessChecks

    - #### getObservationSite

          public ISingleCollection<CWE> getObservationSite()

      Retrieves the Abnormal Flags. This field typically contains the body site(s) where the measurement being reported was obtained.
      Returns:
        ISingleCollection - observationSite

    - #### getObservationInstanceIdentifier

          public EI getObservationInstanceIdentifier()

      Retrieves the Observation Instance Identifier. This field contains a unique identifier for this observation. This instance identifier is persistent between messages.
      Returns:
        EI - ObservationInstanceIdentifier

    - #### getMoodCode

          public CNE getMoodCode()

      Retrieves the Mood Code. This field identifies the actuality of the observation (e.g., intent, request, promise, event).
      Returns:
        CNE - MoodCode

    - #### getPerformingOrganizationName

          public XON getPerformingOrganizationName()

      Retrieves the Performing Organization Name. This field contains the name of the organization/service responsible for performing the service.
      Returns:
        XON - Performing Organization Name.

    - #### getPerformingOrganizationAddress

          public XAD getPerformingOrganizationAddress()

      Retrieves the Performing Organization Address. This field contains the address of the organization/service responsible for performing the service.
      Returns:
        XAD - Performing Organization Address.

    - #### getPerformingOrganizationMedicalDirector

          public XCN getPerformingOrganizationMedicalDirector()

      Retrieves the Performing Organization Medical Director. This field contains the medical director of the organization/service responsible for performing the service.
      Returns:
        XAN - Performing Organization Medical Director.

    - #### getPatientResultsReleaseCategory

          public ID getPatientResultsReleaseCategory()

      Retrieves the Patient Results Release Category. This field contains instructions on whether to share the results with the patient, and if so how
      Returns:
        ID - Patient Results Release Category.

    - #### getRootCause

          public CWE getRootCause()

      Retrieves the Root Cause. This element contains the reason code indicating the root cause for the reissue of a previously released lab report.
      Returns:
        CWE - Root Cause

    - #### getLocalProcessControl

          public CWE getLocalProcessControl()

      Retrieves the Local Process Control. This element contains information intended to be used for locally defined processing, particularly process control/status type information.
      Returns:
        CWE - Local Process Control

    - #### getObservationType

          public ID getObservationType()

      Retrieves the Observation Type. This field indicates the type of observation to enable systems to distinguish between observations sent along with an order, versus observations sent as the result to an order.
      Returns:
        ID - Observation Type

    - #### getObservationSubType

          public ID getObservationSubType()

      Retrieves the Observation Sub-Type. The result sub-type provides further classification of OBX-29 Observation Type.
      Returns:
        ID - Observation Sub-Type

    - #### addAbnormalFlags

          public void addAbnormalFlags(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 Abnormal Flags. This field contains a table lookup indicating the normalcy status of the result.
      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.

    - #### addAbnormalFlags

          public void addAbnormalFlags(CWE objtempVisitUserCode)

      Set the Abnormal Flags. This field contains a table lookup indicating the normalcy status of the result.
      Parameters:
        `strAbnormalFlags` - Specifies the normalcy status

    - #### setAbnormalFlags

          public void setAbnormalFlags(ISingleCollection<CWE> objAbnormalFlagsList)

      Set the AbnormalFlags list.
      Parameters:
        `objAbnormalFlagsList` - List of AbnormalFlags

    - #### setDtTimeOfAnalysis

          public void setDtTimeOfAnalysis(java.lang.String strTime)

      Set the Dt Time Of Analysis. This field is used to transfer the time stamp associated with generation of the analytical result by the instrument specified in Equipment Instance Identifier.
      Parameters:
        `strTime` - Specifies a point in time using a 24-hour clock notation.

    - #### setDtTimeOfAnalysis

          public void setDtTimeOfAnalysis(DTM dtTimeOfAnalysis)

      Set the Dt Time Of Analysis. This field is used to transfer the time stamp associated with generation of the analytical result by the instrument specified in Equipment Instance Identifier.
      Parameters:
        `dtTimeOfAnalysis` - Dt Time Of Analysis

    - #### setDtTimeOfObservation

          public void setDtTimeOfObservation(java.lang.String strTime)

      Set the Dt Time Of Observation. This field is required in two circumstances.
      Parameters:
        `strTime` - Specifies a point in time using a 24-hour clock notation.
        `strDegreeOfPrecision` - The degree of precision of the time stamp .Suggested Values Y,L,D,H,M,S [Refer to HL7 Table 0529].

    - #### setDtTimeOfObservation

          public void setDtTimeOfObservation(DTM dtTimeOfObservation)

      Set the Dt Time Of Observation. This field is required in two circumstances.
      Parameters:
        `dtTimeOfObservation` - Dt Time Of Observation.

    - #### setEffectiveDateOfReferenceRange

          public void setEffectiveDateOfReferenceRange(java.lang.String strTime)

      Set the Equipment Instance Identifier. This field identify the Equipment Instance.
      Parameters:
        `strTime` - Specifies a point in time using a 24-hour clock notation.
        `strDegreeOfPrecision` - The degree of precision of the time stamp .Suggested Values Y,L,D,H,M,S [Refer to HL7 Table 0529].

    - #### setEffectiveDateOfReferenceRange

          public void setEffectiveDateOfReferenceRange(DTM effectiveDateOfReferenceRange)

      Set the EffectiveDateOfReferenceRange This field identify the Equipment Instance.
      Parameters:
        `effectiveDateOfReferenceRange` - EffectiveDateOfReferenceRange

    - #### addEquipmentInstanceIdentifier

          public void addEquipmentInstanceIdentifier(java.lang.String strEntityIdentifier,
                                            java.lang.String strNamespaceId,
                                            java.lang.String strUniversalId,
                                            java.lang.String strUniversalIdType)

      Set the field which identifies the Equipment Instance. (e.g., Analyzer, Analyzer module, group of Analyzers,...) responsible for the production of the observation.
      Parameters:
        `strEntityIdentifier` - Specifies entity identifier
        `strNamespaceId` - Specifies the NameSpace ID.
        `strUniversalId` - Specifies the Universal ID
        `strUniversalIdType` - Specifies the Universal ID type

    - #### addEquipmentInstanceIdentifier

          public void addEquipmentInstanceIdentifier(EI objtempEquipmentInstanceIdentifier)

      Set the field which identifies the Equipment Instance. (e.g., Analyzer, Analyzer module, group of Analyzers,...) responsible for the production of the observation.
      Parameters:
        `strEntityIdentifier` - Specifies entity identifier
        `strNamespaceId` - Specifies the NameSpace ID.
        `strUniversalId` - Specifies the Universal ID
        `strUniversalIdType` - Specifies the Universal ID type

    - #### setEquipmentInstanceIdentifier

          public void setEquipmentInstanceIdentifier(ISingleCollection<EI> objEquipmentInstanceIdentifierList)

      Set the EquipmentInstanceIdentifier list.
      Parameters:
        `objEquipmentInstanceIdentifierList` - List of EquipmentInstanceIdentifier

    - #### addNatureOfAbnormalTest

          public void addNatureOfAbnormalTest(java.lang.String strNatureOfAbnormalTest)

      Set the Nature Of Abnormal Test. This field contains the nature of the abnormal test.
      Parameters:
        `strNatureOfAbnormalTest` - Specified the nature of abnormal test.

    - #### addNatureOfAbnormalTest

          public void addNatureOfAbnormalTest(ID objtempNatureOfAbnormalTest)

      Set the Nature Of Abnormal Test. This field contains the nature of the abnormal test.
      Parameters:
        `objtempNatureOfAbnormalTest` - Specified the nature of abnormal test.

    - #### setNatureOfAbnormalTest

          public void setNatureOfAbnormalTest(ISingleCollection<ID> objNatureOfAbnormalTestList)

      Set the NatureOfAbnormalTest list.
      Parameters:
        `objDiagnosingClinicianList` - List of NatureOfAbnormalTest

    - #### setObservationIdentifier

          public void setObservationIdentifier(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 Observation Identifier. This contains a unique identifier for the observation.
      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.

    - #### setObservationIdentifier

          public void setObservationIdentifier(CWE observationIdentifier)

      Set the Observation Identifier. This contains a unique identifier for the observation.
      Parameters:
        `observationIdentifier` - Observation Identifier

    - #### addObservationMethod

          public void addObservationMethod(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 Observation Method. This field is use to transmit the method or procedure by which an observation is obtained when the sending system wishes to distinguish among one measurement obtained by different methods and the distinction is not implicit in the test ID.
      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.

    - #### addObservationMethod

          public void addObservationMethod(CWE objtempObservationMethod)

      Set the Observation Method. This field is use to transmit the method or procedure by which an observation is obtained when the sending system wishes to distinguish among one measurement obtained by different methods and the distinction is not implicit in the test ID.
      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.

    - #### setObservationMethod

          public void setObservationMethod(ISingleCollection<CWE> objObservationMethodList)

      Set the ObservationMethod list.
      Parameters:
        `objObservationMethodList` - List of ObservationMethod

    - #### setObservationResultStatus

          public void setObservationResultStatus(java.lang.String strObservationResultStatus)

      Set the Observation Result Status. This field contains the observation result status.
      Parameters:
        `strObservationResultStatus` - Used as ObservationResultStatus.

    - #### setObservationResultStatus

          public void setObservationResultStatus(ID objobservationResultStatus)

      Set the Observation Result Status. This field contains the observation result status.
      Parameters:
        `objobservationResultStatus` - Used as ObservationResultStatus.

    - #### setObservationSubID

          public void setObservationSubID(ST objObservationSubID,
                                 NM objGroup,
                                 NM objSequence,
                                 ST objIdentifier)

      Set the Observation Sub ID. The components that can be used to define the structure of the observation/result segments (OBX) within an observation report segment (OBR).
      Parameters:
        `objObservationSubID` - Specifies the original data type used in OBX-4 to enable backwards compatibility to continue use of the original format to provide OBX segment grouping.
        `objGroup` - Specifies the group and its sequence within the OBR segment that the OBX segment is a part of.
        `objSequence` - Specifies the sequence within the group as defined in OG-2.
        `objIdentifier` - Specifies assignment of an identifier to a result component, for example an isolate in a microbiology message. *

    - #### setObservationSubID

          public void setObservationSubID(OG objobservationSubID)

      Set the Observation Sub ID. This field is used to distinguish between multiple OBX segments with the same observation ID organized under one OBR.
      Parameters:
        `objobservationSubID` - Specifies the observation sub ID

    - #### addObservationValue

          public void addObservationValue(IDataType objObservationValue)
                                   throws InvalidFieldException

      Set the Observation Value. This contains the value observed by the observation producer.
      Parameters:
        `objObservationValue` - Specifies the observation value
      Throws:
        `InvalidFieldException`

    - #### setObservationValue

          public void setObservationValue(ISingleCollection<IDataType> objObservationValueList)

      Set the ObservationValue list.
      Parameters:
        `objDiagnosingClinicianList` - List of ObservationValue

    - #### setProbability

          public void setProbability(java.lang.String strProbability)

      Set the Probability. This contains the probability of a result being true for results with categorical values.
      Parameters:
        `strProbability` - Specifies the numeric value.

    - #### setProbability

          public void setProbability(NM objprobability)

      Set the Probability. This contains the probability of a result being true for results with categorical values.
      Parameters:
        `objprobability` - Specifies the numeric value.

    - #### setProducersID

          public void setProducersID(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 Producers ID. This field contains a unique identifier of the responsible producing service.
      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.

    - #### setProducersID

          public void setProducersID(CWE producersID)

      Set the Producers ID. This field contains a unique identifier of the responsible producing service.
      Parameters:
        `producersID` - Producers ID

    - #### setReferencesRange

          public void setReferencesRange(java.lang.String StrReferencesRange)

      Set the References Range. This observation quantifies the amount of a toxic substance, then the upper limit of the range identify the toxic limit.
      Parameters:
        `StrReferencesRange` - Specifies the upper or lower limit.

    - #### setReferencesRange

          public void setReferencesRange(ST objreferencesRange)

      Set the References Range. This observation quantifies the amount of a toxic substance, then the upper limit of the range identify the toxic limit.
      Parameters:
        `objreferencesRange` - Specifies the upper or lower limit.

    - #### addResponsibleObserver

          public void addResponsibleObserver(java.lang.String strIDNumber,
                                    FN objFamilyName,
                                    java.lang.String strGivenName,
                                    java.lang.String strSecondAndFurtherGivenNamesOrInitialsThereof,
                                    java.lang.String strSuffix,
                                    java.lang.String strPrefix,
                                    CWE objSourceTable,
                                    HD objAssigningAuthority,
                                    java.lang.String strNameTypeCode,
                                    java.lang.String strIdentifierCheckDigit,
                                    java.lang.String strCheckDigitScheme,
                                    java.lang.String strIdentifierTypeCode,
                                    HD objAssigningFacility,
                                    java.lang.String strNameRepresentationCode,
                                    CWE objNameContext,
                                    java.lang.String strNameAssemblyOrder,
                                    java.lang.String strEffectiveDate,
                                    java.lang.String strExpirationDate,
                                    java.lang.String strProfessionalSuffix,
                                    CWE objAssigningJurisdiction,
                                    CWE objAssigningAgencyOrDepratment,
                                    java.lang.String strSecurityCheck,
                                    java.lang.String strSecurityCheckScheme)

      Add the Responsible Observer. This field contains the identifier of the individual directly responsible for the observation.
      Parameters:
        `strIDNumber` - Refers to the coded ID according to a user-defined table
        `objFamilyName` - Specifies the surname of a person.
        `strGivenName` - Specifies First name.
        `strSecondAndFurtherGivenNamesOrInitialsThereof` - Specifies multiple middle names that may be included by separating them with spaces.
        `strSuffix` - Used to specify a name suffix (e.g., Jr. or III).
        `strPrefix` - Used to specify a name prefix (e.g., Dr.).
        `strSourceTable` - Used as the HL7 identifier for the user-defined table of values for this component. [Refer User-defined Table 0297 - CN ID.]
        `objAssigningAuthority` - Specifies a unique identifier of the system (or organization or agency of department) that creates the data. [Refer User-defined Table 0363 - Assigning authority]
        `strNameTypeCode` - Specifies a code that represents the type of name.
        `strIdentifierCheckDigit` - Specifies part of the identifying number used in the sending application.
        `strCheckDigitScheme` - Specifies the code identifying the check digit scheme employed.[Refer HL7 Table 0061 - Check digit scheme].
        `strIdentifierTypeCode` - Specifies A code corresponding to the type of identifier.[Refer HL7 Table 0203 - Identifier type].
        `objAssigningFacility` - Specifies the place or location identifier where the identifier was first assigned to the person
        `strNameRepresentationCode` - Provides an indication of the representation provided by the data item.
        `objNameContext` - Designates the context in which a name is used. [Refer User-defined Table 0448 ]
        `strNameAssemblyOrder` - Specifies a code that represents the preferred display order of the components of this person name. Suggested values are G,F[Refer table 0444.]
        `strEffectiveDate` - Specifies the first date, if known, on which the address is valid and active.
        `strExpirationDate` - Specifies the last date, if known, on which the address is valid and active.
        `strProfessionalSuffix` - Used to specify an abbreviation, or a string of abbreviations, denoting qualifications that support the person's profession, (e.g., licenses).
        `objAssigningJurisdiction` - Specifies the geo-political body that assigned the identifier.
        `objAssigningAgencyOrDepratment` - Specifies the agency or department that assigned the identifier
        `strSecurityCheck` - Specifies the version code that may be assigned to the person identifier
        `strSecurityCheckScheme` - Specifies the check digit scheme.

    - #### addResponsibleObserver

          public void addResponsibleObserver(XCN objtemResponsibleObserver)

      Parameters:
        `strNameAssemblyOrder` - Specifies a code that represents the preferred display order of the components of this person name. Suggested values are G,F[Refer table 0444.]
        `objEffectiveDate` - Specifies the first date, if known, on which the address is valid and active.
        `objExpirationDate` - Specifies the last date, if known, on which the address is valid and active.
        `strProfessionalSuffix` - Used to specify an abbreviation, or a string of abbreviations, denoting qualifications that support the person's profession, (e.g., licenses).
        `objAssigningJurisdiction` - Specifies the geo-political body that assigned the identifier.
        `objAssigningAgencyOrDepratment` - Specifies the agency or department that assigned the identifier

    - #### setResponsibleObserver

          public void setResponsibleObserver(ISingleCollection<XCN> objResponsibleObserverList)

      Set the ResponsibleObserver list.
      Parameters:
        `objResponsibleObserverList` - List of ResponsibleObserver

    - #### setSetID_OBX

          public void setSetID_OBX(java.lang.String strSquenceID)

      Set the Set ID OBX. This field contains the sequence number. For compatibility with ASTM.
      Parameters:
        `strSquenceID` - Specifies the sequence number.

    - #### setSetID_OBX

          public void setSetID_OBX(SI objsetID_OBX)

      Set the Set ID OBX. This field contains the sequence number. For compatibility with ASTM.
      Parameters:
        `strSquenceID` - Specifies the sequence number.

    - #### setUnits

          public void setUnits(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 Units. This fields measure units within the units field of the OBX segment.
      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.

    - #### setUnits

          public void setUnits(CWE units)

      Set the Units. This fields measure units within the units field of the OBX segment.
      Parameters:
        `units` - Units

    - #### setUserDefinedAccessChecks

          public void setUserDefinedAccessChecks(java.lang.String strUserDefinedAccessChecks)

      Set the User Defined Access Checks. This field permits the producer to record results-dependent codes for classifying the observation at the receiving system.
      Parameters:
        `strUserDefinedAccessChecks` - Used as UserDefinedAccessChecks.

    - #### setUserDefinedAccessChecks

          public void setUserDefinedAccessChecks(ST objuserDefinedAccessChecks)

      Set the User Defined Access Checks. This field permits the producer to record results-dependent codes for classifying the observation at the receiving system.
      Parameters:
        `objuserDefinedAccessChecks` - Used as UserDefinedAccessChecks.

    - #### setValueType

          public void setValueType(java.lang.String strValueType)

      Set the Value Type. This field returns valueType.
      Parameters:
        `strValueType` - Used as ValueType.

    - #### setValueType

          public void setValueType(ID objvalueType)

      Set the Value Type. This field returns valueType.
      Parameters:
        `objvalueType` - Used as ValueType.

    - #### addObservationSite

          public void addObservationSite(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 Observation Site. This field typically contains the body site(s) where the measurement being reported was obtained.
      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.

    - #### addObservationSite

          public void addObservationSite(CWE objObservationSite)

      Set the Observation Site. This field typically contains the body site(s) where the measurement being reported was obtained.
      Parameters:
        `objObservationSite` - Specifies the normalcy status

    - #### setObservationSite

          public void setObservationSite(ISingleCollection<CWE> objObservationSiteList)

      Set the Observation Site. This field typically contains the body site(s) where the measurement being reported was obtained.
      Parameters:
        `objObservationSiteList` - List of AbnormalFlags

    - #### setObservationInstanceIdentifier

          public void setObservationInstanceIdentifier(java.lang.String strEntityIdentifier,
                                              java.lang.String strNamespaceId,
                                              java.lang.String strUniversalId,
                                              java.lang.String strUniversalIdType)

      Set the Observation Instance Identifier. This field contains a unique identifier for this observation. This instance identifier is persistent between messages.
      Parameters:
        `strEntityIdentifier` - Specifies to be unique within the series of identifiers created by the assigning authority, defined by a hierarchic designator
        `strNamespaceId` - Specifies the assigning authority is a unique identifier of the system (or organization or agency or department) that creates the data.
        `strUniversalId` - Specifies a string formatted according to the scheme defined by the third component universal ID type. It is intended to be unique over time within the UID type.
        `strUniversalIdType` - Governs the interpretation of the Universal ID.

    - #### setObservationInstanceIdentifier

          public void setObservationInstanceIdentifier(EI objObservationInstanceIdentifier)

      Set the Observation Instance Identifier. This field contains a unique identifier for this observation. This instance identifier is persistent between messages.
      Parameters:
        `objObservationInstanceIdentifier` - Used as ObservationInstanceIdentifier.

    - #### setMoodCode

          public void setMoodCode(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 Mood Code. This field identifies the actuality of the observation (e.g., intent, request, promise, event).
      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.

    - #### setMoodCode

          public void setMoodCode(CNE objMoodCode)

      Set the Mood Code. This field identifies the actuality of the observation (e.g., intent, request, promise, event).
      Parameters:
        `objMoodCode` - Used as MoodCode.

    - #### setPerformingOrganizationName

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

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

    - #### setPerformingOrganizationName

          public void setPerformingOrganizationName(XON objPerformingOrganizationName)

      Set the Performing Organization Name. This field contains the name of the organization/service responsible for performing the service.
      Parameters:
        `objPerformingOrganizationName` - Used as Performing Organization Name.

    - #### setPerformingOrganizationAddress

          public void setPerformingOrganizationAddress(SAD objStreetAddress,
                                              java.lang.String strOtherDesignation,
                                              java.lang.String strCity,
                                              java.lang.String strStateOrProvince,
                                              java.lang.String strZipOrPostalCode,
                                              java.lang.String strCountry,
                                              java.lang.String strAddressType,
                                              java.lang.String strOtherGeographicDesignation,
                                              CWE objCountyParishCode,
                                              CWE objCensusTract,
                                              java.lang.String strAddressRepresentationCode,
                                              DTM objEffectiveDate,
                                              DTM objExpirationDate,
                                              CWE objEXpirationReason,
                                              java.lang.String strTemporaryIndicator,
                                              java.lang.String strBadAddressIndicator,
                                              java.lang.String strAddressUsage,
                                              java.lang.String strAddressee,
                                              java.lang.String strComment,
                                              java.lang.String strPreferenceOrder,
                                              CWE objProtectionCode,
                                              EI objAddressIdentifier)

      Set the Performing Organization Address. This field contains the address of the organization/service responsible for performing the service.
      Parameters:
        `objStreetAddress` - Specifies the street address.
        `strOtherDesignation` - Specifies the Second line of address.
        `strCity` - The city, or district or place where the addressee is located.
        `strStateOrProvince` - Specifies the state or province where the addressee is located.
        `strZipOrPostalCode` - Specifies the zip or postal code where the addressee is located.
        `strCountry` - Specifies the country where the addressee is located.
        `strAddressType` - Specifies the kind or type of address.
        `strOtherGeographicDesignation` - Specifies any other geographic designation.
        `objCountyParishCode` - Specifies a code that represents the county in which the specified address resides.
        `objCensusTract` - Specifies a code that represents the census tract in which the specified address resides.
        `strAddressRepresentationCode` - Specifies representations of the same name/address Suggested values are I,A,P [Refer table 0465]
        `objEffectiveDate` - It is The first date, if known, on which the address is valid and active.
        `objExpirationDate` - It is The last date, if known, on which the address is valid and active.
        `objExpirationReason` - indicates why this address was marked as ended.
        `strTemporaryIndicator` - indicates whether address is considered temporary .
        `strBadAddressIndicator` - indicates whether it is possible to contact the owning entity.
        `strAddressUsage` - indicates how the address is intended to be used.
        `strAddressee` - indicates the name of the person whose address is intended to be used.
        `strComment` - indicated descriptive information
        `strPreferenceOrder` - preference order
        `objProtectionCode` - indicates that an address need to be protected
        `objAdressIdentifier` - indicates a unique identifier for address

    - #### setPerformingOrganizationAddress

          public void setPerformingOrganizationAddress(XAD objPerformingOrganizationAddress)

      Set the Performing Organization Address. This field contains the address of the organization/service responsible for performing the service.
      Parameters:
        `objPerformingOrganizationAddress` - Used as Performing Organization Name.

    - #### setPerformingOrganizationMedicalDirector

          public void setPerformingOrganizationMedicalDirector(java.lang.String strIDNumber,
                                                      FN objFamilyName,
                                                      java.lang.String strGivenName,
                                                      java.lang.String strSecondAndFurtherGivenNamesOrInitialsThereof,
                                                      java.lang.String strSuffix,
                                                      java.lang.String strPrefix,
                                                      CWE objSourceTable,
                                                      HD objAssigningAuthority,
                                                      java.lang.String strNameTypeCode,
                                                      java.lang.String strIdentifierCheckDigit,
                                                      java.lang.String strCheckDigitScheme,
                                                      java.lang.String strIdentifierTypeCode,
                                                      HD objAssigningFacility,
                                                      java.lang.String strNameRepresentationCode,
                                                      CWE objNameContext,
                                                      java.lang.String strNameAssemblyOrder,
                                                      java.lang.String strEffectiveDate,
                                                      java.lang.String strExpirationDate,
                                                      java.lang.String strProfessionalSuffix,
                                                      CWE objAssigningJurisdiction,
                                                      CWE objAssigningAgencyOrDepratment,
                                                      java.lang.String strSecurityCheck,
                                                      java.lang.String strSecurityCheckScheme)

      Set the Performing Organization Medical Director. This field contains the medical director of the organization/service responsible for performing the service.
      Parameters:
        `strIDNumber` - Refers to the coded ID according to a user-defined table
        `objFamilyName` - Specifies the surname of a person.
        `strGivenName` - Specifies First name.
        `strSecondAndFurtherGivenNamesOrInitialsThereof` - Specifies multiple middle names that may be included by separating them with spaces.
        `strSuffix` - Used to specify a name suffix (e.g., Jr. or III).
        `strPrefix` - Used to specify a name prefix (e.g., Dr.).
        `strSourceTable` - Used as the HL7 identifier for the user-defined table of values for this component. [Refer User-defined Table 0297 - CN ID.]
        `objAssigningAuthority` - Specifies a unique identifier of the system (or organization or agency of department) that creates the data. [Refer User-defined Table 0363 - Assigning authority]
        `strNameTypeCode` - Specifies a code that represents the type of name.
        `strIdentifierCheckDigit` - Specifies part of the identifying number used in the sending application.
        `strCheckDigitScheme` - Specifies the code identifying the check digit scheme employed.[Refer HL7 Table 0061 - Check digit scheme].
        `strIdentifierTypeCode` - Specifies A code corresponding to the type of identifier.[Refer HL7 Table 0203 - Identifier type].
        `objAssigningFacility` - Specifies the place or location identifier where the identifier was first assigned to the person
        `strNameRepresentationCode` - Provides an indication of the representation provided by the data item.
        `objNameContext` - Designates the context in which a name is used. [Refer User-defined Table 0448 ]
        `strNameAssemblyOrder` - Specifies a code that represents the preferred display order of the components of this person name. Suggested values are G,F[Refer table 0444.]
        `strEffectiveDate` - Specifies the first date, if known, on which the address is valid and active.
        `strExpirationDate` - Specifies the last date, if known, on which the address is valid and active.
        `strProfessionalSuffix` - Used to specify an abbreviation, or a string of abbreviations, denoting qualifications that support the person's profession, (e.g., licenses).
        `objAssigningJurisdiction` - Specifies the geo-political body that assigned the identifier.
        `objAssigningAgencyOrDepratment` - Specifies the agency or department that assigned the identifier
        `strSecurityCheck` - Specifies the version code that may be assigned to the person identifier
        `strSecurityCheckScheme` - Specifies the check digit scheme.

    - #### setPerformingOrganizationMedicalDirector

          public void setPerformingOrganizationMedicalDirector(XCN objPerformingOrganizationMedicalDirector)

      Set the Performing Organization Medical Director. This field contains the medical director of the organization/service responsible for performing the service.
      Parameters:
        `objPerformingOrganizationMedicalDirector` - Used as Performing Organization Name.

    - #### setPatientResultsReleaseCategory

          public void setPatientResultsReleaseCategory(java.lang.String strPatientResultsReleaseCategory)

      Set the Patient Results Release Category. This field contains instructions on whether to share the results with the patient, and if so how.
      Parameters:
        `strPatientResultsReleaseCategory` - Used as PatientResultsReleaseCategory.

    - #### setPatientResultsReleaseCategory

          public void setPatientResultsReleaseCategory(ID objPatientResultsReleaseCategory)

      Set the Patient Results Release Category. This field contains instructions on whether to share the results with the patient, and if so how
      Parameters:
        `objPatientResultsReleaseCategory` - Used as Patient Results Release Category.

    - #### setRootCause

          public void setRootCause(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 Root Cause. This element contains the reason code indicating the root cause for the reissue of a previously released lab report.
      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.

    - #### setRootCause

          public void setRootCause(CWE objRootCause)

      Set the Root Cause. This element contains the reason code indicating the root cause for the reissue of a previously released lab report.
      Parameters:
        `objRootCause` - Root Cause.

    - #### setLocalProcessControl

          public void setLocalProcessControl(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 Local Process Control. This element contains information intended to be used for locally defined processing, particularly process control/status type information.
      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.

    - #### setLocalProcessControl

          public void setLocalProcessControl(CWE objLocalProcessControl)

      Set the Local Process Control. This element contains information intended to be used for locally defined processing, particularly process control/status type information.
      Parameters:
        `objLocalProcessControl` - LocalProcessControl.

    - #### setObservationType

          public void setObservationType(java.lang.String strObjObservationType)

      Set the Observation Type. This field indicates the type of observation to enable systems to distinguish between observations sent along with an order, versus observations sent as the result to an order.
      Parameters:
        `strObjObservationType` - Used as ObservationType.

    - #### setObservationType

          public void setObservationType(ID objObservationType)

      Set the Observation Type. This field indicates the type of observation to enable systems to distinguish between observations sent along with an order, versus observations sent as the result to an order.
      Parameters:
        `objObservationType` - Used as ObservationType.

    - #### setObservationSubType

          public void setObservationSubType(java.lang.String strObservationSubType)

      Set the Observation Sub-Type. The result sub-type provides further classification of OBX-29 Observation Type.
      Parameters:
        `strObservationSubType` - Used as ObservationSubType.

    - #### setObservationSubType

          public void setObservationSubType(ID objObservationSubType)

      Set the Observation Sub-Type. The result sub-type provides further classification of OBX-29 Observation Type.
      Parameters:
        `objPatientResultsReleaseCategory` - Used as Patient Results Release Category.

    - #### 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.

    - #### parse

          public int parse(java.lang.String strSegmentStream,
                  IDelimiter objIDelimiter)
                    throws java.io.IOException,
                           InvalidSegmentException

      Parses HL7 Segment Strings from any Stream into HL7 Segment object. This method checks for the Repetition of the fields in the Segment. It also checks for the optionality of the fields as whether they are mandatory or optional. Successful parsing of the segment populates the object with the data present on the stream and provides easy accessor and mutator methods to navigate the message. It also leads to failure if version of given HL7 Message is not 2.8.2. This method raises exception if there is Segment which is not valid as per HL7 v 2.8.2 standard.
      Specified by:
        `parse` in interface `ISegment`
      Overrides:
        `parse` in class `Segment`
      Parameters:
        `strSegmentStream` - String of HL7Stream.
        `objIDelimiter` - Object of class Delimiter.
      Returns:
        int - Success if segment is valid. - Fail if segment in not valid
      Throws:
        `InvalidSegmentException` - Thrown when Field Validation Fails.
        `java.io.IOException` - Signals that an I/O exception of some sort has occurred.