com.mmm.cms.homehealth.v3110_1
Class AbstractBaseValidator_v3110

java.lang.Object
  extended by com.mmm.cms.util.ValidateUtils
      extended by com.mmm.cms.homehealth.v2308_1.AbstractBaseValidator_v2308
          extended by com.mmm.cms.homehealth.v3110_1.AbstractBaseValidator_v3110
All Implemented Interfaces:
HomeHealthEventNotifierIF, HomeHealthRecordValidatorIF
Direct Known Subclasses:
HomeHealthRecordClinicalValidator_v3110_1, HomeHealthRecordNRSValidator_3110

public abstract class AbstractBaseValidator_v3110
extends AbstractBaseValidator_v2308

This validator builds on the v2308 validator to provide the common validation for the Home Health Record with OASIS-C related values, that are performed for both the Clinical and the Non-Routine Supplies models.


Field Summary
static java.lang.String blank4
           
 
Fields inherited from class com.mmm.cms.homehealth.v2308_1.AbstractBaseValidator_v2308
ASSESSMENT_1_3_ONLY, ASSESSMENT_4_5_ONLY, ASSESSMENT_REASON_VALUES, ASSMT_REASON_INVLD, BWLINCONT_INVLD, CUR_AMBULATION_INVLD, CUR_BATHING_INVLD, CUR_DRESS_INVLD, CUR_INJECT_MEDS_INVLD, CUR_TOILETING_INVLD, CUR_TRANSFER_INVLD, dataValidityFlag, diagnosisScoringStatus, DYSPNEIC_INVLD, grouper, INFO_COMPLETED_DT_INVLD, INTERNAL_LOGIC_INVLD, LESION_INVLD, listeners, NBR_STASULC_INVLD, NPRSULC1_INVLD, NPRSULC2_INVLD, NPRSULC3_INVLD, NPRSULC4_INVLD, OSTOMY_INVLD, PAIN_INVLD, STATSTASIS_INVLD, STATSURG_INVLD, STGPRSUL_INVLD, THER_NEED_INVLD, THERAPIES_INVLD, UNOBS_PRSULC_INVLD, UNOBS_STASULC_INVLD, UR_INCONT_INVLD, VISION_INVLD
 
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_v3110(HomeHealthGrouperIF grouper)
           
 
Method Summary
 boolean validate(HomeHealthRecordIF record)
          Entry to higher level validate for the Oasis record.
 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
 boolean validateDiagnosisUnique(HomeHealthRecordIF record)
          From OASIS-C spec: *1.
 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 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.homehealth.v2308_1.AbstractBaseValidator_v2308
addEventListener, fireClinicalIssueEvent, fireFunctionalIssueEvent, fireIssueEvent, fireManifestationIssueEvent, fireServiceIssueEvent, getDataValidityFlag, getDiagnosisScoringStatus, getEventListeners, getListenerCount, isASSMT_REASON_INVLD, isBWLINCONT_INVLD, isClinicalDomainDataIssueFlag, isCUR_AMBULATION_INVLD, isCUR_BATHING_INVLD, isCUR_DRESS_INVLD, isCUR_INJECT_MEDS_INVLD, isCUR_TOILETING_INVLD, isCUR_TRANSFER_INVLD, isDYSPNEIC_INVLD, isFunctionalDomainDataIssueFlag, isINFO_COMPLETED_DT_INVLD, isINTERNAL_LOGIC_INVLD, isLESION_INVLD, isManifestationSequenceIssueFlag, isNBR_STASULC_INVLD, isNPRSULC1_INVLD, isNPRSULC2_INVLD, isNPRSULC3_INVLD, isNPRSULC4_INVLD, isOSTOMY_INVLD, isPAIN_INVLD, isServiceDomainDataIssueFlag, isSTATSTASIS_INVLD, isSTATSURG_INVLD, isSTGPRSUL_INVLD, isTHER_NEED_INVLD, isTHERAPIES_INVLD, isUNOBS_PRSULC_INVLD, isUNOBS_STASULC_INVLD, isUR_INCONT_INVLD, isValidPrincipalDiagnosisCode, isVISION_INVLD, notifyEventListeners, removeEventListener, removeEventListeners, setASSMT_REASON_INVLD, setBWLINCONT_INVLD, setCUR_AMBULATION_INVLD, setCUR_BATHING_INVLD, setCUR_DRESS_INVLD, setCUR_INJECT_MEDS_INVLD, setCUR_TOILETING_INVLD, setCUR_TRANSFER_INVLD, setDataValidityFlag, setDiagnosisScoringStatus, setDYSPNEIC_INVLD, setINFO_COMPLETED_DT_INVLD, setINTERNAL_LOGIC_INVLD, setLESION_INVLD, setNBR_STASULC_INVLD, setNPRSULC1_INVLD, setNPRSULC2_INVLD, setNPRSULC3_INVLD, setNPRSULC4_INVLD, setOSTOMY_INVLD, setPAIN_INVLD, setSTATSTASIS_INVLD, setSTATSURG_INVLD, setSTGPRSUL_INVLD, setTHER_NEED_INVLD, setTHERAPIES_INVLD, setUNOBS_PRSULC_INVLD, setUNOBS_STASULC_INVLD, setUR_INCONT_INVLD, setVISION_INVLD, validateASSMT_REASON, validateDiagnosisCodes, validateExistingCodes, validatePAYMENT_ECodes
 
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

blank4

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

AbstractBaseValidator_v3110

public AbstractBaseValidator_v3110(HomeHealthGrouperIF grouper)
Method Detail

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
Overrides:
validate in class AbstractBaseValidator_v2308
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.

Overrides:
validatePRIMARY_DIAG_ICD in class AbstractBaseValidator_v2308
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

Overrides:
validateTHH in class AbstractBaseValidator_v2308
Returns:

validateVISION

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

Overrides:
validateVISION in class AbstractBaseValidator_v2308
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

Overrides:
validateFREQ_PAIN in class AbstractBaseValidator_v2308
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

Overrides:
validateLESION_OPEN_WND in class AbstractBaseValidator_v2308
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

Overrides:
validateNPRSULC in class AbstractBaseValidator_v2308
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

Overrides:
validateSTGPRSUL in class AbstractBaseValidator_v2308
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

Overrides:
validateNBR_STASULC in class AbstractBaseValidator_v2308
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

Overrides:
validateUNOBS_STASULC in class AbstractBaseValidator_v2308
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

Overrides:
validateSTATSTASIS in class AbstractBaseValidator_v2308
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

Overrides:
validateSTATSURG in class AbstractBaseValidator_v2308
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

Overrides:
validateWHEN_DYSPNEIC in class AbstractBaseValidator_v2308
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

Overrides:
validateUR_INCONT in class AbstractBaseValidator_v2308
Parameters:
record -
Returns:

validateBWL_INCONT

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

Overrides:
validateBWL_INCONT in class AbstractBaseValidator_v2308
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

Overrides:
validateBWL_INCONT_OSTOMY in class AbstractBaseValidator_v2308
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

Overrides:
validateCUR_DRESS in class AbstractBaseValidator_v2308
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

Overrides:
validateCUR_BATHING in class AbstractBaseValidator_v2308
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

Overrides:
validateCUR_TOILETING in class AbstractBaseValidator_v2308
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

Overrides:
validateCUR_TRANSFERRING in class AbstractBaseValidator_v2308
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

Overrides:
validateCUR_AMBULATION in class AbstractBaseValidator_v2308
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

Overrides:
validateCUR_INJECT_MEDS in class AbstractBaseValidator_v2308
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

Overrides:
validateTHER_NEED in class AbstractBaseValidator_v2308
Parameters:
record -
Returns: