agents

## Class Specialist

- java.lang.Object
- - agents.Agent
  - - agents.Physician
    - - agents.Specialist

-     public class Specialist
      extends Physician

  Version:
    1.0
  Author:
    Alan Mills

    This class implements the Specialist agent. The Specialist agent is a physician in the network who focuses on a specialized area of medicine. A Specialist recommends treatment for a Person, and submits claims to the Insurance Company. For this simulation, there is only one type of Specialist.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Specialist(AgentID pPhysicianID)` Constructs a Specialist agent.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `double` | `chart_GetCurrentIncome()` Returns the Physician's current income.
    `double` | `chart_GetCurrentIncomePerVisit()` Returns the Physician's current income per visit.
    `int` | `chart_GetNetworkStatus()` Returns the Physician's network status as an integer.
    `int` | `getNumberOfTreatmentsProvided()` Returns the number of treatments provided.
    `int` | `getNumberOfTreatmentsRequested()` Returns the number of treatments requested.
    `java.lang.String` | `getSpecialistGoal1()` Returns the Specialist's first goal as a string.
    `java.lang.String` | `getSpecialistGoal2()` Returns the Specialist's second goal as a string.
    `java.lang.String` | `getSpecialistGoal3()` Returns the Specialist's third goal as a string.
    `void` | `init_InitializeVariables_BOY()` Initializes variables at the start of each simulation period.
    `void` | `init_InitializeVariables_Constructor()` Initializes variables (used in the constructor)
    `void` | `p1_ProvideTreatmentRecommendation()` Provide care for a patient.
    `void` | `p2_SubmitClaim()`

    - ### Methods inherited from class agents.Physician

      `getCurrentIncome, getNetworkStatus, getPhysicianIDNumber, getPhysicianIDString, i1_GetNetworkMembershipDecision, setCurrentIncome, setNetworkStatus`

    - ### Methods inherited from class agents.Agent

      `getAgentFirstPriorityGoalDescription, getAgentID, getAgentSecondPriorityGoalDescription, getAgentXLocation, getAgentYLocation, setAgentFirstPriorityGoalDescription, setAgentID, setAgentSecondPriorityGoalDescription, setAgentXLocation, setAgentYLocation`

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

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

- - ### Constructor Detail

    - #### Specialist

          public Specialist(AgentID pPhysicianID)

      Constructs a Specialist agent. The constructor sets the Specialist's attributes, based on input parameters.
      Parameters:
        `pSpace` - The identifier for the "space" simulation environment.
        `pSpecialist_ID` - The Specialist's identifier.

  - ### Method Detail

    - #### init_InitializeVariables_Constructor

          public void init_InitializeVariables_Constructor()

      Initializes variables (used in the constructor)

    - #### init_InitializeVariables_BOY

          public void init_InitializeVariables_BOY()

      Initializes variables at the start of each simulation period.

    - #### p1_ProvideTreatmentRecommendation

          public void p1_ProvideTreatmentRecommendation()

      Description copied from class: `Physician`
      Provide care for a patient.
      Specified by:
        `p1_ProvideTreatmentRecommendation` in class `Physician`

    - #### p2_SubmitClaim

          public void p2_SubmitClaim()

    - #### getSpecialistGoal1

          public java.lang.String getSpecialistGoal1()

      Returns the Specialist's first goal as a string.
      Returns:
        A string with the Specialist's first goal.

    - #### getSpecialistGoal2

          public java.lang.String getSpecialistGoal2()

      Returns the Specialist's second goal as a string.
      Returns:
        A string with the Specialist's second goal

    - #### getSpecialistGoal3

          public java.lang.String getSpecialistGoal3()

      Returns the Specialist's third goal as a string.
      Returns:
        A string with the Specialist's third goal

    - #### getNumberOfTreatmentsRequested

          public int getNumberOfTreatmentsRequested()

      Returns the number of treatments requested.
      Returns:
        the number of treatments requested.

    - #### getNumberOfTreatmentsProvided

          public int getNumberOfTreatmentsProvided()

      Returns the number of treatments provided.
      Returns:
        the number of treatments provided.

    - #### chart_GetNetworkStatus

          public int chart_GetNetworkStatus()

      Returns the Physician's network status as an integer.
      Returns:
        int networkStatus.

    - #### chart_GetCurrentIncome

          public double chart_GetCurrentIncome()

      Returns the Physician's current income.
      Returns:
        double currentIncome.

    - #### chart_GetCurrentIncomePerVisit

          public double chart_GetCurrentIncomePerVisit()

      Returns the Physician's current income per visit.
      Returns:
        double currentIncome per visit.