public class ClinicalFunctional_ScoringModel_v3414 extends Abstract_ScoringModel_EventFiring implements HomeHealthScoringModel_2_IF
Modifier and Type | Field and Description |
---|---|
protected HomeHealthGrouperIF |
grouper |
protected GrouperDataManager |
grouperDataManager |
Constructor and Description |
---|
ClinicalFunctional_ScoringModel_v3414(HomeHealthGrouperIF grouper,
GrouperDataManager grouperDataManager,
int equationId)
Constructor with references to the Grouper, the Data manager, and the
equation id
|
ClinicalFunctional_ScoringModel_v3414(HomeHealthGrouperIF grouper,
GrouperDataManager grouperDataManager,
int equationId,
java.lang.String shortName) |
Modifier and Type | Method and Description |
---|---|
protected int |
calculatePrimaryAdjustment(DiagnosisScoringGridIF scoringGrid,
int primaryAdjustmentRow,
int otherAdjustmentRow)
This calculates the primary code score, and if the Other Dx has already
been scored, then reduce the primary code by the Other Dx value.
|
int[][] |
determineScoreOrder(HomeHealthRecordValidatorIF validator,
HomeHealthRecordIF record)
Returns a non-null double array of int[6][3].
|
int |
getCaseMixAdjustmentEquation(int caseMixId,
int equationId)
This gets the Case Mix Adjustment table value, by essentially getting the
caseMixId (i.e.
|
protected DiagnosisCodeIF |
getDiagnosisCode(java.lang.String codeValue) |
HomeHealthGrouperIF |
getGrouper()
gets a reference to the Grouper which created this model
|
java.lang.String |
getName()
The run-time name
|
java.lang.String |
getShortName()
The scoring model must provide this name.
|
void |
populateCodes(HomeHealthRecordIF record)
This populates the record with all Diagnosis codes that are valid for
this grouper version that are listed on the record.
|
void |
preprocessRecord(HomeHealthRecordIF record,
HomeHealthRecordValidatorIF validator)
There is no preprocessing of the HomeHealth Record for this model, and
this does nothing.
|
void |
resolveEtiologyManifestationContention(DiagnosisCodeIF etiologyCode,
int etiologyIdx,
DiagnosisCodeIF manifestionCode,
int manifestIdx,
DiagnosisScoringGridIF scoringGrid)
Given two codes that are part of a Manifestation/Etiology pair, determine
which code has the highest score and remove the value for the code with
the lowest score.
|
ScoringPointsIF |
score(HomeHealthRecordIF record,
HomeHealthRecordValidatorIF validator)
This is the main scoring module, which scores the clinical information
first and then the functional information.
|
ScoringPointsIF |
score(HomeHealthRecordIF record,
HomeHealthRecordValidatorIF validator,
int[][] scoreOrder)
This is the main scoring module, which scores the clinical information
first and then the functional information.
|
void |
scoreAny(HomeHealthRecordIF record,
DiagnosisCodeIF diagCode,
HomeHealthRecordValidatorIF validator,
int diagIdx,
DiagnosisScoringGridIF scoringGrid)
This section covers scoring of Diagnostic groups and Case Mix Adjustment
Rows that do not depend on Primary or Other specific values for the code
May 2013: updated to use OASIS-C values
|
int |
scoreClinical(HomeHealthRecordIF record,
HomeHealthRecordValidatorIF validator,
int[][] scoreOrder)
September 2012 - Overriding this method in order to added check for
V-Code pairings prior to scoring related codes.
|
void |
scoreClinicalCode(HomeHealthRecordIF record,
DiagnosisCodeIF diagCode,
HomeHealthRecordValidatorIF validator,
int diagIdx,
DiagnosisScoringGridIF scoringGrid)
This overrides in order to check for primary awarding for Dx in position
2, with the appropriate V-Code in position 1
|
void |
scoreClinicalColumn3_4(HomeHealthRecordIF record,
HomeHealthRecordValidatorIF validator,
int rowIdx,
DiagnosisScoringGridIF scoringGrid,
int[][] scoreOrder,
int currentPass)
After the first column (historically column 2) has determined that it is
an Optional V-code that can have a column 3 & 4, this method will score
those codes on the same row, and resolve any manifestation/ etiology
contentions.
|
int |
scoreFunctional(HomeHealthRecordIF record,
HomeHealthRecordValidatorIF validator)
Score the functional part of the model, basically things such as CUR_?
and dressing.
|
void |
scoreOtherOnly(HomeHealthRecordIF record,
DiagnosisCodeIF diagCode,
int diagIdx,
DiagnosisScoringGridIF scoringGrid)
Scores only those codes that can not be in the primary position
|
void |
scorePrimaryOnly(HomeHealthRecordIF record,
DiagnosisCodeIF diagCode,
int diagIdx,
DiagnosisScoringGridIF scoringGrid)
Scores the Primary only code with Primary only CaseMix values.
|
int |
scoreRemainingVariables(HomeHealthRecordIF record,
HomeHealthRecordValidatorIF validator,
int currentScore)
This scores the remaining clinical variables.
|
void |
setGrouper(HomeHealthGrouperIF grouper)
Sets the Grouper which created this model at run time.
|
void |
setName(java.lang.String name)
Sets the run-time name associated with the object
|
fireDxGroupAlreadyScored, fireScoringEvent, fireScoringGeneral, fireScoringIncreaseCodeEvent, fireScoringIncreaseEvent, fireScoringSectionFinished, fireScoringSectionStart, fireScoringWarning, fireValidCodeWarning
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
fireValidCodeWarning
protected GrouperDataManager grouperDataManager
protected HomeHealthGrouperIF grouper
public ClinicalFunctional_ScoringModel_v3414(HomeHealthGrouperIF grouper, GrouperDataManager grouperDataManager, int equationId)
grouper
- grouperDataManager
- equationId
- public ClinicalFunctional_ScoringModel_v3414(HomeHealthGrouperIF grouper, GrouperDataManager grouperDataManager, int equationId, java.lang.String shortName)
protected int calculatePrimaryAdjustment(DiagnosisScoringGridIF scoringGrid, int primaryAdjustmentRow, int otherAdjustmentRow)
scoringGrid
- primaryAdjustmentRow
- otherAdjustmentRow
- public int[][] determineScoreOrder(HomeHealthRecordValidatorIF validator, HomeHealthRecordIF record)
determineScoreOrder
in interface HomeHealthScoringModel_2_IF
record
- public int getCaseMixAdjustmentEquation(int caseMixId, int equationId)
caseMixId
- equationId
- protected DiagnosisCodeIF getDiagnosisCode(java.lang.String codeValue)
codeValue
- public HomeHealthGrouperIF getGrouper()
HomeHealthScoringModelIF
getGrouper
in interface HomeHealthScoringModelIF
public java.lang.String getName()
Namable
public java.lang.String getShortName()
Abstract_ScoringModel_EventFiring
getShortName
in class Abstract_ScoringModel_EventFiring
public void populateCodes(HomeHealthRecordIF record)
populateCodes
in interface HomeHealthScoringModelIF
record
- public void preprocessRecord(HomeHealthRecordIF record, HomeHealthRecordValidatorIF validator)
preprocessRecord
in interface HomeHealthScoringModelIF
record
- validator
- public void resolveEtiologyManifestationContention(DiagnosisCodeIF etiologyCode, int etiologyIdx, DiagnosisCodeIF manifestionCode, int manifestIdx, DiagnosisScoringGridIF scoringGrid)
etiologyCode
- etiologyIdx
- manifestionCode
- manifestIdx
- scoringGrid
- public ScoringPointsIF score(HomeHealthRecordIF record, HomeHealthRecordValidatorIF validator, int[][] scoreOrder)
score
in interface HomeHealthScoringModel_2_IF
record
- validator
- scoreOrder
- - array of int[6][3] determining the scoring order
of a diagnosis code in the related position.#scoreClinical(HomeHealthRecordIF record,
HomeHealthRecordValidatorIF validator)
,
scoreFunctional(HomeHealthRecordIF record,
HomeHealthRecordValidatorIF validator)
public ScoringPointsIF score(HomeHealthRecordIF record, HomeHealthRecordValidatorIF validator)
score
in interface HomeHealthScoringModelIF
record
- validator
- #scoreClinical(HomeHealthRecordIF record,
HomeHealthRecordValidatorIF validator)
,
scoreFunctional(HomeHealthRecordIF record,
HomeHealthRecordValidatorIF validator)
public void scoreAny(HomeHealthRecordIF record, DiagnosisCodeIF diagCode, HomeHealthRecordValidatorIF validator, int diagIdx, DiagnosisScoringGridIF scoringGrid) throws AlreadyScoredException
record
- diagCode
- diagIdx
- scoringGrid
- AlreadyScoredException
public int scoreClinical(HomeHealthRecordIF record, HomeHealthRecordValidatorIF validator, int[][] scoreOrder)
record
- validator
- ClinicalFunctional_ScoringModel_v3312#scoreClinial(HomeHealthRecordIF
record, HomeHealthRecordValidatorIF validator, int scoreOrder[][])
public void scoreClinicalCode(HomeHealthRecordIF record, DiagnosisCodeIF diagCode, HomeHealthRecordValidatorIF validator, int diagIdx, DiagnosisScoringGridIF scoringGrid)
record
- diagCode
- validator
- diagIdx
- scoringGrid
- public void scoreClinicalColumn3_4(HomeHealthRecordIF record, HomeHealthRecordValidatorIF validator, int rowIdx, DiagnosisScoringGridIF scoringGrid, int[][] scoreOrder, int currentPass)
record
- validator
- rowIdx
- scoringGrid
- scoreOrder
- currentPass
- public int scoreFunctional(HomeHealthRecordIF record, HomeHealthRecordValidatorIF validator)
record
- validator
- public void scoreOtherOnly(HomeHealthRecordIF record, DiagnosisCodeIF diagCode, int diagIdx, DiagnosisScoringGridIF scoringGrid) throws AlreadyScoredException
record
- diagCode
- diagIdx
- scoringGrid
- AlreadyScoredException
public void scorePrimaryOnly(HomeHealthRecordIF record, DiagnosisCodeIF diagCode, int diagIdx, DiagnosisScoringGridIF scoringGrid) throws AlreadyScoredException
record
- diagCode
- diagIdx
- scoringGrid
- AlreadyScoredException
public int scoreRemainingVariables(HomeHealthRecordIF record, HomeHealthRecordValidatorIF validator, int currentScore)
record
- validator
- public void setGrouper(HomeHealthGrouperIF grouper)
HomeHealthScoringModelIF
setGrouper
in interface HomeHealthScoringModelIF