com.mmm.cms.homehealth
Class DiagnosisScoringGrid

java.lang.Object
  extended by com.mmm.cms.homehealth.DiagnosisScoringGrid
All Implemented Interfaces:
DiagnosisScoringGridIF

public class DiagnosisScoringGrid
extends java.lang.Object
implements DiagnosisScoringGridIF

This holds the score and scoring rows for all the diagnosis positions within the record as a grid with 3 columns and 6 rows to make up the 18 position for possible diagnoses. Scoring rows returned from this may be null because it is a sparse array


Constructor Summary
DiagnosisScoringGrid()
           
 
Method Summary
 void addScore(Icd9DiagnosisCodeIF diagnosisCode, int diagnosisIdx, int caseMixAdjustmentRow, int score, boolean checkDiagnosticGroup)
          Add a score to the grid.
 void clearScore(int diagnosisIdx)
          removes all the current scores so that this object can be reused
 int getTotalScore()
          gets the total score by adding all the individual items
 int getTotalScoreForDiagnosis(int diagnosisIdx)
          gets the total score for a single diagnosis
 boolean isCaseMixAdjustmentRowScored(int caseMixAdjustmentRow)
          Determines if the Case Mix Adjustment row has already been scored
 boolean isDiagnosticGroupScored(int diagnosisIdx, int groupId)
          Returns true when the diagnostic group has already scored
 void setScore(Icd9DiagnosisCodeIF diagnosisCode, int diagnosisIdx, int caseMixAdjustmentRow, int score, boolean checkDiagnosticGroup)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DiagnosisScoringGrid

public DiagnosisScoringGrid()
Method Detail

addScore

public void addScore(Icd9DiagnosisCodeIF diagnosisCode,
                     int diagnosisIdx,
                     int caseMixAdjustmentRow,
                     int score,
                     boolean checkDiagnosticGroup)
              throws AlreadyScoredException
Description copied from interface: DiagnosisScoringGridIF
Add a score to the grid. This performs a check on the caseMixAdjustmentRow to make sure the row has not already scored for the diagnostic group assocaited with the code.

Specified by:
addScore in interface DiagnosisScoringGridIF
checkDiagnosticGroup - - tells the scoring grid to check (true) duplicate entries for DiagnosticGroup, or not to check (false)
Throws:
AlreadyScoredException

setScore

public void setScore(Icd9DiagnosisCodeIF diagnosisCode,
                     int diagnosisIdx,
                     int caseMixAdjustmentRow,
                     int score,
                     boolean checkDiagnosticGroup)
              throws AlreadyScoredException
Specified by:
setScore in interface DiagnosisScoringGridIF
checkDiagnosticGroup - - tells the scoring grid to check (true) duplicate entries for DiagnosticGroup, or not to check (false)
Throws:
AlreadyScoredException

clearScore

public void clearScore(int diagnosisIdx)
Description copied from interface: DiagnosisScoringGridIF
removes all the current scores so that this object can be reused

Specified by:
clearScore in interface DiagnosisScoringGridIF

getTotalScore

public int getTotalScore()
gets the total score by adding all the individual items

Specified by:
getTotalScore in interface DiagnosisScoringGridIF
Returns:

getTotalScoreForDiagnosis

public int getTotalScoreForDiagnosis(int diagnosisIdx)
Description copied from interface: DiagnosisScoringGridIF
gets the total score for a single diagnosis

Specified by:
getTotalScoreForDiagnosis in interface DiagnosisScoringGridIF
Returns:

isDiagnosticGroupScored

public boolean isDiagnosticGroupScored(int diagnosisIdx,
                                       int groupId)
Description copied from interface: DiagnosisScoringGridIF
Returns true when the diagnostic group has already scored

Specified by:
isDiagnosticGroupScored in interface DiagnosisScoringGridIF
Returns:

isCaseMixAdjustmentRowScored

public boolean isCaseMixAdjustmentRowScored(int caseMixAdjustmentRow)
Determines if the Case Mix Adjustment row has already been scored

Specified by:
isCaseMixAdjustmentRowScored in interface DiagnosisScoringGridIF
Parameters:
caseMixAdjustmentRow -
Returns:
true if the row has been scored