public abstract class AbstractGrouper extends java.lang.Object implements Namable, Describable
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 DataManagerIF |
dataManager
Reference to the Data manager
|
protected java.util.Calendar |
effectiveDateStart
the effective start date for this version
|
protected java.util.Calendar |
effectiveDateStartWindow
the overlap window date for this version
|
protected java.util.Calendar |
effectiveDateThru
the effective through date for this version
|
protected HomeHealthScoringModelIF |
nrsScoringModel
The NRS Scoring module
|
protected java.lang.String |
version
The version name - this can only be set during the constructor
|
Constructor and Description |
---|
AbstractGrouper(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].
|
abstract 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() |
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() |
java.util.Calendar |
getEffectiveDateStartWindow() |
java.util.Calendar |
getEffectiveDateThru() |
DataManagerIF |
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() |
java.lang.String |
getVersion() |
boolean |
isValidDiagnosisCode(HomeHealthRecordIF record,
DiagnosisCodeIF code) |
boolean |
isValidForVersion(HomeHealthRecordIF record)
The record must be within the effect start and the effective thru dates,
and the assessment reason must be appropriate for the completed dates
|
void |
reportNonScoringDiagnosis(HomeHealthRecordIF recordOasisC,
DiagnosisScoringStatus_EN[] diagnosisStatus,
HomeHealthScoringModelIF scoringModel,
java.util.Collection<HomeHealthEventListenerIF> listeners)
Reports the status of a Diagnosis code to the listeners
|
void |
setClinicalModel_1(HomeHealthScoringModelIF clinicalModel_1) |
void |
setClinicalModel_2(HomeHealthScoringModelIF clinicalModel_2) |
void |
setClinicalModel_3(HomeHealthScoringModelIF clinicalModel_3) |
void |
setClinicalModel_4(HomeHealthScoringModelIF clinicalModel_4) |
void |
setDescription(java.lang.String desc)
This should only be done at construction time
|
void |
setEffectiveDateStart(java.util.Calendar effectiveDateStart) |
void |
setEffectiveDateStartWindow(java.util.Calendar effectiveDateStartWindow) |
void |
setEffectiveDateThru(java.util.Calendar effectiveDateThru) |
void |
setGrouperDataManager(GrouperDataManager grouperDataManager) |
void |
setName(java.lang.String name)
This should only be done at construction time
|
void |
setNrsScoringModel(HomeHealthScoringModelIF nrsScoringModel) |
void |
setVersion(java.lang.String versionName)
This should only be done at construction time
|
protected java.util.Calendar effectiveDateStart
protected java.util.Calendar effectiveDateStartWindow
protected java.util.Calendar effectiveDateThru
protected DataManagerIF dataManager
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 AbstractGrouper(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)
record
- public abstract java.lang.Class getAcceptableRecordClass()
public java.util.List<CaseMixAdjustmentItemIF> getCaseMixAdjustments()
public java.util.List<DiagnosisCodeIF> getClinicalCodes()
public HomeHealthScoringModelIF getClinicalModel_1()
public HomeHealthScoringModelIF getClinicalModel_2()
public HomeHealthScoringModelIF getClinicalModel_3()
public HomeHealthScoringModelIF getClinicalModel_4()
public java.util.List<CaseMixAdjustmentItemIF> getNRSCaseMixAdjustments()
public java.lang.String getDescription()
getDescription
in interface Describable
public java.util.List<DiagnosticGroupIF> getDiagnosticGroups()
public java.util.List<DiagnosticGroupIF> getDiagnosticGroupsNRS()
public java.util.Calendar getEffectiveDateStart()
public java.util.Calendar getEffectiveDateStartWindow()
public java.util.Calendar getEffectiveDateThru()
public DataManagerIF getGrouperDataManager()
public HomeHealthScoringModelIF getNrsScoringModel()
public java.util.List<DiagnosisCodeIF> getNonRoutineCodes()
public java.lang.String getVersion()
public boolean isValidForVersion(HomeHealthRecordIF record)
record
- public boolean isValidDiagnosisCode(HomeHealthRecordIF record, DiagnosisCodeIF code)
public void setGrouperDataManager(GrouperDataManager grouperDataManager)
public void setNrsScoringModel(HomeHealthScoringModelIF nrsScoringModel)
public void setClinicalModel_1(HomeHealthScoringModelIF clinicalModel_1)
public void setClinicalModel_2(HomeHealthScoringModelIF clinicalModel_2)
public void setClinicalModel_3(HomeHealthScoringModelIF clinicalModel_3)
public void setClinicalModel_4(HomeHealthScoringModelIF clinicalModel_4)
public final void setDescription(java.lang.String desc)
setDescription
in interface Describable
public java.lang.String getName()
public final void setName(java.lang.String name)
public final void setVersion(java.lang.String versionName)
public void setEffectiveDateStart(java.util.Calendar effectiveDateStart)
public void setEffectiveDateStartWindow(java.util.Calendar effectiveDateStartWindow)
public void setEffectiveDateThru(java.util.Calendar effectiveDateThru)
public void reportNonScoringDiagnosis(HomeHealthRecordIF recordOasisC, DiagnosisScoringStatus_EN[] diagnosisStatus, HomeHealthScoringModelIF scoringModel, java.util.Collection<HomeHealthEventListenerIF> listeners)
recordOasisC
- diagnosisStatus
- scoringModel
- listeners
-