cdac.medinfo.sdk.hl7282.baselibs.segments

## Class SFT

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

- All Implemented Interfaces:
    ISegment

      public class SFT
      extends Segment

  SFT - software segment.

  This segment provides additionalation. The primary purpose of this segment is for diagnostic use. There may be additional uses per site-specific agreements.

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

  SFT-1: Software Vendor Organization (XON)Required
  SFT-2: Software Certified Version or Release Number (ST)Required
  SFT-3: Software Product Name (ST)Required
  SFT-4: Software Binary ID (ST)Required
  SFT-5: Software Product Information (TX)Optional
  SFT-6: Software Install Date (DTM)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
    `SFT()` Constructs the SFT segment.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ST` | `getSoftwareBinaryId()` Retrieves the Software Binary Id.
    `ST` | `getSoftwareCertifiedVersionOrReleaseNO()` Retrieves the Software Certified Version Or Release NO.
    `DTM` | `getSoftwareInstallDate()` Retrieves the Software Install Date.
    `TX` | `getSoftwareProductInformation()` Retrieves the Software Product Information.
    `ST` | `getSoftwareProductName()` Retrieves the Software Product Name.
    `XON` | `getSoftwareVendorOrganization()` Retrieves the Software Vendor Organization.
    `void` | `setSoftwareBinaryId(ST objsoftwareBinaryId)` Set the Software Binary Id.
    `void` | `setSoftwareBinaryId(java.lang.String strSoftwareBinaryId)` Set the Software Binary Id.
    `void` | `setSoftwareCertifiedVersionOrReleaseNO(ST objsoftwareCertifiedVersionOrReleaseN)` Set the Software Certified Version Or Release NO.
    `void` | `setSoftwareCertifiedVersionOrReleaseNO(java.lang.String strSoftwareCertifiedVersionOrReleaseNO)` Set the Software Certified Version Or Release NO.
    `void` | `setSoftwareInstallDate(DTM objsoftwareInstallDate)` Set the Software Install Date.
    `void` | `setSoftwareInstallDate(java.lang.String strTime)` Set the Software Install Date.
    `void` | `setSoftwareProductInformation(java.lang.String strSoftwareProductInformation)` Set the Software Product Information.
    `void` | `setSoftwareProductInformation(TX objsoftwareProductInformation)` Set the Software Product Information.
    `void` | `setSoftwareProductName(ST objsoftwareProductName)` Set the Software Product Name.
    `void` | `setSoftwareProductName(java.lang.String strSoftwareProductName)` Set the Software Product Name.
    `void` | `setSoftwareVendorOrganization(java.lang.String strOrganizationName, CWE objOrganizationNameTypeCode, HD objAssigningAuthority, java.lang.String strIdentifierTypeCode, HD objAssigningFacility, java.lang.String strNameRepresentationCode, java.lang.String strOrganizationIdentifier)` Set the Software Vendor Organization.
    `void` | `setSoftwareVendorOrganization(XON objsoftwareVendorOrganization)` Set the Software Vendor Organization.
    `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

    - #### SFT

          public SFT()

      Constructs the SFT segment.

  - ### Method Detail

    - #### getSoftwareBinaryId

          public ST getSoftwareBinaryId()

      Retrieves the Software Binary Id. This field specify the unique software version instance to distinguish between like versions of the same software.
      Returns:
        ST - appointmentDuration

    - #### getSoftwareCertifiedVersionOrReleaseNO

          public ST getSoftwareCertifiedVersionOrReleaseNO()

      Retrieves the Software Certified Version Or Release NO. This field specify the latest software version number of the sending system that has been compliance tested and accepted.
      Returns:
        ST - softwareCertifiedVersionOrReleaseNO

    - #### getSoftwareInstallDate

          public DTM getSoftwareInstallDate()

      Retrieves the Software Install Date.
      Returns:
        DTM - softwareInstallDate

    - #### getSoftwareProductInformation

          public TX getSoftwareProductInformation()

      Retrieves the Software Product Information.
      Returns:
        TX - softwareProductInformation

    - #### getSoftwareProductName

          public ST getSoftwareProductName()

      Retrieves the Software Product Name.
      Returns:
        ST - softwareProductName

    - #### getSoftwareVendorOrganization

          public XON getSoftwareVendorOrganization()

      Retrieves the Software Vendor Organization.
      Returns:
        XON - softwareVendorOrganization

    - #### setSoftwareVendorOrganization

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

      Set the Software Vendor Organization.
      Parameters:
        `strOrganizationName` - Specifies name of the specified organization.
        `objOrganizationNameTypeCode` - 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.

    - #### setSoftwareVendorOrganization

          public void setSoftwareVendorOrganization(XON objsoftwareVendorOrganization)

      Set the Software Vendor Organization.
      Parameters:
        `objsoftwareVendorOrganization` -

    - #### setSoftwareCertifiedVersionOrReleaseNO

          public void setSoftwareCertifiedVersionOrReleaseNO(java.lang.String strSoftwareCertifiedVersionOrReleaseNO)

      Set the Software Certified Version Or Release NO. This field specify the latest software version number of the sending system that has been compliance tested and accepted.
      Parameters:
        `strSoftwareCertifiedVersionOrReleaseNO` - Use as SoftwareCertifiedVersionOrReleaseNO.

    - #### setSoftwareCertifiedVersionOrReleaseNO

          public void setSoftwareCertifiedVersionOrReleaseNO(ST objsoftwareCertifiedVersionOrReleaseN)

      Set the Software Certified Version Or Release NO. This field specify the latest software version number of the sending system that has been compliance tested and accepted.
      Parameters:
        `objsoftwareCertifiedVersionOrReleaseN` - Use as SoftwareCertifiedVersionOrReleaseNO.

    - #### setSoftwareProductName

          public void setSoftwareProductName(java.lang.String strSoftwareProductName)

      Set the Software Product Name.
      Parameters:
        `strSoftwareProductName` - Use as SoftwareProductName.

    - #### setSoftwareProductName

          public void setSoftwareProductName(ST objsoftwareProductName)

      Set the Software Product Name.
      Parameters:
        `objsoftwareProductName` - Use as SoftwareProductName.

    - #### setSoftwareBinaryId

          public void setSoftwareBinaryId(java.lang.String strSoftwareBinaryId)

      Set the Software Binary Id. Thish field specify the unique software version instance to distinguish between like versions of the same software.
      Parameters:
        `strSoftwareBinaryId` - Use as SoftwareBinaryId.

    - #### setSoftwareBinaryId

          public void setSoftwareBinaryId(ST objsoftwareBinaryId)

      Set the Software Binary Id. Thish field specify the unique software version instance to distinguish between like versions of the same software.
      Parameters:
        `objsoftwareBinaryId` - Use as SoftwareBinaryId.

    - #### setSoftwareProductInformation

          public void setSoftwareProductInformation(java.lang.String strSoftwareProductInformation)

      Set the Software Product Information.
      Parameters:
        `strSoftwareProductInformation` - Use as SoftwareProductInformation

    - #### setSoftwareProductInformation

          public void setSoftwareProductInformation(TX objsoftwareProductInformation)

      Set the Software Product Information.
      Parameters:
        `objsoftwareProductInformation` - Use as SoftwareProductInformation

    - #### setSoftwareInstallDate

          public void setSoftwareInstallDate(java.lang.String strTime)

      Set the Software Install Date.
      Parameters:
        `strTime` - Use as Time

    - #### setSoftwareInstallDate

          public void setSoftwareInstallDate(DTM objsoftwareInstallDate)

      Set the Software Install Date.
      Parameters:
        `objsoftwareInstallDate` -

    - #### 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` - Throws when Segment Validation fails.