public class GrouperDataManager extends java.lang.Object implements DataManagerIF
throws IOException
,
FileNotFoundException,IOException
,
throws
FileNotFoundException, IOException
,
Serialized FormModifier 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_MASTER_NAME_BASE_PATH |
static java.lang.String |
PROPERTY_NAME_BASE_PATH_SUFFIX
Property suffix the Grouper's data 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
|
protected java.lang.String |
getBasePathName(java.util.Properties properties)
This calculates the data path based on the Grouper class name and the
base path suffix.
|
CaseMixAdjustmentItemIF |
getCaseMixAdjustment(int caseMixId)
This will search the case mix table for the case mix id, and return the
case mix adjustment 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_MASTER_NAME_BASE_PATH
public static final java.lang.String PROPERTY_NAME_BASE_PATH_SUFFIX
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)
createDiagnosisCode
in interface DataManagerIF
code
- validCode
- validForScoring
- public DiagnosticGroupIF createDiagnosticGroup(int id)
createDiagnosticGroup
in interface DataManagerIF
id
- public java.util.List<DiagnosticGroupIF> getDiagnosticGroups()
getDiagnosticGroups
in interface DataManagerIF
public java.util.List<DiagnosticGroupIF> getDiagnosticGroupsNRS()
getDiagnosticGroupsNRS
in interface DataManagerIF
protected java.lang.String getBasePathName(java.util.Properties properties)
properties
- public java.io.File getBasePath()
public HomeHealthGrouperIF getHomeHealthGrouper()
getHomeHealthGrouper
in interface DataManagerIF
public DiagnosisCodeIF getNRSDiagnosisCode(java.lang.String value)
getNRSDiagnosisCode
in interface DataManagerIF
value
- #getDiagnosisCodeBase(HashMap codes, String value)
public DiagnosisCodeIF getDiagnosisCode(java.lang.String value)
getDiagnosisCode
in interface DataManagerIF
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()
getCaseMixAdjustments
in interface DataManagerIF
protected final java.util.List<CaseMixAdjustmentItemIF> getCaseMixAdjustments_general(java.util.Map<java.lang.Integer,CaseMixAdjustmentItemIF> table)
table
- public java.util.List<DiagnosisCodeIF> getClinicalCodes()
getClinicalCodes
in interface DataManagerIF
public DiagnosticGroupIF getDiagnosticGroup(long id)
getDiagnosticGroup
in interface DataManagerIF
id
- public DiagnosticGroupIF getNRSDiagnosticGroup(long id)
getNRSDiagnosticGroup
in interface DataManagerIF
id
- public java.util.List<DiagnosisCodeIF> getNonRoutineCodes()
getNonRoutineCodes
in interface DataManagerIF
public CaseMixAdjustmentItemIF getNRSCaseMixAdjustment(int caseMixId)
getNRSCaseMixAdjustment
in interface DataManagerIF
caseMixId
- public java.util.List<CaseMixAdjustmentItemIF> getNRSCaseMixAdjustments()
getNRSCaseMixAdjustments
in interface DataManagerIF
public java.util.regex.Pattern getSplitPattern()
getSplitPattern
in interface DataManagerIF
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()
isIncludeDescriptions
in interface DataManagerIF
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)
getCaseMixAdjustment
in interface DataManagerIF
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)
setIncludeDescriptions
in interface DataManagerIF