public class GrouperDataManager extends java.lang.Object implements Initializable
throws IOException
,
FileNotFoundException,IOException
,
throws
FileNotFoundException, IOException
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DIAGNOSIS_ETIOLOGY_PAIRS
Diagnosis code Secondary / Etiology pairs table name:
DiagnosisEtiologyPairs.txt
|
static java.lang.String |
DIAGNOSTIC_GROUP_TABLENAME
Diagnostic Group table name: diagnosticGroup.txt
|
protected HomeHealthGrouperIF |
homeHealthGrouper |
static java.lang.String |
ICD_9_DIAGNOSIS_CODE_TABLENAME
Diagnosis Code table name: diagnosisCodes.txt
|
static java.lang.String |
NRS_DIAGNOSTIC_GROUP_TABLENAME
NRS Diagnostic Group table name: NRSDiagnosticGroup.txt
|
static java.lang.String |
NRS_ICD_9_DIAGNOSIS_CODE_TABLENAME
NRS Diagnosis Code table name: nrsDiagnosisCodes.txt
|
static java.lang.String |
NRSSCORING_CASEMIX_ADJUSTMENT_TABLENAME
NRS Scoring Case Mix Adjustment table name:
NRSScoring_CasemixAdjustments.txt
|
static java.lang.String |
OPTIONAL_VCODES_TABLENAME
Optional V-Code table name: OptionalVCodes.txt
|
static java.lang.String |
PROPERTY_INCLUDE_CODE_DESCRIPTIONS
Property identifier for indicating that the code information should or
should not include the code's description information.
|
static java.lang.String |
PROPERTY_NAME_BASE_PATH
Property identifier for the data's base directory: base.path
|
static java.lang.String |
SCORING_CASEMIX_ADJUSTMENT_TABLENAME
Scoring Case Mix Adjustment table name: Scoring_CasemixAdjustments.txt
|
Constructor and Description |
---|
GrouperDataManager(HomeHealthGrouperIF homeHealthGrouper) |
Modifier and Type | Method and Description |
---|---|
DiagnosisCodeIF |
createDiagnosisCode(java.lang.String code,
boolean validCode,
boolean validForScoring)
This creates a Diagnosis code allowing any extending class to create its
own code implementation for use in its grouper version.
|
DiagnosticGroupIF |
createDiagnosticGroup(int id)
This creates a Diagnostic Group allowing any extending class to create
its own group implementation for use in its grouper version.
|
java.io.File |
getBasePath()
Get the value of basePath which is the folder location of the data files
|
CaseMixAdjustmentItemIF |
getCaseMixAdjustment(int caseMixId)
This will search the case mix table for the case mix id, and return the
case mix admjustment item
|
protected java.util.List<CaseMixAdjustmentItemIF> |
getCaseMixAdjustments_general(java.util.Map<java.lang.Integer,CaseMixAdjustmentItemIF> table)
gets the Case Mix Adjustment item from the table, and converts them to a
read only version when putting them into a sorted list.
|
java.util.List<CaseMixAdjustmentItemIF> |
getCaseMixAdjustments()
gets the Standard services case mix adjustment table
|
java.util.List<DiagnosisCodeIF> |
getClinicalCodes()
Gets all the Clinical/Functional codes that are sorted by code value.
|
DiagnosisCodeIF |
getDiagnosisCode(java.lang.String value)
This is a proxy to getDiagnosisCodeBase
|
protected DiagnosisCodeIF |
getDiagnosisCodeBase(java.util.Map<java.lang.String,DiagnosisCodeIF> codes,
java.lang.String value)
Searchs the supplied diagnosis code table, codes, for the code value.
|
DiagnosticGroupIF |
getDiagnosticGroup(long id)
Searches for the Diagnostic Group object based on its ID
|
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 diagnosis
|
HomeHealthGrouperIF |
getHomeHealthGrouper()
Get the value of homeHealthGrouper
|
java.util.List<DiagnosisCodeIF> |
getNonRoutineCodes()
Gets all the
|
CaseMixAdjustmentItemIF |
getNRSCaseMixAdjustment(int caseMixId)
This will search the case mix table for the case mix id, and return the
case mix adjustment item
|
java.util.List<CaseMixAdjustmentItemIF> |
getNRSCaseMixAdjustments()
gets the Non-routines services case mix adjustment table
|
DiagnosisCodeIF |
getNRSDiagnosisCode(java.lang.String value)
This is a proxy to getDiagnosisCodeBase
|
DiagnosticGroupIF |
getNRSDiagnosticGroup(long id)
Searches for the Non-Routine Supplies Diagnostic Group based on the ID
|
java.util.regex.Pattern |
getSplitPattern() |
void |
init(java.util.Properties props)
This loads all the data required to represent a version of the Home
Health Grouper.
|
boolean |
isIncludeDescriptions() |
void |
loadCaseMixAdjustments()
Loads the Case mix adjustment values for the Clinical scoring
The data is loaded from a tab separated file with the format:
Id
name
equation 1 value
equation 2 value
equation 3 value
equation 4 value
|
protected void |
loadDiagnosisCodeBase(java.io.File file,
java.util.Map<java.lang.String,DiagnosisCodeIF> codeHash,
boolean isNrs)
This is a consolidated/generic Diagnosis code loaded that requires the
input file, and the hash map to put the codes into
The data is loaded from a tab separated file with the format:
Diagnosis Code
Description
Diagnosis Group Number
Secondary only code indicated with M (without quotes) - can be
blank
Diabetes related indicator - D = Diabetes, U = Diabetic Ulcer - can
be blank
|
protected void |
loadDiagnosisCodes()
This will add the Diagnosis Codes associated with this version.
|
protected void |
loadDiagnosticGroups()
Loads the Diagnostic Group information from a text file
The data is loaded from a tab separated file with the format:
Id
Diagnostic Group name
|
protected void |
loadDiagnosticGroupsBase(java.io.File file,
java.util.Map<java.lang.Integer,DiagnosticGroupIF> groupHash)
Loads the Diagnostic Group information from a text file.
|
void |
loadEtiologyPairs(java.util.Map<java.lang.String,DiagnosisCodeIF> dxCodes)
IMPORTANT: This requires that the diagnosis codes are loaded first.
|
void |
loadNRSCaseMixAdjustments()
Loads the Case mix adjustment values for the Non-Routine Supplies
scoring.
|
protected void |
loadNRSDiagnosisCodes()
Loads Non-Routine Supplies related Diagnosis codes.
|
protected void |
loadNRSDiagnosticGroups()
This loads the Non-Routine Supplies Diagnostic Groups using the
loadDiagnosticGroupsBase()
|
void |
loadOptionalVCodes()
IMPORTANT: This requires that the diagnosis codes are loaded first.
|
void |
setBasePath(java.io.File basePath)
Set the value of basePath which is the folder location of the data files
|
void |
setHomeHealthGrouper(HomeHealthGrouperIF grouperVersion)
Set the value of homeHealthGrouper
|
void |
setIncludeDescriptions(boolean includeDescriptions) |
public static final java.lang.String PROPERTY_NAME_BASE_PATH
public static final java.lang.String PROPERTY_INCLUDE_CODE_DESCRIPTIONS
public static java.lang.String ICD_9_DIAGNOSIS_CODE_TABLENAME
public static java.lang.String NRS_ICD_9_DIAGNOSIS_CODE_TABLENAME
public static java.lang.String DIAGNOSTIC_GROUP_TABLENAME
public static java.lang.String NRS_DIAGNOSTIC_GROUP_TABLENAME
public static java.lang.String SCORING_CASEMIX_ADJUSTMENT_TABLENAME
public static java.lang.String NRSSCORING_CASEMIX_ADJUSTMENT_TABLENAME
public static java.lang.String DIAGNOSIS_ETIOLOGY_PAIRS
public static java.lang.String OPTIONAL_VCODES_TABLENAME
protected HomeHealthGrouperIF homeHealthGrouper
public GrouperDataManager(HomeHealthGrouperIF homeHealthGrouper)
public DiagnosisCodeIF createDiagnosisCode(java.lang.String code, boolean validCode, boolean validForScoring)
code
- validCode
- validForScoring
- public DiagnosticGroupIF createDiagnosticGroup(int id)
id
- public java.util.List<DiagnosticGroupIF> getDiagnosticGroups()
public java.util.List<DiagnosticGroupIF> getDiagnosticGroupsNRS()
public java.io.File getBasePath()
public HomeHealthGrouperIF getHomeHealthGrouper()
public DiagnosisCodeIF getNRSDiagnosisCode(java.lang.String value)
value
- #getDiagnosisCodeBase(HashMap codes, String value)
public DiagnosisCodeIF getDiagnosisCode(java.lang.String value)
value
- #getDiagnosisCodeBase(HashMap codes, String value)
protected DiagnosisCodeIF getDiagnosisCodeBase(java.util.Map<java.lang.String,DiagnosisCodeIF> codes, java.lang.String value)
codes
- value
- public java.util.List<CaseMixAdjustmentItemIF> getCaseMixAdjustments()
protected final java.util.List<CaseMixAdjustmentItemIF> getCaseMixAdjustments_general(java.util.Map<java.lang.Integer,CaseMixAdjustmentItemIF> table)
table
- public java.util.List<DiagnosisCodeIF> getClinicalCodes()
public DiagnosticGroupIF getDiagnosticGroup(long id)
id
- public DiagnosticGroupIF getNRSDiagnosticGroup(long id)
id
- public java.util.List<DiagnosisCodeIF> getNonRoutineCodes()
public CaseMixAdjustmentItemIF getNRSCaseMixAdjustment(int caseMixId)
caseMixId
- public java.util.List<CaseMixAdjustmentItemIF> getNRSCaseMixAdjustments()
public java.util.regex.Pattern getSplitPattern()
public void init(java.util.Properties props) throws java.lang.Exception, java.rmi.RemoteException
init
in interface Initializable
props
- java.lang.Exception
java.rmi.RemoteException
public boolean isIncludeDescriptions()
protected void loadDiagnosticGroups() throws java.io.FileNotFoundException, java.io.IOException
java.io.FileNotFoundException
java.io.IOException
protected void loadDiagnosisCodes() throws java.io.FileNotFoundException, java.io.IOException
java.io.FileNotFoundException
java.io.IOException
throws
IOException
protected void loadDiagnosisCodeBase(java.io.File file, java.util.Map<java.lang.String,DiagnosisCodeIF> codeHash, boolean isNrs) throws java.io.IOException
file
- codeHash
- java.io.IOException
protected void loadNRSDiagnosisCodes() throws java.io.FileNotFoundException, java.io.IOException
java.io.FileNotFoundException
java.io.IOException
throws
IOException
protected void loadNRSDiagnosticGroups() throws java.io.FileNotFoundException, java.io.IOException
java.io.FileNotFoundException
java.io.IOException
throws
FileNotFoundException, IOException
protected void loadDiagnosticGroupsBase(java.io.File file, java.util.Map<java.lang.Integer,DiagnosticGroupIF> groupHash) throws java.io.FileNotFoundException, java.io.IOException
file
- groupHash
- java.io.FileNotFoundException
java.io.IOException
public void loadCaseMixAdjustments() throws java.io.FileNotFoundException, java.io.IOException
java.io.FileNotFoundException
java.io.IOException
public CaseMixAdjustmentItemIF getCaseMixAdjustment(int caseMixId)
caseMixId
- public void loadNRSCaseMixAdjustments() throws java.io.FileNotFoundException, java.io.IOException
java.io.FileNotFoundException
java.io.IOException
public void loadEtiologyPairs(java.util.Map<java.lang.String,DiagnosisCodeIF> dxCodes) throws java.io.FileNotFoundException, java.io.IOException
java.io.FileNotFoundException
java.io.IOException
public void loadOptionalVCodes() throws java.io.FileNotFoundException, java.io.IOException
java.io.FileNotFoundException
java.io.IOException
public void setBasePath(java.io.File basePath)
basePath
- new value of basePathpublic void setHomeHealthGrouper(HomeHealthGrouperIF grouperVersion)
grouperVersion
- new value of homeHealthGrouperpublic void setIncludeDescriptions(boolean includeDescriptions)