public class GrouperVersion_v2308_1 extends HomeHealthEventNotifier implements HomeHealthGrouperIF
Modifier and Type | Field and Description |
---|---|
protected ClinicalFunctional_ScoringModel_v2308 |
clinicalModel_1
The Clinical Scoring module, equation 1
|
protected ClinicalFunctional_ScoringModel_v2308 |
clinicalModel_2
The Clinical Scoring module, equation 2
|
protected ClinicalFunctional_ScoringModel_v2308 |
clinicalModel_3
The Clinical Scoring module, equation 3
|
protected ClinicalFunctional_ScoringModel_v2308 |
clinicalModel_4
The Clinical Scoring module, equation 4
|
protected NRS_ScoringModel_v2308 |
nrsScoringModel
The NRS Scoring module
|
protected java.lang.String |
version |
DEFAULT_BLANK_VALUE
Constructor and Description |
---|
GrouperVersion_v2308_1()
Constructor that sets the effective start and thru date to January 1,
|
GrouperVersion_v2308_1(java.util.Calendar start,
java.util.Calendar thru,
java.util.Calendar window)
Constructor that sets the effective start, thru, and window date to the
supplied dates.
|
Modifier and Type | Method and Description |
---|---|
int[][] |
determineScoreOrder(HomeHealthRecordIF record)
Returns a non-null double array of int[6][3].
|
java.lang.Class |
getAcceptableRecordClass()
Each version has an acceptable record type that can be processed, and this
returns that class allowing the isValidForVersion() to more appropriately
check the validity of processing a specific record.
|
java.util.List<CaseMixAdjustmentItemIF> |
getCaseMixAdjustments()
gets the Standard services case mix adjustment table
|
java.util.List<DiagnosisCodeIF> |
getClinicalCodes()
Provides the list of Clinical/Functional codes associated with this
version and used for scoring.
|
HomeHealthRecordValidatorIF |
getClinicalValidator()
Provides the validator for the Clinical portion of the scoring
|
java.lang.String |
getDescription()
gets the description for this version
|
java.util.List<DiagnosticGroupIF> |
getDiagnosticGroups()
gets the list of diagnostic Groups associated with the standard services
diagnosis
|
java.util.List<DiagnosticGroupIF> |
getDiagnosticGroupsNRS()
gets the list of diagnostic Groups associated with the
Non-routine services (NRS) diagnosis
|
java.util.Calendar |
getEffectiveDateStart()
gets the effective start date
|
java.util.Calendar |
getEffectiveDateStartWindow()
Gets the effect start date window, which may be the same as the effective
start date.
|
java.util.Calendar |
getEffectiveDateThru()
gets the effective through date
|
java.lang.String |
getName()
Get the name of this version
|
java.util.List<DiagnosisCodeIF> |
getNonRoutineCodes()
gets a list of Diagnosis Codes for Non-routine Services
|
java.util.List<CaseMixAdjustmentItemIF> |
getNRSCaseMixAdjustments()
gets the Non-Routine services case mix adjustment table
|
HomeHealthRecordValidatorIF |
getNRSValidator()
Provides the validator for the Non-Routine Supplies portion of the
scoring
|
java.lang.String |
getVersion()
gets the version identifier
|
void |
init(java.util.Properties props)
Sets up this version by loading the related Diagnosis code / Group data,
and initializing the scoring models: 4 clinical/functional models (one
for each equation), and one Non-Routine Supplies model
|
boolean |
isValidDiagnosisCode(HomeHealthRecordIF record,
DiagnosisCodeIF code)
Determines if the Diagnosis code is valid for this grouper
|
boolean |
isValidForVersion(HomeHealthRecordIF record)
Validate the record.
|
HomeHealthRecordValidatorIF |
populateValidateClinicalCodes(HomeHealthRecordIF record)
This method is not very efficient for scoring a record, since it
populates the codes into the record each time, prior to validating them.
|
ScoringResultsIF |
score(HomeHealthRecordIF record,
boolean validateDates)
This is the main scoring module for the Oasis record.
|
ScoringResultsIF |
score(HomeHealthRecordIF record,
boolean validateDates,
CollectionValidationEditsIF validationEdits,
java.util.Collection<HomeHealthEventListenerIF> listeners)
Scores the record using the supplied validation information (if non-null)
instead of using the built in validation capabilities.
|
void |
setDescription(java.lang.String arg0)
Empty method - you can not reset the description
|
void |
setEffectiveDateStart(java.util.Calendar effectiveDateStart)
sets the effective start date
|
void |
setEffectiveDateStartWindow(java.util.Calendar effectiveDateStartWindow)
Sets the effective start date window.
|
void |
setEffectiveDateThru(java.util.Calendar effectiveDateThru)
sets the effective thru date
|
void |
setName(java.lang.String name)
Empty method - you can reset the name
|
void |
setVersion(java.lang.String version)
Sets the version string - traditionally this should be exactly 5
characters long and never null
|
addEventListener, getEventListeners, getEventListenersList, getListenerCount, notifyEventListeners, removeEventListener, removeEventListeners
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addEventListener, getEventListeners, getEventListenersList, getListenerCount, notifyEventListeners, removeEventListener, removeEventListeners
protected NRS_ScoringModel_v2308 nrsScoringModel
protected ClinicalFunctional_ScoringModel_v2308 clinicalModel_1
protected ClinicalFunctional_ScoringModel_v2308 clinicalModel_2
protected ClinicalFunctional_ScoringModel_v2308 clinicalModel_3
protected ClinicalFunctional_ScoringModel_v2308 clinicalModel_4
protected java.lang.String version
public GrouperVersion_v2308_1()
public GrouperVersion_v2308_1(java.util.Calendar start, java.util.Calendar thru, java.util.Calendar window)
start
- thru
- window
- public int[][] determineScoreOrder(HomeHealthRecordIF record)
determineScoreOrder
in interface HomeHealthGrouperIF
record
- public java.util.List<DiagnosticGroupIF> getDiagnosticGroups()
getDiagnosticGroups
in interface HomeHealthGrouperIF
public java.util.List<DiagnosticGroupIF> getDiagnosticGroupsNRS()
HomeHealthGrouperIF
getDiagnosticGroupsNRS
in interface HomeHealthGrouperIF
public java.lang.String getName()
public void setName(java.lang.String name)
public java.lang.String getVersion()
getVersion
in interface HomeHealthGrouperIF
public java.util.Calendar getEffectiveDateStart()
getEffectiveDateStart
in interface HomeHealthGrouperIF
public java.util.Calendar getEffectiveDateThru()
getEffectiveDateThru
in interface HomeHealthGrouperIF
public boolean isValidForVersion(HomeHealthRecordIF record)
isValidForVersion
in interface HomeHealthGrouperIF
record
- public java.lang.String getDescription()
getDescription
in interface Describable
public void setDescription(java.lang.String arg0)
setDescription
in interface Describable
arg0
- public void init(java.util.Properties props) throws java.lang.Exception
init
in interface Initializable
props
- java.lang.Exception
public ScoringResultsIF score(HomeHealthRecordIF record, boolean validateDates)
score
in interface HomeHealthGrouperIF
validateDates
- - if true then is calls isValidForVersion() prior to
scoring. If isValidForVersion() is called, and returns false, the record
will not be scored.public java.util.List<CaseMixAdjustmentItemIF> getCaseMixAdjustments()
getCaseMixAdjustments
in interface HomeHealthGrouperIF
public java.util.List<DiagnosisCodeIF> getClinicalCodes()
getClinicalCodes
in interface HomeHealthGrouperIF
public HomeHealthRecordValidatorIF getClinicalValidator()
getClinicalValidator
in interface HomeHealthGrouperIF
public java.util.List<DiagnosisCodeIF> getNonRoutineCodes()
getNonRoutineCodes
in interface HomeHealthGrouperIF
public java.util.List<CaseMixAdjustmentItemIF> getNRSCaseMixAdjustments()
getNRSCaseMixAdjustments
in interface HomeHealthGrouperIF
public HomeHealthRecordValidatorIF getNRSValidator()
getNRSValidator
in interface HomeHealthGrouperIF
public boolean isValidDiagnosisCode(HomeHealthRecordIF record, DiagnosisCodeIF code)
HomeHealthGrouperIF
isValidDiagnosisCode
in interface HomeHealthGrouperIF
public HomeHealthRecordValidatorIF populateValidateClinicalCodes(HomeHealthRecordIF record)
populateValidateClinicalCodes
in interface HomeHealthGrouperIF
record
- public void setVersion(java.lang.String version)
setVersion
in interface HomeHealthGrouperIF
version
- public ScoringResultsIF score(HomeHealthRecordIF record, boolean validateDates, CollectionValidationEditsIF validationEdits, java.util.Collection<HomeHealthEventListenerIF> listeners)
HomeHealthGrouperIF
score
in interface HomeHealthGrouperIF
validationEdits
- - if non-null, then this information is used
during scoring as the validation information, otherwise, if null, the
built in validation is performed.public void setEffectiveDateStart(java.util.Calendar effectiveDateStart)
HomeHealthGrouperIF
setEffectiveDateStart
in interface HomeHealthGrouperIF
effectiveDateStart
- - non null Calendarpublic void setEffectiveDateThru(java.util.Calendar effectiveDateThru)
HomeHealthGrouperIF
setEffectiveDateThru
in interface HomeHealthGrouperIF
effectiveDateThru
- - non null Calendarpublic java.lang.Class getAcceptableRecordClass()
HomeHealthGrouperIF
getAcceptableRecordClass
in interface HomeHealthGrouperIF
public void setEffectiveDateStartWindow(java.util.Calendar effectiveDateStartWindow)
HomeHealthGrouperIF
setEffectiveDateStartWindow
in interface HomeHealthGrouperIF
effectiveDateStartWindow
- - non-null Calendarpublic java.util.Calendar getEffectiveDateStartWindow()
HomeHealthGrouperIF
getEffectiveDateStartWindow
in interface HomeHealthGrouperIF