cdac.medinfo.sdk.hl7282.baselibs.segments

## Class PRA

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

- All Implemented Interfaces:
    ISegment

      public class PRA
      extends Segment

  PRA - Practitioner Detail Segment

  The PRA segment adds detailed medical practitioner information to the personnel identified by the STF segment.

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

  PRA-1: Primary Key Value - PRA (CWE)Conditional
  PRA-2: Practitioner Group (CWE)Optional
  PRA-3: Practitioner Category (CWE)Optional
  PRA-4: Provider Billing (ID)Optional
  PRA-5: Specialty (SPD)Optional
  PRA-6: Practitioner ID Numbers (PLN)Backward
  PRA-7: Privileges (PIP)Optional
  PRA-8: Date Entered Practice (DT)Optional
  PRA-9: Institution (CWE)Optional
  PRA-10: Date Left Practice (DT)Optional
  PRA-11: Government Reimbursement Billing Eligibility (CWE)Optional
  PRA-12: Set ID - PRA (SI)Conditional

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

  User can also create Segment through `SegmentFactory`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `PRA()` Constucts the PRA segment.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addGovernmentReimbursementBillingEligibility(CWE objGovernmentReimbursementBillingEligibility)` Add the Government Reimbursement Billing Eligibility.
    `void` | `addGovernmentReimbursementBillingEligibility(java.lang.String strIdentifier, java.lang.String strText, java.lang.String strNameOfCodingSystem, java.lang.String strAlternateIdentifier, java.lang.String strAlternateText, java.lang.String strNameOfAlternateCodingSystem, java.lang.String strCodingSystemVersionID, java.lang.String strAlternateCodingSystemVersionId, java.lang.String strOriginalText, java.lang.String strSecondAlternateIdentifier, java.lang.String strSecondAlternateText, java.lang.String strNameofSecondAlternateCodingSystem, java.lang.String strSecondAlternateCodingSystemVersionID, java.lang.String strCodingSystemOID, java.lang.String strValueSetOID, java.lang.String strValueSetVersionID, java.lang.String strAlternateCodingSystemOID, java.lang.String strAlternateValueSetOID, java.lang.String strAlternateValueSetVersionID, java.lang.String strSecondAlternateCodingSystemOID, java.lang.String strSecondAlternateValueSetOID, java.lang.String strSecondAlternateValueSetVersionID)` Add the Government Reimbursement Billing Eligibility.
    `void` | `addPractitionerCategory(CWE objPractitionerCategory)` Add the Practitioner Category.
    `void` | `addPractitionerCategory(java.lang.String strIdentifier, java.lang.String strText, java.lang.String strNameOfCodingSystem, java.lang.String strAlternateIdentifier, java.lang.String strAlternateText, java.lang.String strNameOfAlternateCodingSystem, java.lang.String strCodingSystemVersionID, java.lang.String strAlternateCodingSystemVersionId, java.lang.String strOriginalText, java.lang.String strSecondAlternateIdentifier, java.lang.String strSecondAlternateText, java.lang.String strNameofSecondAlternateCodingSystem, java.lang.String strSecondAlternateCodingSystemVersionID, java.lang.String strCodingSystemOID, java.lang.String strValueSetOID, java.lang.String strValueSetVersionID, java.lang.String strAlternateCodingSystemOID, java.lang.String strAlternateValueSetOID, java.lang.String strAlternateValueSetVersionID, java.lang.String strSecondAlternateCodingSystemOID, java.lang.String strSecondAlternateValueSetOID, java.lang.String strSecondAlternateValueSetVersionID)` Add the Practitioner Category.
    `void` | `addPractitionerGroup(CWE objPractitionerGroup)` Add the Practitioner Group.
    `void` | `addPractitionerGroup(java.lang.String strIdentifier, java.lang.String strText, java.lang.String strNameOfCodingSystem, java.lang.String strAlternateIdentifier, java.lang.String strAlternateText, java.lang.String strNameOfAlternateCodingSystem, java.lang.String strCodingSystemVersionID, java.lang.String strAlternateCodingSystemVersionId, java.lang.String strOriginalText, java.lang.String strSecondAlternateIdentifier, java.lang.String strSecondAlternateText, java.lang.String strNameofSecondAlternateCodingSystem, java.lang.String strSecondAlternateCodingSystemVersionID, java.lang.String strCodingSystemOID, java.lang.String strValueSetOID, java.lang.String strValueSetVersionID, java.lang.String strAlternateCodingSystemOID, java.lang.String strAlternateValueSetOID, java.lang.String strAlternateValueSetVersionID, java.lang.String strSecondAlternateCodingSystemOID, java.lang.String strSecondAlternateValueSetOID, java.lang.String strSecondAlternateValueSetVersionID)` Add the Practitioner Group.
    `void` | `addPractitionerIDNumbers(PLN objPractitionerIDNumbers)` Add the Practitioner ID Numbers.
    `void` | `addPractitionerIDNumbers(java.lang.String strIdNumber, CWE objTypeOfIdNumber, java.lang.String strStateOtherQualifyingInfo, java.lang.String strExpirationDate)` Add the Practitioner ID Numbers.
    `void` | `addPrivileges(CWE objPrivilege, CWE objPrivilegeClass, java.lang.String strExpirationDate, java.lang.String strActivationDate, EI objFacility)` Add the Privileges.
    `void` | `addPrivileges(PIP objPrivileges)` Add the Privileges.
    `void` | `addSpecialty(SPD objSpecialty)` Add the Specialty.
    `void` | `addSpecialty(java.lang.String strSpecialtyName, java.lang.String strGoverningBoard, java.lang.String strEligibleOrCertified, java.lang.String strDateOfCertification)` Add the Specialty.
    `DT` | `getDateEnteredPractice()` Retrieves the Date Entered Practice.
    `DT` | `getDateLeftPractice()` Retrieves the Date Left Practice.
    `ISingleCollection<CWE>` | `getGovernmentReimbursementBillingEligibility()` Retrieves the Government Reimbursement Billing Eligibility.
    `CWE` | `getInstitution()` Retrieves the Institution.
    `ISingleCollection<CWE>` | `getPractitionerCategory()` Retrieves the Practitioner Category.
    `ISingleCollection<CWE>` | `getPractitionerGroup()` Retrieves the Practitioner Group.
    `ISingleCollection<PLN>` | `getPractitionerIDNumbers()` Retrieves the Practitioner ID Numbers.
    `CWE` | `getPrimaryKeyValue_PRA()` Retrieves the Primary Key Value PRA.
    `ISingleCollection<PIP>` | `getPrivileges()` Retrieves the Privileges.
    `ID` | `getProviderBilling()` Retrieves the Provider Billing.
    `SI` | `getSetID_PRA()` Retrieves the Set ID PRA.
    `ISingleCollection<SPD>` | `getSpecialty()` Retrieves the Specialty.
    `void` | `setDateEnteredPractice(DT objDateEnteredPractice)` Set the Date Entered Practice.
    `void` | `setDateEnteredPractice(java.lang.String strDateEnteredPractice)` Set the Date Entered Practice.
    `void` | `setDateLeftPractice(DT objDateLeftPractice)` Set the Date Left Practice.
    `void` | `setDateLeftPractice(java.lang.String strDateLeftPractice)` Set the Date Left Practice.
    `void` | `setGovernmentReimbursementBillingEligibility(ISingleCollection<CWE> objGovernmentReimbursementBillingEligibilityList)` Set the Government Reimbursement Billing Eligibility.
    `void` | `setInstitution(CWE objInstitution)` Set the Institution.
    `void` | `setInstitution(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 Institution.
    `void` | `setPractitionerCategory(ISingleCollection<CWE> objPractitionerCategoryList)` Set the Practitioner Category.
    `void` | `setPractitionerGroup(ISingleCollection<CWE> objPractitionerGroupList)` Set the Practitioner Group.
    `void` | `setPractitionerIDNumbers(ISingleCollection<PLN> objPractitionerIDNumbersList)` Set the Practitioner ID Numbers.
    `void` | `setPrimaryKeyValue_PRA(CWE objPrimaryKeyValue_PRA)` Set the Primary Key Value PRA.
    `void` | `setPrimaryKeyValue_PRA(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 Primary Key Value PRA.
    `void` | `setPrivileges(ISingleCollection<PIP> objPrivilegesList)` Set the Privileges.
    `void` | `setProviderBilling(ID objProviderBilling)` Set the Provider Billing.
    `void` | `setProviderBilling(java.lang.String strProviderBilling)` Set the Provider Billing.
    `void` | `setSetID_PRA(SI objSetID_PRA)` Set the Set ID PRA.
    `void` | `setSetID_PRA(java.lang.String strSetID_PRA)` Set the Set ID PRA.
    `void` | `setSpecialty(ISingleCollection<SPD> objSpecialtyList)` Set the Specialty.
    `boolean` | `validate()` Validates HL7 Message objects .

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

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

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

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

- - ### Constructor Detail

    - #### PRA

          public PRA()

      Constucts the PRA segment.

  - ### Method Detail

    - #### getDateEnteredPractice

          public DT getDateEnteredPractice()

      Retrieves the Date Entered Practice. This field contains the date, the practitioner begin practicing at the present institution.
      Returns:
        DT - dateEnteredPractice

    - #### getDateLeftPractice

          public DT getDateLeftPractice()

      Retrieves the Date Left Practice. This field contains the date the practitioner ended or intends to end practicing at the given institution.
      Returns:
        DT - dateLeftPractice

    - #### getGovernmentReimbursementBillingEligibility

          public ISingleCollection<CWE> getGovernmentReimbursementBillingEligibility()

      Retrieves the Government Reimbursement Billing Eligibility. This field contains a code that indicates the agency that the practitioner is authorized to bill for medical services.
      Returns:
        ISingleCollection - governmentReimbursementBillingEligibility

    - #### getInstitution

          public CWE getInstitution()

      Retrieves the Institution. This field contains the institution, the practitioner begin or intends to begin practicing at hospital, or at physician organization, or at managed care network.
      Returns:
        CWE - institution

    - #### getPractitionerCategory

          public ISingleCollection<CWE> getPractitionerCategory()

      Retrieves the Practitioner Category.
      Returns:
        ISingleCollection - practitionerCategory

    - #### getPractitionerGroup

          public ISingleCollection<CWE> getPractitionerGroup()

      Retrieves the Practitioner Group. This field contains the name and/or code of a group of practitioners to which this practitioner belongs.
      Returns:
        ISingleCollection - practitionerGroup

    - #### getPractitionerIDNumbers

          public ISingleCollection<PLN> getPractitionerIDNumbers()

      Retrieves the Practitioner ID Numbers. This field contains this practitioner's license numbers and other ID numbers.
      Returns:
        ISingleCollection - practitionerIDNumbers

    - #### getPrimaryKeyValue_PRA

          public CWE getPrimaryKeyValue_PRA()

      Retrieves the Primary Key Value PRA. This field identify which entry is being referenced.
      Returns:
        CWE - primaryKeyValue_PRA

    - #### getPrivileges

          public ISingleCollection<PIP> getPrivileges()

      Retrieves the Privileges. This field contains the institutional privileges which this provider may exercise.
      Returns:
        ISingleCollection - privileges

    - #### getProviderBilling

          public ID getProviderBilling()

      Retrieves the Provider Billing. This field indicates how provider services are billed.
      Returns:
        ID - providerBilling

    - #### getSetID_PRA

          public SI getSetID_PRA()

      Retrieves the Set ID PRA. This field contains the number that identifies this transaction.
      Returns:
        SI - setID_PRA

    - #### getSpecialty

          public ISingleCollection<SPD> getSpecialty()

      Retrieves the Specialty. This field contains multiple components to record the practitioner-s specialties.
      Returns:
        ISingleCollection - specialty

    - #### setPrimaryKeyValue_PRA

          public void setPrimaryKeyValue_PRA(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 Primary Key Value PRA. This field identify which entry is being referenced.
      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.

    - #### setPrimaryKeyValue_PRA

          public void setPrimaryKeyValue_PRA(CWE objPrimaryKeyValue_PRA)

      Set the Primary Key Value PRA. This field identify which entry is being referenced.
      Parameters:
        `objPrimaryKeyValue_PRA` - Object of Primary Key Value PRA.

    - #### addPractitionerGroup

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

      Add the Practitioner Group. This field contains the name and/or code of a group of practitioners to which this practitioner belongs.
      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.

    - #### addPractitionerGroup

          public void addPractitionerGroup(CWE objPractitionerGroup)

      Add the Practitioner Group. This field contains the name and/or code of a group of practitioners to which this practitioner belongs.
      Parameters:
        `objPractitionerGroup` - Object of Practitioner Group.

    - #### setPractitionerGroup

          public void setPractitionerGroup(ISingleCollection<CWE> objPractitionerGroupList)

      Set the Practitioner Group. This field contains the name and/or code of a group of practitioners to which this practitioner belongs.
      Parameters:
        `objPractitionerGroupList` - List of Practitioner Group.

    - #### addPractitionerCategory

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

      Add the Practitioner Category.
      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.

    - #### addPractitionerCategory

          public void addPractitionerCategory(CWE objPractitionerCategory)

      Add the Practitioner Category.
      Parameters:
        `objPractitionerCategory` - Object of Practitioner Category.

    - #### setPractitionerCategory

          public void setPractitionerCategory(ISingleCollection<CWE> objPractitionerCategoryList)

      Set the Practitioner Category.
      Parameters:
        `objPractitionerCategoryList` - List of Practitioner Category.

    - #### setProviderBilling

          public void setProviderBilling(java.lang.String strProviderBilling)

      Set the Provider Billing. This field indicates how provider services are billed.
      Parameters:
        `strProviderBilling` - String shows the value of Provider Billing.

    - #### setProviderBilling

          public void setProviderBilling(ID objProviderBilling)

      Set the Provider Billing. This field indicates how provider services are billed.
      Parameters:
        `objProviderBilling` - Object of Provider Billing.

    - #### addSpecialty

          public void addSpecialty(java.lang.String strSpecialtyName,
                          java.lang.String strGoverningBoard,
                          java.lang.String strEligibleOrCertified,
                          java.lang.String strDateOfCertification)

      Add the Specialty. This field contains multiple components to record the practitioner's specialties.
      Parameters:
        `strSpecialtyName` - Identifies the provider's specialty.
        `strGoverningBoard` - Identifies the governing body providing for the specialty.
        `strEligibleOrCertified` - Specifies the certification status.
        `strDateOfCertification` - Specifies when certification occurred.

    - #### addSpecialty

          public void addSpecialty(SPD objSpecialty)

      Add the Specialty. This field contains multiple components to record the practitioner's specialties.
      Parameters:
        `objSpecialty` - Object of Specialty.

    - #### setSpecialty

          public void setSpecialty(ISingleCollection<SPD> objSpecialtyList)

      Set the Specialty. This field contains multiple components to record the practitioner's specialties.
      Parameters:
        `objSpecialtyList` - List of Specialty.

    - #### addPractitionerIDNumbers

          public void addPractitionerIDNumbers(java.lang.String strIdNumber,
                                      CWE objTypeOfIdNumber,
                                      java.lang.String strStateOtherQualifyingInfo,
                                      java.lang.String strExpirationDate)

      Add the Practitioner ID Numbers. This field contains this practitioner's license numbers and other ID numbers.
      Parameters:
        `strIdNumber` - Specifies the license number or other ID number such as UPIN, Medicare and Medicaid number.
        `objTypeOfIdNumber` - Specifies the type of number.
        `strStateOtherQualifyingInfo` - Specifies the state or province in which the license or ID is valid
        `strExpirationDate` - Specifies the date when the license or ID is no longer valid.

    - #### addPractitionerIDNumbers

          public void addPractitionerIDNumbers(PLN objPractitionerIDNumbers)

      Add the Practitioner ID Numbers. This field contains this practitioner's license numbers and other ID numbers.
      Parameters:
        `objPractitionerIDNumbers` - Object of Practitioner ID Numbers.

    - #### setPractitionerIDNumbers

          public void setPractitionerIDNumbers(ISingleCollection<PLN> objPractitionerIDNumbersList)

      Set the Practitioner ID Numbers. This field contains this practitioner's license numbers and other ID numbers.
      Parameters:
        `objPractitionerIDNumbersList` - List of Practitioner ID Numbers.

    - #### addPrivileges

          public void addPrivileges(CWE objPrivilege,
                           CWE objPrivilegeClass,
                           java.lang.String strExpirationDate,
                           java.lang.String strActivationDate,
                           EI objFacility)

      Add the Privileges. This field contains the institutional privileges which this provider may exercise.
      Parameters:
        `objPrivilege` - Specifies the institutional privilege itself.
        `objPrivilegeClass` - Specifies the class category of institutional privilege.
        `strExpirationDate` - Specifies the date the institutional privilege is/was no longer valid.
        `strActivationDate` - Specifies the date the institutional privilege became/becomes valid.
        `objFacility` - Specifies the facility in which the institutional privilege is/was valid.

    - #### addPrivileges

          public void addPrivileges(PIP objPrivileges)

      Add the Privileges. This field contains the institutional privileges which this provider may exercise.
      Parameters:
        `objPrivileges` - Object of Privileges.

    - #### setPrivileges

          public void setPrivileges(ISingleCollection<PIP> objPrivilegesList)

      Set the Privileges. This field contains the institutional privileges which this provider may exercise.
      Parameters:
        `objPrivilegesList` - List of Privileges.

    - #### setDateEnteredPractice

          public void setDateEnteredPractice(java.lang.String strDateEnteredPractice)

      Set the Date Entered Practice. This field contains the date, the practitioner begin practicing at the present institution.
      Parameters:
        `strDateEnteredPractice` - The string value shows Date Entered Practice.

    - #### setDateEnteredPractice

          public void setDateEnteredPractice(DT objDateEnteredPractice)

      Set the Date Entered Practice. This field contains the date, the practitioner begin practicing at the present institution.
      Parameters:
        `objDateEnteredPractice` - Object of Date Entered Practice.

    - #### setInstitution

          public void setInstitution(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 Institution. This field contains the institution, the practitioner begin or intends to begin practicing at hospital, or at physician organization, or at managed care network.
      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.

    - #### setInstitution

          public void setInstitution(CWE objInstitution)

      Set the Institution. This field contains the institution, the practitioner begin or intends to begin practicing at hospital, or at physician organization, or at managed care network.
      Parameters:
        `objInstitution` - Object of Institution.

    - #### setDateLeftPractice

          public void setDateLeftPractice(java.lang.String strDateLeftPractice)

      Set the Date Left Practice. This field contains the date the practitioner ended or intends to end practicing at the given institution.
      Parameters:
        `strDateLeftPractice` - The string value shows Date Left Practice.

    - #### setDateLeftPractice

          public void setDateLeftPractice(DT objDateLeftPractice)

      Set the Date Left Practice. This field contains the date the practitioner ended or intends to end practicing at the given institution.
      Parameters:
        `objDateLeftPractice` - Object of Date Left Practice.

    - #### addGovernmentReimbursementBillingEligibility

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

      Add the Government Reimbursement Billing Eligibility. This field contains a code that indicates the agency that the practitioner is authorized to bill for medical services.
      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.

    - #### addGovernmentReimbursementBillingEligibility

          public void addGovernmentReimbursementBillingEligibility(CWE objGovernmentReimbursementBillingEligibility)

      Add the Government Reimbursement Billing Eligibility. This field contains a code that indicates the agency that the practitioner is authorized to bill for medical services.
      Parameters:
        `objGovernmentReimbursementBillingEligibility` - Object of Government Reimbursement Billing Eligibility.

    - #### setGovernmentReimbursementBillingEligibility

          public void setGovernmentReimbursementBillingEligibility(ISingleCollection<CWE> objGovernmentReimbursementBillingEligibilityList)

      Set the Government Reimbursement Billing Eligibility. This field contains a code that indicates the agency that the practitioner is authorized to bill for medical services.
      Parameters:
        `objGovernmentReimbursementBillingEligibilityList` - List of Government Reimbursement Billing Eligibility.

    - #### setSetID_PRA

          public void setSetID_PRA(java.lang.String strSetID_PRA)

      Set the Set ID PRA. This field contains the number that identifies this transaction.
      Parameters:
        `strSetID_PRA` - This field contains the number that identifies PRA transaction.

    - #### setSetID_PRA

          public void setSetID_PRA(SI objSetID_PRA)

      Set the Set ID PRA. This field contains the number that identifies this transaction.
      Parameters:
        `objSetID_PRA` - Object of Set ID PRA.

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