public class GrouperVersion_v3210 extends HomeHealthEventNotifier implements HomeHealthGrouperIF
Modifier and Type | Field and Description |
---|---|
protected HomeHealthScoringModelIF |
clinicalModel_1
The Clinical Scoring module, equation 1
|
protected HomeHealthScoringModelIF |
clinicalModel_2
The Clinical Scoring module, equation 2
|
protected HomeHealthScoringModelIF |
clinicalModel_3
The Clinical Scoring module, equation 3
|
protected HomeHealthScoringModelIF |
clinicalModel_4
The Clinical Scoring module, equation 4
|
protected HomeHealthScoringModelIF |
nrsScoringModel
The NRS Scoring module
|
protected java.lang.String |
version
The version name - this can only be set during the constructor
|
DEFAULT_BLANK_VALUE
Constructor and Description |
---|
GrouperVersion_v3210()
Constructor that sets the effective start and thru date to January 1,
|
GrouperVersion_v3210(java.util.Calendar start,
java.util.Calendar thru,
java.util.Calendar window,
java.lang.String versionName)
Constructor that sets the effective start, thru, and window date to the
supplied dates.
|
Modifier and Type | Method and Description |
---|---|
void |
copyCodes(HomeHealthRecordIF recordSrc,
HomeHealthRecordIF recordDest)
This copies codes from one record to another without any cloning.
|
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.
|
HomeHealthScoringModelIF |
getClinicalModel_1() |
HomeHealthScoringModelIF |
getClinicalModel_2() |
HomeHealthScoringModelIF |
getClinicalModel_3() |
HomeHealthScoringModelIF |
getClinicalModel_4() |
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
Clinical/Functional diagnosis
|
java.util.List<DiagnosticGroupIF> |
getDiagnosticGroupsNRS()
gets the list of diagnostic Groups associated with the Non-Routine
Supplies (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
|
GrouperDataManager |
getGrouperDataManager() |
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
|
HomeHealthScoringModelIF |
getNrsScoringModel() |
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 recordOasisC,
boolean validateDates)
When scoring a recordOasisC, the data can either come from a OASIS-B or
an OASIS-C source.
|
ScoringResultsIF |
score(HomeHealthRecordIF record,
boolean validateDates,
CollectionValidationEditsIF validationEdits,
java.util.Collection<HomeHealthEventListenerIF> listeners)
Calls score() without the validations edits or listeners
|
void |
setClinicalModel_1(ClinicalFunctional_ScoringModel_v3210 clinicalModel_1) |
void |
setClinicalModel_2(ClinicalFunctional_ScoringModel_v3210 clinicalModel_2) |
void |
setClinicalModel_3(ClinicalFunctional_ScoringModel_v3210 clinicalModel_3) |
void |
setClinicalModel_4(ClinicalFunctional_ScoringModel_v3210 clinicalModel_4) |
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 |
setGrouperDataManager(GrouperDataManager grouperDataManager) |
void |
setName(java.lang.String name)
Emtpy method - you can reset the name
|
void |
setNrsScoringModel(NRS_ScoringModel_v3210 nrsScoringModel) |
void |
setVersion(java.lang.String version)
The version name can not be reset This method does nothing.
|
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 HomeHealthScoringModelIF nrsScoringModel
protected HomeHealthScoringModelIF clinicalModel_1
protected HomeHealthScoringModelIF clinicalModel_2
protected HomeHealthScoringModelIF clinicalModel_3
protected HomeHealthScoringModelIF clinicalModel_4
protected java.lang.String version
public GrouperVersion_v3210()
public GrouperVersion_v3210(java.util.Calendar start, java.util.Calendar thru, java.util.Calendar window, java.lang.String versionName)
start
- - the effective start datethru
- - the effective thru date, inclusivewindow
- - the start of the overlap window. May be nullversionName
- - 5 character string. Can not be null.public void copyCodes(HomeHealthRecordIF recordSrc, HomeHealthRecordIF recordDest)
recordDest
- 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()
getDiagnosticGroupsNRS
in interface HomeHealthGrouperIF
public java.lang.String getDescription()
getDescription
in interface Describable
public java.util.List<CaseMixAdjustmentItemIF> getCaseMixAdjustments()
getCaseMixAdjustments
in interface HomeHealthGrouperIF
public HomeHealthScoringModelIF getClinicalModel_1()
public HomeHealthScoringModelIF getClinicalModel_2()
public HomeHealthScoringModelIF getClinicalModel_3()
public HomeHealthScoringModelIF getClinicalModel_4()
public HomeHealthRecordValidatorIF getClinicalValidator()
getClinicalValidator
in interface HomeHealthGrouperIF
public java.util.List<DiagnosisCodeIF> getClinicalCodes()
getClinicalCodes
in interface HomeHealthGrouperIF
public java.util.Calendar getEffectiveDateStart()
getEffectiveDateStart
in interface HomeHealthGrouperIF
public java.util.Calendar getEffectiveDateThru()
getEffectiveDateThru
in interface HomeHealthGrouperIF
public GrouperDataManager getGrouperDataManager()
public java.lang.String getName()
public java.util.List<CaseMixAdjustmentItemIF> getNRSCaseMixAdjustments()
getNRSCaseMixAdjustments
in interface HomeHealthGrouperIF
public HomeHealthScoringModelIF getNrsScoringModel()
public HomeHealthRecordValidatorIF getNRSValidator()
getNRSValidator
in interface HomeHealthGrouperIF
public java.util.List<DiagnosisCodeIF> getNonRoutineCodes()
getNonRoutineCodes
in interface HomeHealthGrouperIF
public java.lang.String getVersion()
getVersion
in interface HomeHealthGrouperIF
public void init(java.util.Properties props) throws java.lang.Exception
init
in interface Initializable
props
- java.lang.Exception
public boolean isValidForVersion(HomeHealthRecordIF record)
isValidForVersion
in interface HomeHealthGrouperIF
record
- public boolean isValidDiagnosisCode(HomeHealthRecordIF record, DiagnosisCodeIF code)
HomeHealthGrouperIF
isValidDiagnosisCode
in interface HomeHealthGrouperIF
public HomeHealthRecordValidatorIF populateValidateClinicalCodes(HomeHealthRecordIF record)
populateValidateClinicalCodes
in interface HomeHealthGrouperIF
record
- public ScoringResultsIF score(HomeHealthRecordIF record, boolean validateDates, CollectionValidationEditsIF validationEdits, java.util.Collection<HomeHealthEventListenerIF> listeners)
score
in interface HomeHealthGrouperIF
record
- validateDates
- validationEdits
- listeners
- public ScoringResultsIF score(HomeHealthRecordIF recordOasisC, boolean validateDates)
score
in interface HomeHealthGrouperIF
recordOasisC
- validateDates
- public void setDescription(java.lang.String arg0)
setDescription
in interface Describable
arg0
- public void setClinicalModel_1(ClinicalFunctional_ScoringModel_v3210 clinicalModel_1)
public void setClinicalModel_2(ClinicalFunctional_ScoringModel_v3210 clinicalModel_2)
public void setClinicalModel_3(ClinicalFunctional_ScoringModel_v3210 clinicalModel_3)
public void setClinicalModel_4(ClinicalFunctional_ScoringModel_v3210 clinicalModel_4)
public void setGrouperDataManager(GrouperDataManager grouperDataManager)
public void setName(java.lang.String name)
public void setNrsScoringModel(NRS_ScoringModel_v3210 nrsScoringModel)
public void setVersion(java.lang.String version)
setVersion
in interface HomeHealthGrouperIF
version
- 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