cdac.medinfo.sdk.hl7282.baselibs.segments

## Class BLG

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

- All Implemented Interfaces:
    ISegment

      public class BLG
      extends Segment

  BLG - Billing Segment.

  This segment is used to provide billing information, on the ordered service, to the filling application.

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

  BLG-1: When to Charge (CCD)Optional
  BLG-2: Charge Type (ID)Optional
  BLG-3: Account ID (CX)Optional
  BLG-4: Charge Type Reason (CWE)Optional

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

  User can also create Segment through `SegmentFactory`

- - ### Constructor Summary

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `CX` | `getAccountID()` Retrieves the Account ID.
    `ID` | `getChargeType()` Retrieves the Charge Type.
    `CWE` | `getChargeTypeReason()` Retrieves the Charge Type Reason.
    `CCD` | `getWhenToCharge()` Retrieves the When To Charge.
    `void` | `setAccountID(CX objaccountID)` Set the Account ID.
    `void` | `setAccountID(java.lang.String strIDNumber, java.lang.String strCheckDigit, java.lang.String strCheckDigitScheme, HD objAssigningAuthority, java.lang.String strIdentifierTypeCode, HD objAssigningFacility, java.lang.String strEffectiveDate, java.lang.String strExpirationDate, CWE objAssigningJurisdiction, CWE objAssigningAgencyOrDepartment, java.lang.String strSecurityCheck, java.lang.String strSecurityCheckScheme)` Set the Account ID.
    `void` | `setChargeType(ID chargeType)` Set the Charge Type.
    `void` | `setChargeType(java.lang.String strChargeType)` Set the Charge Type.
    `void` | `setChargeTypeReason(CWE objchargeTypeReason)` Set the Charge Type Reason.
    `void` | `setChargeTypeReason(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 Charge Type Reason.
    `void` | `setWhenToCharge(CCD objwhenToCharge)` Set when to charge for the ordered service.
    `void` | `setWhenToCharge(java.lang.String strInvocationEvent, DTM objDatetime)` Set when to charge for the ordered service.
    `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

    - #### BLG

          public BLG()

      Constructs the BLG segment.

  - ### Method Detail

    - #### getAccountID

          public CX getAccountID()

      Retrieves the Account ID. This field specify the value for Next of Kin Associated Partys Identifiers.
      Returns:
        CX - accountID

    - #### getChargeType

          public ID getChargeType()

      Retrieves the Charge Type.
      Returns:
        ID - chargeType

    - #### getChargeTypeReason

          public CWE getChargeTypeReason()

      Retrieves the Charge Type Reason. This field specify the value for field Confidentiality Code. Refer to User Defined Table 0475 - Charge Type Reason for suggested values.
      Returns:
        CWE - chargeTypeReason

    - #### getWhenToCharge

          public CCD getWhenToCharge()

      Retrieves the When To Charge. This field specify the value for when to charge for the ordered service.
      Returns:
        CCD - whenToCharge

    - #### setWhenToCharge

          public void setWhenToCharge(java.lang.String strInvocationEvent,
                             DTM objDatetime)

      Set when to charge for the ordered service.
      Parameters:
        `strInvocationEvent` - Specifies the code for the event precipitating/triggering the charge activity. Refer to HL7 Table 0100 - Invocation event for valid values.
        `objDatetime` - Specifies the exact time to charge for the ordered service

    - #### setWhenToCharge

          public void setWhenToCharge(CCD objwhenToCharge)

      Set when to charge for the ordered service.
      Parameters:
        `objwhenToCharge` - Object of When to Charge

    - #### setChargeType

          public void setChargeType(java.lang.String strChargeType)

      Set the Charge Type.
      Parameters:
        `strChargeType` - This field identifies someone or something other than the patient to be billed for this service. Refer to HL7 Table 0122 - Charge Type for valid values.

    - #### setChargeType

          public void setChargeType(ID chargeType)

      Set the Charge Type.
      Parameters:
        `chargeType` - Object of Charge Type.

    - #### setAccountID

          public void setAccountID(java.lang.String strIDNumber,
                          java.lang.String strCheckDigit,
                          java.lang.String strCheckDigitScheme,
                          HD objAssigningAuthority,
                          java.lang.String strIdentifierTypeCode,
                          HD objAssigningFacility,
                          java.lang.String strEffectiveDate,
                          java.lang.String strExpirationDate,
                          CWE objAssigningJurisdiction,
                          CWE objAssigningAgencyOrDepartment,
                          java.lang.String strSecurityCheck,
                          java.lang.String strSecurityCheckScheme)

      Set the Account ID. This field specify the value for Next of Kin Associated Partys Identifiers.
      Parameters:
        `strIDNumber` - Specifies the value of the identifier itself.
        `strCheckDigit` - It is part of the identifying number used in the sending application.
        `strCheckDigitScheme` - Contains the code identifying the check digit scheme employed. Suggested Values NP,ISO,M10,M11.[Refer table No.0061].
        `objAssigningAuthority` - The assigning authority is a unique name of the system (or organization or agency or department) that creates the data. .
        `strIdentifierTypeCode` - Specifies a code corresponding to the type of identifier.In some cases, this code may be used as a qualifier to the "Assigning authority" component.[Refer table No 0203]
        `objAssigningFacility` - Specifies the place or location identifier where the identifier was first assigned to the patient.
        `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.
        `objAssigningJurisdiction` - Specifies the geo-political body that assigned the identifier.
        `objAssigningAgencyOrDepartment` - Specifies agency or department that assigned the identifier.
        `strSecurityCheck` - is used to communicate the version code.
        `objSecurityCheckSCheme` - is used to transmit information intended to validate veracity of the supplied identifier

    - #### setAccountID

          public void setAccountID(CX objaccountID)

      Set the Account ID. This field specify the value for Next of Kin Associated Partys Identifiers.
      Parameters:
        `objaccountID` - Object of Account ID.

    - #### setChargeTypeReason

          public void setChargeTypeReason(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 Charge Type Reason. This field specify the value for field Confidentiality Code. Refer to User Defined Table 0475 - Charge Type Reason for suggested values.
      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.

    - #### setChargeTypeReason

          public void setChargeTypeReason(CWE objchargeTypeReason)

      Set the Charge Type Reason. This field specify the value for field Confidentiality Code. Refer to User Defined Table 0475 - Charge Type Reason for suggested values.
      Parameters:
        `objchargeTypeReason` - Object of Charge Type Reason.

    - #### validate

          public boolean validate()
                           throws InvalidSegmentException

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