public class GrouperVersion_v3414 extends AbstractGrouper_2 implements HomeHealthGrouperIF
clinicalModel_1, clinicalModel_2, clinicalModel_3, clinicalModel_4, dataManager, effectiveDateStart, effectiveDateStartWindow, effectiveDateThru, nrsScoringModel, version
DEFAULT_BLANK_VALUE
Constructor and Description |
---|
GrouperVersion_v3414()
Constructor that sets the effective start and thru date to January 1,
|
GrouperVersion_v3414(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 |
addEventListener(HomeHealthEventListenerIF listener)
This method adds a HomeHealthEventListenerIF to the list of listeners.
|
void |
copyCodes(HomeHealthRecordIF recordSrc,
HomeHealthRecordIF recordDest)
This copies codes from one record to another without any cloning.
|
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.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.Iterator<HomeHealthEventListenerIF> |
getEventListeners()
this method returns an enumerated list of HomeHealthEventListenerIF
objects
|
java.util.List<HomeHealthEventListenerIF> |
getEventListenersList()
gets the underlying list of listeners; a little more dangerous than
using the getEventListeners() that returns the Iterator
|
int |
getListenerCount()
gets the number listeners
|
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
|
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
|
void |
notifyEventListeners(HomeHealthEventIF event)
Sends a event to the listeners.
|
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.
|
void |
removeEventListener(HomeHealthEventListenerIF listener)
Removes a single event listener from the list
|
void |
removeEventListeners()
Removes all the listeners from the list
|
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)
Scores the record using the supplied validation information (if non-null)
instead of using the built in validation capabilities.
|
determineScoreOrder
getClinicalModel_1, getClinicalModel_2, getClinicalModel_3, getClinicalModel_4, getDescription, getEffectiveDateStart, getEffectiveDateStartWindow, getEffectiveDateThru, getGrouperDataManager, getNrsScoringModel, getVersion, isValidForVersion, setClinicalModel_1, setClinicalModel_2, setClinicalModel_3, setClinicalModel_4, setDescription, setEffectiveDateStart, setEffectiveDateStartWindow, setEffectiveDateThru, setGrouperDataManager, setName, setNrsScoringModel, setVersion
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
determineScoreOrder, getEffectiveDateStart, getEffectiveDateStartWindow, getEffectiveDateThru, getVersion, isValidForVersion, setEffectiveDateStart, setEffectiveDateStartWindow, setEffectiveDateThru, setVersion
getDescription, setDescription
public GrouperVersion_v3414()
public GrouperVersion_v3414(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)
copyCodes
in class AbstractGrouper
recordDest
- public java.util.List<DiagnosticGroupIF> getDiagnosticGroups()
getDiagnosticGroups
in interface HomeHealthGrouperIF
getDiagnosticGroups
in class AbstractGrouper
public java.util.List<DiagnosticGroupIF> getDiagnosticGroupsNRS()
getDiagnosticGroupsNRS
in interface HomeHealthGrouperIF
getDiagnosticGroupsNRS
in class AbstractGrouper
public java.util.List<CaseMixAdjustmentItemIF> getCaseMixAdjustments()
getCaseMixAdjustments
in interface HomeHealthGrouperIF
getCaseMixAdjustments
in class AbstractGrouper
public HomeHealthRecordValidatorIF getClinicalValidator()
getClinicalValidator
in interface HomeHealthGrouperIF
public java.lang.Class getAcceptableRecordClass()
AbstractGrouper
getAcceptableRecordClass
in interface HomeHealthGrouperIF
getAcceptableRecordClass
in class AbstractGrouper
public java.util.List<DiagnosisCodeIF> getClinicalCodes()
getClinicalCodes
in interface HomeHealthGrouperIF
getClinicalCodes
in class AbstractGrouper
public java.lang.String getName()
getName
in interface Namable
getName
in class AbstractGrouper
public java.util.List<CaseMixAdjustmentItemIF> getNRSCaseMixAdjustments()
getNRSCaseMixAdjustments
in interface HomeHealthGrouperIF
getNRSCaseMixAdjustments
in class AbstractGrouper
public HomeHealthRecordValidatorIF getNRSValidator()
getNRSValidator
in interface HomeHealthGrouperIF
public java.util.List<DiagnosisCodeIF> getNonRoutineCodes()
getNonRoutineCodes
in interface HomeHealthGrouperIF
getNonRoutineCodes
in class AbstractGrouper
public void init(java.util.Properties props) throws java.lang.Exception
init
in interface Initializable
props
- java.lang.Exception
public boolean isValidDiagnosisCode(HomeHealthRecordIF record, DiagnosisCodeIF code)
HomeHealthGrouperIF
isValidDiagnosisCode
in interface HomeHealthGrouperIF
isValidDiagnosisCode
in class AbstractGrouper
public HomeHealthRecordValidatorIF populateValidateClinicalCodes(HomeHealthRecordIF record)
populateValidateClinicalCodes
in interface HomeHealthGrouperIF
record
- public ScoringResultsIF score(HomeHealthRecordIF record, boolean validateDates, CollectionValidationEditsIF validationEdits, java.util.Collection<HomeHealthEventListenerIF> listeners)
HomeHealthGrouperIF
score
in interface HomeHealthGrouperIF
score
in class AbstractGrouper_2
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 ScoringResultsIF score(HomeHealthRecordIF recordOasisC, boolean validateDates)
score
in interface HomeHealthGrouperIF
score
in class AbstractGrouper_2
recordOasisC
- validateDates
- public void addEventListener(HomeHealthEventListenerIF listener)
HomeHealthEventNotifierIF
addEventListener
in interface HomeHealthEventNotifierIF
public java.util.Iterator<HomeHealthEventListenerIF> getEventListeners()
HomeHealthEventNotifierIF
getEventListeners
in interface HomeHealthEventNotifierIF
public java.util.List<HomeHealthEventListenerIF> getEventListenersList()
HomeHealthEventNotifierIF
getEventListenersList
in interface HomeHealthEventNotifierIF
public void notifyEventListeners(HomeHealthEventIF event)
HomeHealthEventNotifierIF
notifyEventListeners
in interface HomeHealthEventNotifierIF
public void removeEventListener(HomeHealthEventListenerIF listener)
HomeHealthEventNotifierIF
removeEventListener
in interface HomeHealthEventNotifierIF
public void removeEventListeners()
HomeHealthEventNotifierIF
removeEventListeners
in interface HomeHealthEventNotifierIF
public int getListenerCount()
HomeHealthEventNotifierIF
getListenerCount
in interface HomeHealthEventNotifierIF