public class ClinicalFunctional_ScoringModel_v3414 extends java.lang.Object implements HomeHealthScoringModelIF
Modifier and Type | Field and Description |
---|---|
protected HomeHealthGrouperIF |
grouper |
protected DataManagerIF |
grouperDataManager |
Constructor and Description |
---|
ClinicalFunctional_ScoringModel_v3414(HomeHealthGrouperIF grouper,
DataManagerIF grouperDataManager,
int equationId)
Constructor with references to the Grouper, the Data manager, and the
equation id
|
ClinicalFunctional_ScoringModel_v3414(HomeHealthGrouperIF grouper,
DataManagerIF 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 |
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
|
int |
getId()
the id of the object
|
java.lang.String |
getName()
The run-time name
|
java.lang.String |
getShortName() |
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 |
preprocessRecord(HomeHealthRecordIF record,
HomeHealthRecordValidatorIF validator,
java.util.Collection<HomeHealthEventListenerIF> listeners)
Used to perform any pre-scoring, such as any changes to the data due
to multi-code relationships.
|
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.
|
ScoringPointsIF |
score(HomeHealthRecordIF record,
HomeHealthRecordValidatorIF validator,
int[][] scoreOrder,
java.util.Collection<HomeHealthEventListenerIF> listeners)
This calls score() without the listeners
|
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 |
setId(int id)
Sets the id for the object at run time
|
void |
setName(java.lang.String name)
Sets the run-time name associated with the object
|
protected DataManagerIF grouperDataManager
protected HomeHealthGrouperIF grouper
public ClinicalFunctional_ScoringModel_v3414(HomeHealthGrouperIF grouper, DataManagerIF grouperDataManager, int equationId)
grouper
- grouperDataManager
- id
- public ClinicalFunctional_ScoringModel_v3414(HomeHealthGrouperIF grouper, DataManagerIF grouperDataManager, int equationId, java.lang.String shortName)
protected int calculatePrimaryAdjustment(DiagnosisScoringGridIF scoringGrid, int primaryAdjustmentRow, int otherAdjustmentRow)
scoringGrid
- primaryAdjustmentRow
- otherAdjustmentRow
- public int getCaseMixAdjustmentEquation(int caseMixId, int equationId)
caseMixId
- id
- 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()
public void populateCodes(HomeHealthRecordIF record)
populateCodes
in interface HomeHealthScoringModelIF
record
- public void preprocessRecord(HomeHealthRecordIF record, HomeHealthRecordValidatorIF validator)
preprocessRecord
in interface HomeHealthScoringModelIF
record
- validator
- HomeHealthScoringModelIF.preprocessRecord(HomeHealthRecordIF record, HomeHealthRecordValidatorIF validator, Collection listeners)
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 HomeHealthScoringModelIF
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 ScoringPointsIF score(HomeHealthRecordIF record, HomeHealthRecordValidatorIF validator, int[][] scoreOrder, java.util.Collection<HomeHealthEventListenerIF> listeners)
score
in interface HomeHealthScoringModelIF
record
- validator
- scoreOrder
- listeners
- - always assumed to be nullpublic 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
public void setName(java.lang.String name)
Namable
public void preprocessRecord(HomeHealthRecordIF record, HomeHealthRecordValidatorIF validator, java.util.Collection<HomeHealthEventListenerIF> listeners)
HomeHealthScoringModelIF
preprocessRecord
in interface HomeHealthScoringModelIF
listeners
- - can be null, otherwise list of listeners for notified of eventspublic int getId()
Identifiable
getId
in interface Identifiable
public void setId(int id)
Identifiable
setId
in interface Identifiable