Home Health Grouper
Development Difference Notes



Author: Tim Gallagher, 3M Health Information Systems



Table of Contents

Changes from version dated 7/29/09 to 8/4/09
Changes from version dated 8/4/09 to 9/16/09
Changes from version dated 9/16/09 to 10/26/09
Changes from version dated 10/26/09 to 11/16/09
Changes from version dated 11/16/09 to 11/19/09
Changes from version v3110 (dated 11/16/2009) to v3210 Beta (dated 05/26/2010)
Changes from version v3210 Beta (dated 05/26/2010) to V3210 October (dated 7/23/2010)


Changes from version dated 7/29/09 to 8/4/09

Determining the Grouper version to score with
	In the 7/29/09 jar, the base Grouper version class GrouperVersion_v2308_1 allows for a valid Start and Thru dates for when a version is usable. It also allows a Window date (a date several days prior to the Start date) for follow up assessments only, i.e. those assessments with reasons 4 or 5.  However, not all versions allow windows for such assessments, and in this case the Window date would be set to null in the constructor.  In this version of the software, the constructor on line 111 of file com.mmm.cms.homehealth.v2308_1.GrouperVersion_v2308_1 incorrectly used the Thru when the Window date was null.  So, follow-up assessments of 4 or 5 would incorrectly not find their appropriate Grouper to score with, unless the completion date (M090) was actually on the Thru date.

Scoring Clinically for Group 5
	Diagnosis Category 5 would incorrectly score if the Diagnosis Category 12 was on the record OR if the Therapy Ent Nutrition = 1.  The Diagnosis Category 5 scoring has been changed to score when Diagnosis Category 12 is on the record AND if the Therapy Ent Nutrition = 1.

Validation of Gangrene Exclusions
	Diagnosis code 785.4, representing Gangrene, has an associated list of diagnosis codes that can not be next on the record. In the 7/29/09 jar version, the secondary code is checked to determine if it is on the exclusion list. If it is, then the code is excluded.  However, no check was made to determine if the secondary code was valid.  The 8/4/09 jar version performs this valid code check on the secondary code.




Changes from version dated 8/4/09 to 9/16/09

Added OASIS-C record format handling
	In preparation for the OASIS-C record format usage on January 1, 2010, this version provides additions that read the OASIS-C record, convert it to the internal Home Health Record, validate it, and score it. The scoring, in order to maintain the same logic as the prior version, maps the OASIS-C values backwards to OASIS-B values, and performs the scoring based on the latest OASIS-B scoring logic.

Changed Record Field Names
	With the OASIS-B and OASIS-C record formats being similar, it is appropriate to treat many fields in a similar fashion.  However, some of the fields with the same representation and use changed their field name number and/or their location within the record.  To reduce the amount of programming, the field name numbers were removed. For example, the OASIS-B field named M0440_LESION_OPEN_WND has been renamed in OASIS-C as M1350_LESION_OPEN_WND.  Both of these fields are described as "Has Skin Lesion Or Open Wound".  Therefore, the "M#" part of the field name is no longer referenced within the Java source code.  Instead the field is referred to as LESION_OPEN_WND when dealing with either the OASIS-B or OASIS-C record format.




Changes from version dated 9/16/09 to 10/26/09

NRS Validation based on Converted OASIS-C record
	The NRS Validation of the record, occurring after the Clinical Validation and scoring of the record, was incorrectly using a form of the record which was mapped from OASIS-C values to OASIS-B values.  This would manifest itself when any records flagged as invalid for the Number of Stasis Ulcers during the Clinical Validation, would not be similarly flagged as invalid for the NRS Validation, and therefore would score higher than expected for the NRS portion of the HIPPS code.  This has been corrected so that the NRS Validation is performed on the OASIS-C formatted data, prior to mapping to OASIS-B format.

Example testing applications continue processing
	Some of the example testing modules supplied with the Grouper distribution package would stop processing a batch of records if the module was to show record scoring details and the HHRG could not find an appropriate Grouper version to score with.  Records that do not match an appropriate Grouper are now skipped and the processing continues.

Validate that the Version_CD1 field matches with the Completion Date 
	If the record contains a "C" in the first position of Version CD1 field, then the Date Assessment Completed must be on or after 1/1/2010 or the HIPPS code will not be generated.  If the record contains a "B" in the first position of in the Version CD1 field, then the Date Assessment Completed must be on or before 12/31/2009 or the HIPPS code will not be generated. 

Additional edits to OASIS-C record
	The following edits were added to the Pressure Ulcer fields in order to be more complete with the OASIS-C edits. However, these edits are on fields that do not have an impact on scoring, but are directly related to field that do effect scoring.  The edits are:

      1) NSTG_DRSG_SOC_ROC must be <= NSTG_DRSG. 
      
      2) NSTG_CVRG_SOC_ROC must be <= NSTG_CVRG. 
      
      3) NSTG_DEEP_TISUE_SOC_ROC must be <= NSTG_DEEP_TISUE. 

	Due to the change in values of the Stasis Ulcer Present field, an edit was created to validate the Unobserved Stasis Ulcer as part of the new Stasis Ulcer edits.

      1) If STAS_ULCR_PRSNT == 00 or 03, then NUM_STAS_ULCR and STUS_PRBLM_STAS_ULCR must be skipped (blank).
     
      2) If STAS_ULCR_PRSNT == 01 or 02, then NUM_STAS_ULCR and STUS_PRBLM_STAS_ULCR cannot be (blank).


Additional edits to OASIS-C record due to specification updates
	The following additional edits on the OASIS-C record will result in a Clinical Issue Flag indicator when the edits fail.  

      1) If  NBR_PRSULC_STG2, NBR_PRSULC_STG3, NBR_PRSULC_STG4 and NSTG_CVRG are all = 0 (zero), then STUS_PRBLM_PRSR_ULCR must equal NA.

      2) If NBR_PRSULC_STG2 is greater than 0 (zero) AND NBR_PRSULC_STG3, NBR_PRSULC_STG4, and NSTG_CVRG are all = 0 (zero) then STUS_PRBLM_PRSR_ULCR must equal 03.

      3) If NBR_PRSULC_STG3 or NBR_PRSULC_STG4 is greater than 0 (zero), then STUS_PRBLM_PRSR_ULCR must equal 00, 01, 02, or 03.
      
      4) If NSTG_CVRG is greater than 0 (zero) and NBR_PRSULC_STG2, NBR_PRSULC_STG3, and NBR_PRSULC_STG4 are all = 0 (zero) then STUS_PRBLM_PRSR_ULCR must equal 02 or 03

      5) Under NBR_PRSULC_STG3 and NBR_PRSULC_STG4, if NBR_PRSULC_STG3, NBR_PRSULC_STG4, or NSTG_CVRG are greater than 0 (zero), then PRSR_ULCR_LNGTH, PRSR_ULCR_WDTH, and PRSR_ULCR_DPTH cannot be blank.

      6) Under NBR_PRSULC_STG3 and NBR_PRSULC_STG4, if NBR_PRSULC_STG3, NBR_PRSULC_STG4, and NSTG_CVRG are equal to 0 (zero), then PRSR_ULCR_LNGTH, PRSR_ULCR_WDTH, and PRSR_ULCR_DPTH must be blank.


OASIS-C mapping of Status of Most Problematic Stasis Ulcer to OASIS-B
	Status of Most Problematic Stasis Ulcer = 00, Newly Epithelialized, under OASIS-C mapped back to 01 - Fully Granulating under OASIS-B.  01 scores points but 00 is not valid under OASIS-B.  It makes more sense to map OASIS-C 01 to OASIS-B NA, since NA is a non-point scoring value.


Test Data
	Due to source code changes, some of the supplied TestData files have been updated with the latest Grouping Results. When no HIPPS code is generated, all of the output values will be blank.




Changes from version dated 10/26/09 to 11/16/09

Default HomeHealthGrouper.properties location
	When the home_health_config environment variable is not set, the default directory for HomeHealthGrouper.properties file was originally set to C:\Program Files\HomeHealthGrouper\config.  This has been changed to first check the "current directory"\config.  If the file does not exist there, then it uses the previous default directory of C:\Program Files\HomeHealthGrouper\config.

Changes to "at least one" indicator for Pressure Ulcers
	The validation routine validateNPRSULC() in the AbstractBaseValidator_v3110 class, lines 525 thru 545 check to determine if at least one Stage indicator was > 0 or any other item is > 0, for when the UNHLD_STG2_PRSR_ULCR = 1.  The check incorrectly checked for all values being less than 0 instead of all values being equal to 0 (the string value actually being equal to "00").  This has been corrected.

Moved GrouperDataManager_v2308 to a more appropriate package
	The class GrouperDataManager_v2308 is used to load the data files, but it is a generic loader and its name and original location are misleading. This has been moved to the package com.mmm.cms.homehealth, and renamed to GrouperDataManager.java

Stricter RFA checking for validations
	Previously, when checking M-field "A" that was valid for RFAs 1-5, and its validation includes M-field "B", the validation was performed on "B" even though "B" was only active for RFAs 1-3. These validations have been made stricter such that the validation is only performed for the least common RFAs for the fields involved.

Missing Primary Diagnosis prevents Diagnosis related scoring
	Previously, the missing Primary Diagnosis would only generate a Manifestation flag.  It will now also generate a clinical flag, and ensure that no other diagnosis codes are set to not valid for scoring.

Error in validating blank Pressure Ulcer fields
	The check for this excluded the value of 0 when checking that the fields were blank when the Unhealed Stage 2 Ulcer was set to 0. This has been corrected.

Ensure contiguous listing of Diagnosis Codes in Column 1
	If there is a blank entry in column 1, then the following codes in column1 should also be blank.  This includes even the primary diagnosis.  Any codes that follow the blank entry will be excluded from scoring on the record, and the clinical flag will be set.
 
Ensure no duplicate Diagnosis Codes in Column 1
	If a code is duplicated in column 1, then the first instance of the code is allowed to score, but the subsequent instances of the code will not score.  A clinical flag is set when duplicates are found.

Changed the configuration files to use a single file
	Due to the flexibility of the HHRG configuration, there is a set of configuration files that determine where the supporting data is located.  This configuration can now be consolidated into a single configuration file, making custom installation easier to manage.  However, the previous configuration information has been left intact for those who have created custom installs, but do not want to, at this time, make any changes to those installs - i.e. the previous configuration options will continue to work.  The new configuration options should help any subsequent custom install processes to be easier.  The new configuration is the preferred setup for the HHRG, and in subsequent deliveries, it will become the default setup.  The old set up is being deprecated.

Removal of NSTG_CVRG for validating NBR_PRSULC_STG3 and NBR_PRSULC_STG3
	Under validateNPRSULC method, removed the inclusion of variable NSTG_CVRG when dealing with only Edits #3 and #4 in the UDS Specs for NBR_PRSULC_STG3 and NBR_PRSULC_STG4

No version or flag for no HIPPS code
	If a HIPPS code is unable to be generated, the Version and Flag fields were incorrectly populated on output.  This has been corrected.

Pressure Ulcer fields affecting the Unobserved Pressure Ulcer validity
	The grouper was incorrectly allowing NRS points to be scored for Unobservable Pressure Ulcer if other Pressure Ulcer fields were flagged as invalid.  This has been corrected.

Complete checking of UNHLD_STG2_PRSR_ULCR
	The grouper was not checking allowable values for UNHLD_STG2_PRSR_ULCR which was allowing points to score inadvertently.  This has been corrected.

Case sensitive data files
	On UNIX systems, file case lettering is important.  In the supporting table data directory, Grouper_v2308_2.tables, the following files have been corrected to have the same case as in the other table data directories: DiagnosisCodes.txt, DiagnosisEtiologyPairs.txt, NRSDiagnosisCodes.txt.  Corresponding filenames have been updated in the Java class  com.mmm.cms.homehealth.GrouperDataManager.



Changes from version dated 11/16/09 to 11/19/09

	These changes were due to the Errata published by CMS that clarifies the OASIS-C specification.

Added Non-Staging Deep Tissue checks to Pressure Ulcer validation
	Checks for the value of NonStaging Deep Tissue value which was added to the validation when the Unhealed Stage 2 Pressure Ulcer = 1

Added Non-Staging due to Coverage added
	For Stage 3 and Stage 4 Pressure Ulcers, the validation now includes checks for Non-Staging due to coverage which is now consistent with the Non-Staging due to Coverage validation. 

Removed check for blank rows for Diagnosis Codes
	The Errata explains that the State system will adjust the Diagnosis codes when a blank row is followed by a non-blank row.  Such cases previously were fatal errors not allowing scoring, but now, scoring will continue, although, manifestation/etiology pairs not paired one row after the other will still not score properly.

Add Incontinence Timing for RFA 1 & 3
	Additional checks are performed on Urinary Incontinence with regard to the timing, however, the Errata provides that this check need only be done when the RFA is 1 or 3.



Changes from version v3110 (January 2010 release - dated 11/16/2009) to v3210 Beta (dated 05/26/2010)


Reorganization of logic for scoring Diagnosis codes 
	Previous versions scored the Diagnosis codes with a multi-pass process.  This version uses a single pass process resulting in Java code that is easier to read.

Corrects ordering in manifestation/etiology contention 
	Previous version had issues when there were multiple contention pairs whether or not the record was using V-codes.  The order of the codes within the record affected the resulting score.  This version eliminates the ordering issue by first scoring all non-contention codes, and then scoring all contention codes.  Ordering of codes by moving it in and out of the Primary Diagnosis field may still affect the score in some cases since the Primary Diagnosis field is scored higher in those cases.

More detailed reporting
	The reporting mechanism during scoring shows the exact row and value within the Casemix Adjustment table that is applied to each item scored as well as identify those Diagnosis codes that do not score, and why.

Source code remains in zip file
	Previous versions uncompressed the source into its own directory when installing.  Now the sources will remain in the zip file.  The user may uncompress them as needed. Java docs remain in zip file. Previous versions uncompressed the Java docs into their own directory structure when installing.  Now the Java docs will remain in the zip file.  The user may uncompress them as needed.



Changes from version v3210 Beta (dated 05/26/2010) to V3210 (October 2010 release - dated 07/23/2010)

Addition of Home Health Sum of Chgs_100110_rev1.pdf 
	Document which reflects ICD-9-CM Code Changes for October 1, 2010.

Addition of Test Data file named TestDataV3210.txt (beta test cases)
	Additional test data file which includes data associated with codes effective 10/01/10.
