This does not check whether the code coresponds to a real
ICD-9-CM billing code, or parent grouping. For that, see
icd9IsReal
.
Factors are accepted, and since the validation is done with grepl
these are handled correctly.
icd9IsValid(icd9, isShort)icd9Valid(icd9, isShort)
icd9IsValidDecimal(icd9Decimal)
icd9ValidDecimal(icd9)
icd9IsValidShort(icd9Short)
icd9ValidShort(icd9)
icd9IsValidShortV(icd9Short)
icd9IsValidShortE(icd9Short)
icd9IsValidShortN(icd9Short)
icd9IsValidMajor(major)
is a character vector of ICD-9 codes. If fewer than five characters is given in a code, then the digits are greedily assigned to hundreds, then tens, then units, before the decimal parts. E.g. "10" becomes "010", not "0010"
single logical value which determines whether the ICD-9 code provided is in short (TRUE) or decimal (FALSE) form. Where reasonable, this is guessed from the input data.
character vector of ICD-9 codes. If fewer than five characters is given in a code, then the digits are greedily assigned to hundreds, then tens, then units, before the decimal parts. E.g. "10" becomes "010", not "0010"
is a character vector of ICD-9 codes. If fewer than five characters is given in a code, then the digits are greedily assigned to hundreds, then tens, then units, before the decimal parts. E.g. "10" becomes "010", not "0010"
character vector of 'major' part of ICD-9 codes, i.e. that part which falls before the decimal point, in decimal notation. (In 5 digit notation, the 'major' part is be the first three characters (with leading zeroes), and includes V or E prefix. xyz
logical vector with TRUE
or FALSE
for each icd9 code
provided according to its validity
isValidMajor
validates just the 'major' three-digit part of an ICD-9
code. This can in fact be provided as a numeric, since there is no
ambiguity. Numeric-only codes should be one to three digitis, V codes are
followed by one or two digits, and E codes always by three digits between
800 and 999.
Leading zeroes in the decimal form are not ambiguous. Although integer ICD-9 codes could be intended by the user, there is a difference between 100, 100.0, 100.00. Therefore a warning is given if a numeric value is provided
icd9IsValidDecimal
, icd9IsValidShort
,
http://www.stata.com/users/wgould/icd9/icd9.hlp
urlhttp://www.sascommunity.org/wiki/Validate_the_format_of_ICD-9_codes
Other ICD9 validation: icd9GetInvalidMappingDecimal
,
icd9GetInvalidMappingShort
,
icd9IsValidMapping
,
icd9IsValidMappingDecimal
,
icd9IsValidMappingShort
# NOT RUN {
icd9IsValidShort(c("", "1", "22", "333", "4444", "123.45", "V",
"V2", "V34", "V567", "E", "E1", "E70", "E"))
icd9IsValidMajor(c("", "1", "22", "333", "4444", "123.45", "V",
"V2", "V34", "V567", "E", "E1", "E70", "E"))
# }
Run the code above in your browser using DataLab