While investigating issue #194 I was surprised to find that the expand_range function fails when using ICD-10 decimal codes. The test code in tests/testthat/test-ranges-icd10.R does not seem to cover this case.
> expand_range("C81.99", "C81.99")
Error in expand_range.icd10cm(start, end, short_code = short_code, defined = defined, :
start code 'C81.99' not found
In addition: Warning message:
In icd10_children_defined_rcpp(x = x, lookup = lu, nc = nc) :
The error message is actually a lie - the problem is with the end code, not the start code.
The culprit appears to be R/ranges.R#L115:
end_kids <- children_defined.icd10cm(end, short_code = TRUE)
since short_code is forced to TRUE, the function fails:
> icd:::children_defined.icd10cm('C81.99', short_code = TRUE)
character(0)
Warning message:
In icd10_children_defined_rcpp(x = x, lookup = lu, nc = nc) :
None of the provided ICD-10 codes matched the lookup codes
In fact, the passed in short_code parameter value is never used.
@jackwasey can you shine some light on this?
While investigating issue #194 I was surprised to find that the
expand_rangefunction fails when using ICD-10 decimal codes. The test code in tests/testthat/test-ranges-icd10.R does not seem to cover this case.The error message is actually a lie - the problem is with the end code, not the start code.
The culprit appears to be R/ranges.R#L115:
since short_code is forced to TRUE, the function fails:
In fact, the passed in
short_codeparameter value is never used.@jackwasey can you shine some light on this?