com.mmm.cms.homehealth.v3210
Class AbstractBaseValidator_v3210

java.lang.Object
  extended by com.mmm.cms.util.ValidateUtils
      extended by com.mmm.cms.homehealth.v3210.AbstractBaseValidator_v3210
All Implemented Interfaces:
HomeHealthEventNotifierIF, HomeHealthRecordValidatorIF
Direct Known Subclasses:
HomeHealthRecordClinicalValidator_v3210

public abstract class AbstractBaseValidator_v3210
extends ValidateUtils
implements HomeHealthRecordValidatorIF, HomeHealthEventNotifierIF

This validator provides the common validation for the Home Health Record that are performed for both the Clinical and the Non-Routine Supplies models for the Grouper version 2.03


Field Summary
static java.lang.String[] ASSESSMENT_1_3_ONLY
           
static java.lang.String[] ASSESSMENT_4_5_ONLY
           
static java.lang.String[] ASSESSMENT_REASON_VALUES
           
protected  boolean ASSMT_REASON_INVLD
          Indicates if ASSMT_REASON is invalid
static java.lang.String blank4
           
protected  boolean BWLINCONT_INVLD
          Indicates if BWLINCONT is invalid
protected  boolean CUR_AMBULATION_INVLD
          Indicates if CUR_AMBULATION is invalid
protected  boolean CUR_BATHING_INVLD
          Indicates if CUR_BATHING is invalid
protected  boolean CUR_DRESS_INVLD
          Indicates if CUR_DRESS is invalid
protected  boolean CUR_INJECT_MEDS_INVLD
          Indicates if CUR_INJECT_MEDS is invalid
protected  boolean CUR_TOILETING_INVLD
          Indicates if CUR_TOILETING is invalid
protected  boolean CUR_TRANSFER_INVLD
          Indicates if CUR_TRANSFER is invalid
protected  DataValidityFlagIF dataValidityFlag
          the overall data validity information
protected  int[] diagnosisScoringStatus
           
protected  boolean DYSPNEIC_INVLD
          Indicates if DYSPNEIC is invalid
protected  HomeHealthGrouperIF grouper
          Reference to the Grouper
protected  boolean INFO_COMPLETED_DT_INVLD
          Indicates if INFO_COMPLETED_DT is invalid
protected  boolean INTERNAL_LOGIC_INVLD
          Indicates if INTERNAL_LOGIC is invalid
protected  boolean LESION_INVLD
          Indicates if LESION is invalid
protected  java.util.List<HomeHealthEventListenerIF> listeners
          List of listeners to report events to
protected  boolean NBR_STASULC_INVLD
          Indicates if NBR_STASULC is invalid
protected  boolean NPRSULC1_INVLD
          Indicates if NPRSULC1 is invalid
protected  boolean NPRSULC2_INVLD
          Indicates if NPRSULC2 is invalid
protected  boolean NPRSULC3_INVLD
          Indicates if NPRSULC3 is invalid
protected  boolean NPRSULC4_INVLD
          Indicates if NPRSULC4 is invalid
protected  boolean OSTOMY_INVLD
          Indicates if OSTOMY is invalid
protected  boolean PAIN_INVLD
          Indicates if PAIN is invalid
protected  boolean STATSTASIS_INVLD
          Indicates if STATSTASIS is invalid
protected  boolean STATSURG_INVLD
          Indicates if STATSURG is invalid
protected  boolean STGPRSUL_INVLD
          Indicates if STGPRSUL is invalid
protected  boolean THER_NEED_INVLD
          Indicates if THER_NEED is invalid
protected  boolean THERAPIES_INVLD
          Indicates if THERAPIES is invalid
protected  boolean UNOBS_PRSULC_INVLD
          Indicates if UNOBS_PRSULC is invalid
protected  boolean UNOBS_STASULC_INVLD
          Indicates if UNOBS_STASULC is invalid
protected  boolean UR_INCONT_INVLD
          Indicates if UR_INCONT is invalid
protected  boolean VISION_INVLD
          Indicates if VISION is invalid
 
Fields inherited from class com.mmm.cms.util.ValidateUtils
blank1, blank2, blanks1, blanks2, doubleFourFive, doubleOneThree, doubleOneTwo, doubleOneTwoThree, doubleOneTwoThreeFour, doubleOneTwoThreeFourFive, doubleOneTwoThreeFourFiveSix, doubleThreeFour, doubleThreeFourFive, doubleTwoThree, doubleTwoThreeFour, doubleTwoThreeFourFive, doubleZeroOne, doubleZeroOneTwo, doubleZeroOneTwoThree, doubleZeroOneTwoThreeFour, doubleZeroOneTwoThreeFourFive, doubleZeroOneTwoThreeFourFiveSix, notApplicable, notApplicables, unknown, unknowns, zeroOne, zeroOneTwo, zeroOneTwoThree
 
Constructor Summary
AbstractBaseValidator_v3210(HomeHealthGrouperIF grouper)
           
 
Method Summary
 void addEventListener(HomeHealthEventListenerIF listener)
          Adds an event listener
protected  void fireClinicalIssueEvent(java.lang.String fieldName, java.lang.String value)
          Converts the data to a event and sends the event to any listeners
protected  void fireFunctionalIssueEvent(java.lang.String fieldName, java.lang.String value)
          Converts the data to a event and sends the event to any listeners
protected  void fireIssueEvent(java.lang.String message)
          Converts the data to a event and sends the event to any listeners
protected  void fireManifestationIssueEvent(java.lang.String fieldName, java.lang.String value)
          Converts the data to a event and sends the event to any listeners
protected  void fireServiceIssueEvent(java.lang.String fieldName, java.lang.String value)
          Converts the data to a event and sends the event to any listeners
 DataValidityFlagIF getDataValidityFlag()
          gets the DataValidityFlag information
 int[] getDiagnosisScoringStatus()
          Get the value of diagnosisScoringStatus
 java.util.Iterator<HomeHealthEventListenerIF> getEventListeners()
          Provides an interator to walk through the list of listeners
 int getListenerCount()
          Gets the number of listeners in the list
 boolean isASSMT_REASON_INVLD()
          Gets the ASSMT_REASON_INVLD value
 boolean isBWLINCONT_INVLD()
          gets the BWLINCONT_INVLD
 boolean isClinicalDomainDataIssueFlag()
          gets the ClinicalDomainDataIssueFlag
 boolean isCUR_AMBULATION_INVLD()
          gets the CUR_AMBULATION_INVLD
 boolean isCUR_BATHING_INVLD()
          gets the CUR_BATHING_INVLD
 boolean isCUR_DRESS_INVLD()
          gets the CUR_DRESS_INVLD
 boolean isCUR_INJECT_MEDS_INVLD()
          gets the CUR_INJECT_MEDS_INVLD
 boolean isCUR_TOILETING_INVLD()
          gets the CUR_TOILETING_INVLD
 boolean isCUR_TRANSFER_INVLD()
          gets the CUR_TRANSFER_INVLD
 boolean isDYSPNEIC_INVLD()
          gets the DYSPNEIC_INVLD
 boolean isFunctionalDomainDataIssueFlag()
          gets the FunctionalDomainDataIssueFlag
 boolean isINFO_COMPLETED_DT_INVLD()
          gets the INFO_COMPLETED_DT_INVLD
 boolean isINTERNAL_LOGIC_INVLD()
          gets the INTERNAL_LOGIC_INVLD
 boolean isLESION_INVLD()
          gets the LESION_INVLD
 boolean isManifestationSequenceIssueFlag()
          gets the ManifestationSequenceIssueFlag
 boolean isNBR_STASULC_INVLD()
          gets the NBR_STASULC_INVLD
 boolean isNPRSULC1_INVLD()
          gets the NPRSULC1_INVLD
 boolean isNPRSULC2_INVLD()
          gets the NPRSULC2_INVLD
 boolean isNPRSULC3_INVLD()
          gets the NPRSULC3_INVLD
 boolean isNPRSULC4_INVLD()
          gets the NPRSULC4_INVLD
 boolean isOSTOMY_INVLD()
          gets the OSTOMY_INVLD
 boolean isPAIN_INVLD()
          gets the PAIN_INVLD
 boolean isServiceDomainDataIssueFlag()
          gets the ServiceDomainDataIssueFlag
 boolean isSTATSTASIS_INVLD()
          gets the STATSTASIS_INVLD
 boolean isSTATSURG_INVLD()
          gets the STATSURG_INVLD
 boolean isSTGPRSUL_INVLD()
          gets the STGPRSUL_INVLD
 boolean isTHER_NEED_INVLD()
          gets the THER_NEED_INVLD
 boolean isTHERAPIES_INVLD()
          gets the THERAPIES_INVLD
 boolean isUNOBS_PRSULC_INVLD()
          gets the UNOBS_PRSULC_INVLD
 boolean isUNOBS_STASULC_INVLD()
          gets the UNOBS_STASULC_INVLD
 boolean isUR_INCONT_INVLD()
          gets the UR_INCONT_INVLD
 boolean isValidPrincipalDiagnosisCode(HomeHealthRecordIF record)
           
 boolean isVISION_INVLD()
          gets the VISION_INVLD
 void notifyEventListeners(HomeHealthEventIF event)
          Actually performs the noitifcation to the listeners
 void removeEventListener(HomeHealthEventListenerIF listener)
          Removes a specific event listener
 void removeEventListeners()
          Removes/clears the list of event listeners
 void setASSMT_REASON_INVLD(boolean ASSMT_REASON_INVLD)
           
 void setBWLINCONT_INVLD(boolean BWLINCONT_INVLD)
           
 void setCUR_AMBULATION_INVLD(boolean CUR_AMBULATION_INVLD)
           
 void setCUR_BATHING_INVLD(boolean CUR_BATHING_INVLD)
           
 void setCUR_DRESS_INVLD(boolean CUR_DRESS_INVLD)
           
 void setCUR_INJECT_MEDS_INVLD(boolean CUR_INJECT_MEDS_INVLD)
           
 void setCUR_TOILETING_INVLD(boolean CUR_TOILETING_INVLD)
           
 void setCUR_TRANSFER_INVLD(boolean CUR_TRANSFER_INVLD)
           
 void setDataValidityFlag(DataValidityFlagIF dataValidityFlag)
          sets the data validity flag object - should not be null
 void setDiagnosisScoringStatus(int[] diagnosisScoringStatus)
          Set the value of diagnosisScoringStatus
 void setDYSPNEIC_INVLD(boolean DYSPNEIC_INVLD)
           
 void setINFO_COMPLETED_DT_INVLD(boolean INFO_COMPLETED_DT_INVLD)
           
 void setINTERNAL_LOGIC_INVLD(boolean INTERNAL_LOGIC_INVLD)
           
 void setLESION_INVLD(boolean LESION_INVLD)
           
 void setNBR_STASULC_INVLD(boolean NBR_STASULC_INVLD)
           
 void setNPRSULC1_INVLD(boolean NPRSULC1_INVLD)
           
 void setNPRSULC2_INVLD(boolean NPRSULC2_INVLD)
           
 void setNPRSULC3_INVLD(boolean NPRSULC3_INVLD)
           
 void setNPRSULC4_INVLD(boolean NPRSULC4_INVLD)
           
 void setOSTOMY_INVLD(boolean OSTOMY_INVLD)
           
 void setPAIN_INVLD(boolean PAIN_INVLD)
           
 void setSTATSTASIS_INVLD(boolean STATSTASIS_INVLD)
           
 void setSTATSURG_INVLD(boolean STATSURG_INVLD)
           
 void setSTGPRSUL_INVLD(boolean STGPRSUL_INVLD)
           
 void setTHER_NEED_INVLD(boolean THER_INVLD)
           
 void setTHERAPIES_INVLD(boolean THERAPIES_INVLD)
           
 void setUNOBS_PRSULC_INVLD(boolean UNOBS_PRSULC_INVLD)
           
 void setUNOBS_STASULC_INVLD(boolean UNOBS_STASULC_INVLD)
           
 void setUR_INCONT_INVLD(boolean UR_INCONT_INVLD)
           
 void setVISION_INVLD(boolean VISION_INVLD)
           
 boolean validate(HomeHealthRecordIF record)
          Entry to higher level validate for the Oasis record.
 boolean validateASSMT_REASON(HomeHealthRecordIF record)
          Psuedo code lines: no coesponding line
 boolean validateBWL_INCONT_OSTOMY(HomeHealthRecordIF record)
          M1630_OSTOMY Ostomy for Bowel Elimination Only checked for Assessment Reason 01, 03, 04, 05
 boolean validateBWL_INCONT(HomeHealthRecordIF record)
          M1620_BWL_INCONT Bowel Incontinence Frequency Only checked for Assessment Reason 04, 05
 boolean validateCUR_AMBULATION(HomeHealthRecordIF record)
          M1860_CRNT_AMBLTN Current: Ambulation Only checked for Assessment Reason 01, 03, 04, 05
 boolean validateCUR_BATHING(HomeHealthRecordIF record)
          M1830_CRNT_BATHG Current: Bathing Only checked for Assessment Reason 01, 03, 04, 05
 boolean validateCUR_DRESS(HomeHealthRecordIF record)
          M1810_CUR_DRESS_UPPER Current: Dress Upper Body and M1820_CUR_DRESS_LOWER Current: Dress Lower Body Only checked for Assessment Reason 01, 03, 04, 05
 boolean validateCUR_INJECT_MEDS(HomeHealthRecordIF record)
          M2030_CRNT_MGMT_INJCTN_MDCTN Current: Management Of Injectable Medications Only checked for Assessment Reason 01, 03, 04, and 05 - because the related field Drug Regimen Review is only valid during 01 and 03, the validation is split
 boolean validateCUR_TOILETING(HomeHealthRecordIF record)
          M1840_CUR_TOILTG Current: Toileting Only checked for Assessment Reason 01, 03, 04, 05
 boolean validateCUR_TRANSFERRING(HomeHealthRecordIF record)
          M1850_CUR_TRNSFRNG Current: Transferring Only checked for Assessment Reason 01, 03, 04, 05
abstract  boolean validateDiagnosisCodes(HomeHealthRecordIF record)
          Ensure a valid set of codes, and determines which codes to use in scoring.
 boolean validateDiagnosisUnique(HomeHealthRecordIF record)
          From OASIS-C spec: *1.
 boolean validateExistingCodes(HomeHealthRecordIF record)
          Ensures that all non-blank codes are valid ICD-9-Codes within the record.
 boolean validateFREQ_PAIN(HomeHealthRecordIF record)
          Oasis-C M1242_PAIN_FREQ_ACTVTY_MVMT Frequent pain during activity or movement Only checked for Assessment Reason 01, 03, 04, 05
 boolean validateLESION_OPEN_WND(HomeHealthRecordIF record)
          Deprecated. - OASIS-C no longer use this variable for validation of Ulcers
 boolean validateNBR_STASULC(HomeHealthRecordIF record)
          Oasis-C M1332_NUM_STAS_ULCER No.
 boolean validateNPRSULC(HomeHealthRecordIF record)
          Logic updated Aug 31, 2009 M1322_NBR_PRSULC_STG1 No.
 boolean validateOtherDiagnosisSeries(HomeHealthRecordIF record)
          From OASIS-C spec: *2.
 boolean validatePAYMENT_ECodes(HomeHealthRecordIF record)
          This checks for E-codes in the optional columns Psuedo code lines: 563 thru 565, and 679
 boolean validatePRIMARY_DIAG_ICD(HomeHealthRecordIF record)
          If the super.validatePRIMARY_DIAG_ICD() is false, then check for the primary being blank.
 boolean validateSTATSTASIS(HomeHealthRecordIF record)
          Oasis-C M1334_STUS_PRBLM_STAS_ULCER Status Of Most Problematic Stasis Ulcer Only checked for Assessment Reason 01, 03, 04, 05
 boolean validateSTATSURG(HomeHealthRecordIF record)
          M1342_STUS_PRBLM_SRGCL_WND Status Of Most Problematic Surgical Wound Only checked for Assessment Reason 01, 03, 04, 05
 boolean validateSTGPRSUL(HomeHealthRecordIF record)
          Oasis-C M1324_STG_PRBLM_ULCER Stage of Most Problematic Pressure Ulcer Only checked for Assessment Reason 01, 03, 04, 05
 boolean validateTHER_NEED(HomeHealthRecordIF record)
          M2200_THER_NEED_NUM Therapy Need: Number of Visits M2200_THER_NEED_NA Therapy Need: Not Applicable Only checked for Assessment Reason 01, 03, 04, 05
 boolean validateTHH(HomeHealthRecordIF record)
          Oasis-C 1030_THH values.
 boolean validateUNOBS_STASULC(HomeHealthRecordIF record)
          Oasis-C M1330_STAS_ULCR_PRSNT Does This Patient Have A Stasis Ulcer Only checked for Assessment Reason 01, 03, 04, 05
 boolean validateUR_INCONT(HomeHealthRecordIF record)
          M1610_UR_INCONT Urinary Incontinence or Urinary Catheter Only checked for Assessment Reason 01, 03, 04, 05
 boolean validateVISION(HomeHealthRecordIF record)
          Oasis-C M1200_VISION Vision Only checked for Assessment Reason 01, 03, 04, 05
 boolean validateWHEN_DYSPNEIC(HomeHealthRecordIF record)
          M1400_WHEN_DYSPNEIC When Dyspneic Only checked for Assessment Reason 01, 03, 04, 05
 
Methods inherited from class com.mmm.cms.util.ValidateUtils
isValidValue, isValidValue, isValidValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ASSESSMENT_REASON_VALUES

public static final java.lang.String[] ASSESSMENT_REASON_VALUES

ASSESSMENT_1_3_ONLY

public static final java.lang.String[] ASSESSMENT_1_3_ONLY

ASSESSMENT_4_5_ONLY

public static final java.lang.String[] ASSESSMENT_4_5_ONLY

blank4

public static final java.lang.String blank4
See Also:
Constant Field Values

ASSMT_REASON_INVLD

protected boolean ASSMT_REASON_INVLD
Indicates if ASSMT_REASON is invalid


INFO_COMPLETED_DT_INVLD

protected boolean INFO_COMPLETED_DT_INVLD
Indicates if INFO_COMPLETED_DT is invalid


THERAPIES_INVLD

protected boolean THERAPIES_INVLD
Indicates if THERAPIES is invalid


INTERNAL_LOGIC_INVLD

protected boolean INTERNAL_LOGIC_INVLD
Indicates if INTERNAL_LOGIC is invalid


VISION_INVLD

protected boolean VISION_INVLD
Indicates if VISION is invalid


PAIN_INVLD

protected boolean PAIN_INVLD
Indicates if PAIN is invalid


LESION_INVLD

protected boolean LESION_INVLD
Indicates if LESION is invalid


NPRSULC1_INVLD

protected boolean NPRSULC1_INVLD
Indicates if NPRSULC1 is invalid


NPRSULC2_INVLD

protected boolean NPRSULC2_INVLD
Indicates if NPRSULC2 is invalid


NPRSULC3_INVLD

protected boolean NPRSULC3_INVLD
Indicates if NPRSULC3 is invalid


NPRSULC4_INVLD

protected boolean NPRSULC4_INVLD
Indicates if NPRSULC4 is invalid


UNOBS_PRSULC_INVLD

protected boolean UNOBS_PRSULC_INVLD
Indicates if UNOBS_PRSULC is invalid


STGPRSUL_INVLD

protected boolean STGPRSUL_INVLD
Indicates if STGPRSUL is invalid


NBR_STASULC_INVLD

protected boolean NBR_STASULC_INVLD
Indicates if NBR_STASULC is invalid


UNOBS_STASULC_INVLD

protected boolean UNOBS_STASULC_INVLD
Indicates if UNOBS_STASULC is invalid


STATSTASIS_INVLD

protected boolean STATSTASIS_INVLD
Indicates if STATSTASIS is invalid


STATSURG_INVLD

protected boolean STATSURG_INVLD
Indicates if STATSURG is invalid


DYSPNEIC_INVLD

protected boolean DYSPNEIC_INVLD
Indicates if DYSPNEIC is invalid


UR_INCONT_INVLD

protected boolean UR_INCONT_INVLD
Indicates if UR_INCONT is invalid


BWLINCONT_INVLD

protected boolean BWLINCONT_INVLD
Indicates if BWLINCONT is invalid


OSTOMY_INVLD

protected boolean OSTOMY_INVLD
Indicates if OSTOMY is invalid


CUR_DRESS_INVLD

protected boolean CUR_DRESS_INVLD
Indicates if CUR_DRESS is invalid


CUR_BATHING_INVLD

protected boolean CUR_BATHING_INVLD
Indicates if CUR_BATHING is invalid


CUR_TOILETING_INVLD

protected boolean CUR_TOILETING_INVLD
Indicates if CUR_TOILETING is invalid


CUR_TRANSFER_INVLD

protected boolean CUR_TRANSFER_INVLD
Indicates if CUR_TRANSFER is invalid


CUR_AMBULATION_INVLD

protected boolean CUR_AMBULATION_INVLD
Indicates if CUR_AMBULATION is invalid


CUR_INJECT_MEDS_INVLD

protected boolean CUR_INJECT_MEDS_INVLD
Indicates if CUR_INJECT_MEDS is invalid


THER_NEED_INVLD

protected boolean THER_NEED_INVLD
Indicates if THER_NEED is invalid


dataValidityFlag

protected DataValidityFlagIF dataValidityFlag
the overall data validity information


listeners

protected java.util.List<HomeHealthEventListenerIF> listeners
List of listeners to report events to


grouper

protected HomeHealthGrouperIF grouper
Reference to the Grouper


diagnosisScoringStatus

protected int[] diagnosisScoringStatus
Constructor Detail

AbstractBaseValidator_v3210

public AbstractBaseValidator_v3210(HomeHealthGrouperIF grouper)
Parameters:
grouper -
Method Detail

isASSMT_REASON_INVLD

public boolean isASSMT_REASON_INVLD()
Gets the ASSMT_REASON_INVLD value

Specified by:
isASSMT_REASON_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setASSMT_REASON_INVLD

public void setASSMT_REASON_INVLD(boolean ASSMT_REASON_INVLD)
Parameters:
ASSMT_REASON_INVLD -

getDataValidityFlag

public DataValidityFlagIF getDataValidityFlag()
gets the DataValidityFlag information

Specified by:
getDataValidityFlag in interface HomeHealthRecordValidatorIF
Returns:
the data validity flag object - this will never be null

setDataValidityFlag

public void setDataValidityFlag(DataValidityFlagIF dataValidityFlag)
sets the data validity flag object - should not be null

Specified by:
setDataValidityFlag in interface HomeHealthRecordValidatorIF
Parameters:
dataValidityFlag -

isClinicalDomainDataIssueFlag

public final boolean isClinicalDomainDataIssueFlag()
gets the ClinicalDomainDataIssueFlag

Specified by:
isClinicalDomainDataIssueFlag in interface HomeHealthRecordValidatorIF
Returns:

isFunctionalDomainDataIssueFlag

public final boolean isFunctionalDomainDataIssueFlag()
gets the FunctionalDomainDataIssueFlag

Specified by:
isFunctionalDomainDataIssueFlag in interface HomeHealthRecordValidatorIF
Returns:

isManifestationSequenceIssueFlag

public final boolean isManifestationSequenceIssueFlag()
gets the ManifestationSequenceIssueFlag

Specified by:
isManifestationSequenceIssueFlag in interface HomeHealthRecordValidatorIF
Returns:

isServiceDomainDataIssueFlag

public final boolean isServiceDomainDataIssueFlag()
gets the ServiceDomainDataIssueFlag

Specified by:
isServiceDomainDataIssueFlag in interface HomeHealthRecordValidatorIF
Returns:

isINFO_COMPLETED_DT_INVLD

public boolean isINFO_COMPLETED_DT_INVLD()
gets the INFO_COMPLETED_DT_INVLD

Specified by:
isINFO_COMPLETED_DT_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setINFO_COMPLETED_DT_INVLD

public void setINFO_COMPLETED_DT_INVLD(boolean INFO_COMPLETED_DT_INVLD)
Parameters:
INFO_COMPLETED_DT_INVLD -

isINTERNAL_LOGIC_INVLD

public boolean isINTERNAL_LOGIC_INVLD()
gets the INTERNAL_LOGIC_INVLD

Specified by:
isINTERNAL_LOGIC_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setINTERNAL_LOGIC_INVLD

public void setINTERNAL_LOGIC_INVLD(boolean INTERNAL_LOGIC_INVLD)
Parameters:
INTERNAL_LOGIC_INVLD -

isTHERAPIES_INVLD

public boolean isTHERAPIES_INVLD()
gets the THERAPIES_INVLD

Specified by:
isTHERAPIES_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setTHERAPIES_INVLD

public void setTHERAPIES_INVLD(boolean THERAPIES_INVLD)
Parameters:
THERAPIES_INVLD -

isVISION_INVLD

public boolean isVISION_INVLD()
gets the VISION_INVLD

Specified by:
isVISION_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setVISION_INVLD

public void setVISION_INVLD(boolean VISION_INVLD)
Parameters:
VISION_INVLD -

isPAIN_INVLD

public boolean isPAIN_INVLD()
gets the PAIN_INVLD

Specified by:
isPAIN_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setPAIN_INVLD

public void setPAIN_INVLD(boolean PAIN_INVLD)
Parameters:
PAIN_INVLD -

isLESION_INVLD

public boolean isLESION_INVLD()
gets the LESION_INVLD

Specified by:
isLESION_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setLESION_INVLD

public void setLESION_INVLD(boolean LESION_INVLD)
Parameters:
LESION_INVLD -

isNPRSULC1_INVLD

public boolean isNPRSULC1_INVLD()
gets the NPRSULC1_INVLD

Specified by:
isNPRSULC1_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setNPRSULC1_INVLD

public void setNPRSULC1_INVLD(boolean NPRSULC1_INVLD)
Parameters:
NPRSULC1_INVLD -

isNPRSULC2_INVLD

public boolean isNPRSULC2_INVLD()
gets the NPRSULC2_INVLD

Specified by:
isNPRSULC2_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setNPRSULC2_INVLD

public void setNPRSULC2_INVLD(boolean NPRSULC2_INVLD)
Parameters:
NPRSULC2_INVLD -

isNPRSULC3_INVLD

public boolean isNPRSULC3_INVLD()
gets the NPRSULC3_INVLD

Specified by:
isNPRSULC3_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setNPRSULC3_INVLD

public void setNPRSULC3_INVLD(boolean NPRSULC3_INVLD)
Parameters:
NPRSULC3_INVLD -

isNPRSULC4_INVLD

public boolean isNPRSULC4_INVLD()
gets the NPRSULC4_INVLD

Specified by:
isNPRSULC4_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setNPRSULC4_INVLD

public void setNPRSULC4_INVLD(boolean NPRSULC4_INVLD)
Parameters:
NPRSULC4_INVLD -

isUNOBS_PRSULC_INVLD

public boolean isUNOBS_PRSULC_INVLD()
gets the UNOBS_PRSULC_INVLD

Specified by:
isUNOBS_PRSULC_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setUNOBS_PRSULC_INVLD

public void setUNOBS_PRSULC_INVLD(boolean UNOBS_PRSULC_INVLD)
Parameters:
UNOBS_PRSULC_INVLD -

isSTGPRSUL_INVLD

public boolean isSTGPRSUL_INVLD()
gets the STGPRSUL_INVLD

Specified by:
isSTGPRSUL_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setSTGPRSUL_INVLD

public void setSTGPRSUL_INVLD(boolean STGPRSUL_INVLD)
Parameters:
STGPRSUL_INVLD -

isNBR_STASULC_INVLD

public boolean isNBR_STASULC_INVLD()
gets the NBR_STASULC_INVLD

Specified by:
isNBR_STASULC_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setNBR_STASULC_INVLD

public void setNBR_STASULC_INVLD(boolean NBR_STASULC_INVLD)
Parameters:
NBR_STASULC_INVLD -

isUNOBS_STASULC_INVLD

public boolean isUNOBS_STASULC_INVLD()
gets the UNOBS_STASULC_INVLD

Specified by:
isUNOBS_STASULC_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setUNOBS_STASULC_INVLD

public void setUNOBS_STASULC_INVLD(boolean UNOBS_STASULC_INVLD)
Parameters:
UNOBS_STASULC_INVLD -

isSTATSTASIS_INVLD

public boolean isSTATSTASIS_INVLD()
gets the STATSTASIS_INVLD

Specified by:
isSTATSTASIS_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setSTATSTASIS_INVLD

public void setSTATSTASIS_INVLD(boolean STATSTASIS_INVLD)
Parameters:
STATSTASIS_INVLD -

isSTATSURG_INVLD

public boolean isSTATSURG_INVLD()
gets the STATSURG_INVLD

Specified by:
isSTATSURG_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setSTATSURG_INVLD

public void setSTATSURG_INVLD(boolean STATSURG_INVLD)
Parameters:
STATSURG_INVLD -

isDYSPNEIC_INVLD

public boolean isDYSPNEIC_INVLD()
gets the DYSPNEIC_INVLD

Specified by:
isDYSPNEIC_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setDYSPNEIC_INVLD

public void setDYSPNEIC_INVLD(boolean DYSPNEIC_INVLD)
Parameters:
DYSPNEIC_INVLD -

isUR_INCONT_INVLD

public boolean isUR_INCONT_INVLD()
gets the UR_INCONT_INVLD

Specified by:
isUR_INCONT_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setUR_INCONT_INVLD

public void setUR_INCONT_INVLD(boolean UR_INCONT_INVLD)
Parameters:
UR_INCONT_INVLD -

isBWLINCONT_INVLD

public boolean isBWLINCONT_INVLD()
gets the BWLINCONT_INVLD

Specified by:
isBWLINCONT_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setBWLINCONT_INVLD

public void setBWLINCONT_INVLD(boolean BWLINCONT_INVLD)
Parameters:
BWLINCONT_INVLD -

isOSTOMY_INVLD

public boolean isOSTOMY_INVLD()
gets the OSTOMY_INVLD

Specified by:
isOSTOMY_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setOSTOMY_INVLD

public void setOSTOMY_INVLD(boolean OSTOMY_INVLD)
Parameters:
OSTOMY_INVLD -

isCUR_DRESS_INVLD

public boolean isCUR_DRESS_INVLD()
gets the CUR_DRESS_INVLD

Specified by:
isCUR_DRESS_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setCUR_DRESS_INVLD

public void setCUR_DRESS_INVLD(boolean CUR_DRESS_INVLD)
Parameters:
CUR_DRESS_INVLD -

isCUR_BATHING_INVLD

public boolean isCUR_BATHING_INVLD()
gets the CUR_BATHING_INVLD

Specified by:
isCUR_BATHING_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setCUR_BATHING_INVLD

public void setCUR_BATHING_INVLD(boolean CUR_BATHING_INVLD)
Parameters:
CUR_BATHING_INVLD -

isCUR_TOILETING_INVLD

public boolean isCUR_TOILETING_INVLD()
gets the CUR_TOILETING_INVLD

Specified by:
isCUR_TOILETING_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setCUR_TOILETING_INVLD

public void setCUR_TOILETING_INVLD(boolean CUR_TOILETING_INVLD)
Parameters:
CUR_TOILETING_INVLD -

isCUR_TRANSFER_INVLD

public boolean isCUR_TRANSFER_INVLD()
gets the CUR_TRANSFER_INVLD

Specified by:
isCUR_TRANSFER_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setCUR_TRANSFER_INVLD

public void setCUR_TRANSFER_INVLD(boolean CUR_TRANSFER_INVLD)
Parameters:
CUR_TRANSFER_INVLD -

isCUR_AMBULATION_INVLD

public boolean isCUR_AMBULATION_INVLD()
gets the CUR_AMBULATION_INVLD

Specified by:
isCUR_AMBULATION_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setCUR_AMBULATION_INVLD

public void setCUR_AMBULATION_INVLD(boolean CUR_AMBULATION_INVLD)
Parameters:
CUR_AMBULATION_INVLD -

isCUR_INJECT_MEDS_INVLD

public boolean isCUR_INJECT_MEDS_INVLD()
gets the CUR_INJECT_MEDS_INVLD

Specified by:
isCUR_INJECT_MEDS_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setCUR_INJECT_MEDS_INVLD

public void setCUR_INJECT_MEDS_INVLD(boolean CUR_INJECT_MEDS_INVLD)
Parameters:
CUR_INJECT_MEDS_INVLD -

isTHER_NEED_INVLD

public boolean isTHER_NEED_INVLD()
gets the THER_NEED_INVLD

Specified by:
isTHER_NEED_INVLD in interface HomeHealthRecordValidatorIF
Returns:

setTHER_NEED_INVLD

public void setTHER_NEED_INVLD(boolean THER_INVLD)
Parameters:
M0826_THER_INVLD -

validate

public boolean validate(HomeHealthRecordIF record)
Entry to higher level validate for the Oasis record. It calls all the clinical, functional and service domain validation. This method assumes that the diagnosis codes have been populate by the current grouper

Specified by:
validate in interface HomeHealthRecordValidatorIF
Parameters:
record -
Returns:

validateASSMT_REASON

public boolean validateASSMT_REASON(HomeHealthRecordIF record)
Psuedo code lines: no coesponding line

Parameters:
record -
Returns:

validateExistingCodes

public boolean validateExistingCodes(HomeHealthRecordIF record)
Ensures that all non-blank codes are valid ICD-9-Codes within the record. Note that if all the codes are blank, this method will return true, i.e. valid. This does not indicate which diagnosis invalid. Added as part of the increased specificity validation of the record pertaining to the ICD-9-Codes

Parameters:
record -
Returns:
true if all the codes are blank and/or valid ICD-9-Codes

validatePAYMENT_ECodes

public boolean validatePAYMENT_ECodes(HomeHealthRecordIF record)
This checks for E-codes in the optional columns Psuedo code lines: 563 thru 565, and 679

Parameters:
record -
Returns:

validateOtherDiagnosisSeries

public boolean validateOtherDiagnosisSeries(HomeHealthRecordIF record)
From OASIS-C spec: *2. If M1022_OTH_DIAG1_ICD is blank, then M1022_OTH_DIAG2_ICD must be blank. Similar validation above is repeated for diagnosis codes through OTH_DIAG5_ICD. Once a blank is encountered, the rest of the codes in this column, if any are marked as not valid for scoring

Parameters:
record -
Returns:

validateDiagnosisUnique

public boolean validateDiagnosisUnique(HomeHealthRecordIF record)
From OASIS-C spec: *1. If M1022_OTH_DIAG2_ICD is not blank, it cannot be equal to M1020_PRIMARY_DIAG_ICD, M1022_OTH_DIAG1_ICD, M1022_OTH_DIAG3_ICD, M1022_OTH_DIAG4_ICD, or M1022_OTH_DIAG5_ICD. Similar validation above is repeated for diagnosis codes through OTH_DIAG5_ICD. The codes are checked from top to bottom. If a code is a duplicated in subsequent positions, then the subsequent codes are marked as not valid for scoring. However, the first code will still be able to score.

Parameters:
record -
Returns:

validatePRIMARY_DIAG_ICD

public boolean validatePRIMARY_DIAG_ICD(HomeHealthRecordIF record)
If the super.validatePRIMARY_DIAG_ICD() is false, then check for the primary being blank. If the primary is blank, then set all the rest of the codes to not score.

Parameters:
record -
Returns:

validateTHH

public boolean validateTHH(HomeHealthRecordIF record)
Oasis-C 1030_THH values. Therapies Received at Home If the Therapies are invalid, it sets the Internal_Logic_Invld = true Therapies_Invld = true Only checked for Assessment Reason 01, 03, 04, 05 param record return true if there are no errors


validateVISION

public boolean validateVISION(HomeHealthRecordIF record)
Oasis-C M1200_VISION Vision Only checked for Assessment Reason 01, 03, 04, 05

Parameters:
record -
Returns:

validateFREQ_PAIN

public boolean validateFREQ_PAIN(HomeHealthRecordIF record)
Oasis-C M1242_PAIN_FREQ_ACTVTY_MVMT Frequent pain during activity or movement Only checked for Assessment Reason 01, 03, 04, 05

Parameters:
record -
Returns:

validateLESION_OPEN_WND

public boolean validateLESION_OPEN_WND(HomeHealthRecordIF record)
Deprecated. - OASIS-C no longer use this variable for validation of Ulcers

Oasis-C M1350_LESION_OPEN_WND Lesion Open Wound Only checked for Assessment Reason 01, 03, 04, 05

Parameters:
record -
Returns:

validateNPRSULC

public boolean validateNPRSULC(HomeHealthRecordIF record)
Logic updated Aug 31, 2009 M1322_NBR_PRSULC_STG1 No. Pressure Ulcers -Stage 1 M1308_NBR_PRSULC_STG2 No. Pressure Ulcers -Stage 2 M1308_NBR_PRSULC_STG3 No. Pressure Ulcers -Stage 3 M1308_NBR_PRSULC_STG4 No. Pressure Ulcers -Stage 4 Only checked for Assessment Reason 01, 03, 04, 05 - Some associated fields within this validation are only available during Assessment Reason 1 & 3

Parameters:
record -
Returns:

validateSTGPRSUL

public boolean validateSTGPRSUL(HomeHealthRecordIF record)
Oasis-C M1324_STG_PRBLM_ULCER Stage of Most Problematic Pressure Ulcer Only checked for Assessment Reason 01, 03, 04, 05

Parameters:
record -
Returns:

validateNBR_STASULC

public boolean validateNBR_STASULC(HomeHealthRecordIF record)
Oasis-C M1332_NUM_STAS_ULCER No. Stasis Ulcers Only checked for Assessment Reason 01, 03, 04, 05

Parameters:
record -
Returns:

validateUNOBS_STASULC

public boolean validateUNOBS_STASULC(HomeHealthRecordIF record)
Oasis-C M1330_STAS_ULCR_PRSNT Does This Patient Have A Stasis Ulcer Only checked for Assessment Reason 01, 03, 04, 05

Parameters:
record -
Returns:

validateSTATSTASIS

public boolean validateSTATSTASIS(HomeHealthRecordIF record)
Oasis-C M1334_STUS_PRBLM_STAS_ULCER Status Of Most Problematic Stasis Ulcer Only checked for Assessment Reason 01, 03, 04, 05

Parameters:
record -
Returns:

validateSTATSURG

public boolean validateSTATSURG(HomeHealthRecordIF record)
M1342_STUS_PRBLM_SRGCL_WND Status Of Most Problematic Surgical Wound Only checked for Assessment Reason 01, 03, 04, 05

Parameters:
record -
Returns:

validateWHEN_DYSPNEIC

public boolean validateWHEN_DYSPNEIC(HomeHealthRecordIF record)
M1400_WHEN_DYSPNEIC When Dyspneic Only checked for Assessment Reason 01, 03, 04, 05

Parameters:
record -
Returns:

validateUR_INCONT

public boolean validateUR_INCONT(HomeHealthRecordIF record)
M1610_UR_INCONT Urinary Incontinence or Urinary Catheter Only checked for Assessment Reason 01, 03, 04, 05

Parameters:
record -
Returns:

validateBWL_INCONT

public boolean validateBWL_INCONT(HomeHealthRecordIF record)
M1620_BWL_INCONT Bowel Incontinence Frequency Only checked for Assessment Reason 04, 05

Parameters:
record -
Returns:

validateBWL_INCONT_OSTOMY

public boolean validateBWL_INCONT_OSTOMY(HomeHealthRecordIF record)
M1630_OSTOMY Ostomy for Bowel Elimination Only checked for Assessment Reason 01, 03, 04, 05

Parameters:
record -
Returns:

validateCUR_INJECT_MEDS

public boolean validateCUR_INJECT_MEDS(HomeHealthRecordIF record)
M2030_CRNT_MGMT_INJCTN_MDCTN Current: Management Of Injectable Medications Only checked for Assessment Reason 01, 03, 04, and 05 - because the related field Drug Regimen Review is only valid during 01 and 03, the validation is split

Parameters:
record -
Returns:

validateCUR_DRESS

public boolean validateCUR_DRESS(HomeHealthRecordIF record)
M1810_CUR_DRESS_UPPER Current: Dress Upper Body and M1820_CUR_DRESS_LOWER Current: Dress Lower Body Only checked for Assessment Reason 01, 03, 04, 05

Parameters:
record -
Returns:

validateCUR_BATHING

public boolean validateCUR_BATHING(HomeHealthRecordIF record)
M1830_CRNT_BATHG Current: Bathing Only checked for Assessment Reason 01, 03, 04, 05

Parameters:
record -
Returns:

validateCUR_TOILETING

public boolean validateCUR_TOILETING(HomeHealthRecordIF record)
M1840_CUR_TOILTG Current: Toileting Only checked for Assessment Reason 01, 03, 04, 05

Parameters:
record -
Returns:

validateCUR_TRANSFERRING

public boolean validateCUR_TRANSFERRING(HomeHealthRecordIF record)
M1850_CUR_TRNSFRNG Current: Transferring Only checked for Assessment Reason 01, 03, 04, 05

Parameters:
record -
Returns:

validateCUR_AMBULATION

public boolean validateCUR_AMBULATION(HomeHealthRecordIF record)
M1860_CRNT_AMBLTN Current: Ambulation Only checked for Assessment Reason 01, 03, 04, 05

Parameters:
record -
Returns:

validateTHER_NEED

public boolean validateTHER_NEED(HomeHealthRecordIF record)
M2200_THER_NEED_NUM Therapy Need: Number of Visits M2200_THER_NEED_NA Therapy Need: Not Applicable Only checked for Assessment Reason 01, 03, 04, 05

Parameters:
record -
Returns:

isValidPrincipalDiagnosisCode

public boolean isValidPrincipalDiagnosisCode(HomeHealthRecordIF record)

validateDiagnosisCodes

public abstract boolean validateDiagnosisCodes(HomeHealthRecordIF record)
Ensure a valid set of codes, and determines which codes to use in scoring. This method is specific to the Model that is scoring.

Parameters:
record -
Returns:
true if the PDX is an allowable Principal code

fireClinicalIssueEvent

protected void fireClinicalIssueEvent(java.lang.String fieldName,
                                      java.lang.String value)
Converts the data to a event and sends the event to any listeners

Parameters:
fieldName -
value -

fireManifestationIssueEvent

protected void fireManifestationIssueEvent(java.lang.String fieldName,
                                           java.lang.String value)
Converts the data to a event and sends the event to any listeners

Parameters:
fieldName -
value -

fireFunctionalIssueEvent

protected void fireFunctionalIssueEvent(java.lang.String fieldName,
                                        java.lang.String value)
Converts the data to a event and sends the event to any listeners

Parameters:
fieldName -
value -

fireServiceIssueEvent

protected void fireServiceIssueEvent(java.lang.String fieldName,
                                     java.lang.String value)
Converts the data to a event and sends the event to any listeners

Parameters:
fieldName -
value -

fireIssueEvent

protected void fireIssueEvent(java.lang.String message)
Converts the data to a event and sends the event to any listeners

Parameters:
message -

addEventListener

public void addEventListener(HomeHealthEventListenerIF listener)
Adds an event listener

Specified by:
addEventListener in interface HomeHealthEventNotifierIF
Specified by:
addEventListener in interface HomeHealthRecordValidatorIF
Parameters:
listener -

getEventListeners

public java.util.Iterator<HomeHealthEventListenerIF> getEventListeners()
Provides an interator to walk through the list of listeners

Specified by:
getEventListeners in interface HomeHealthEventNotifierIF
Returns:

notifyEventListeners

public void notifyEventListeners(HomeHealthEventIF event)
Actually performs the noitifcation to the listeners

Specified by:
notifyEventListeners in interface HomeHealthEventNotifierIF
Parameters:
event -

removeEventListeners

public void removeEventListeners()
Removes/clears the list of event listeners

Specified by:
removeEventListeners in interface HomeHealthEventNotifierIF

removeEventListener

public void removeEventListener(HomeHealthEventListenerIF listener)
Removes a specific event listener

Specified by:
removeEventListener in interface HomeHealthEventNotifierIF
Parameters:
listener -

getListenerCount

public int getListenerCount()
Gets the number of listeners in the list

Specified by:
getListenerCount in interface HomeHealthEventNotifierIF
Returns:
an int of the number of listeners

getDiagnosisScoringStatus

public int[] getDiagnosisScoringStatus()
Get the value of diagnosisScoringStatus

Specified by:
getDiagnosisScoringStatus in interface HomeHealthRecordValidatorIF
Returns:
the value of diagnosisScoringStatus

setDiagnosisScoringStatus

public void setDiagnosisScoringStatus(int[] diagnosisScoringStatus)
Set the value of diagnosisScoringStatus

Specified by:
setDiagnosisScoringStatus in interface HomeHealthRecordValidatorIF
Parameters:
diagnosisScoringStatus - new value of diagnosisScoringStatus
See Also:
int[] getDiagnosisScoringStatus()