-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fixed iss body region issue. Extremities region was being mapped to g…
…eneral body region for gem_max and gem_min methods as well as for the icd 9 to ais lookup table. This was a bug in the program that should be fixed.
- Loading branch information
Showing
9 changed files
with
8,293 additions
and
8,219 deletions.
There are no files selected for viewing
Binary file not shown.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
|
||
# this is the section that needs optimizing! | ||
devtools::load_all() | ||
etab <- rbind(etab_s1, i10_ecode) | ||
|
||
|
||
|
||
df <- data.frame(key = 1:9, | ||
dx1 = c("R65.21", "S02.40EA", "R78.81", "K85.90", "Z68.44", "Z68.1", "Z79.4", "R33.9", "R09.02"), | ||
dx2 = c("R13.10", "N17.9", "R53.1", "R31.9", "Z92.241", "R29.810", "R33.9", "Q76.2", "Z90.710"), | ||
dx3 = c("Z90.13", "R56.9", "M71.22", "R13.10", "N17.9", "R04.0", "M19.90", "R00.0", "Z87.891"), | ||
dx4 = c("I10", "Z85.820", "J96.90", "G89.11", "K92.2", "Z85.43", "N39.0", "J96.90", "H35.00"), | ||
dx5 = c("G10", "J90", "Z66", "F32.9", "K76.0", "Z85.3", "N18.9", "J69.0", "E88.09"), | ||
dx6 = c("J45.909", "R91.1", "E87.5", "F10.221", "Z51.5", "I82.4Z2", "N17.9", "E87.6", "J81.1"), | ||
dx7 = c("R50.9", "N39.0", "J44.9", "K57.30", "E87.2", "I10", "I10", "E83.51", "F05"), | ||
dx8 = c("I11.0", "I46.9", "R06.82", "G89.11", "K21.9", "E88.09", "E83.42", "E87.5", "E86.9"), | ||
dx9 = c("I10", "E83.42", "J86.9", "G81.94", "R00.1", "E83.39", "F32.9", "E83.52", "E87.3"), stringsAsFactors = F) | ||
|
||
# get ecode column names | ||
ecode_colnames <- paste0("ecode_", 1:4) | ||
|
||
#create ecode columns | ||
df[ , ecode_colnames] <- NA | ||
|
||
# for each row extract the first 4 ecodes and add them to the e-code columns | ||
# icd10 e-codes do not start with E. | ||
|
||
# get a list of all ecodes (includes icd10 code if requested) | ||
ecode_regex <- paste0("^", etab$dx, collapse = "|") | ||
|
||
profvis::profvis({ | ||
df[ , ecode_colnames] <- t(apply(df, 1, function(row){ | ||
# remove decimal | ||
row <- sub("\\.", "", row) | ||
# get all e codes using pattern matching | ||
row_ecodes <- stringr::str_extract(as.character(unlist(row)), ecode_regex) | ||
# row_ecodes <- grep(ecode_regex, as.character(unlist(row)), value = T) #1370 | ||
# remove na values | ||
row_ecodes <- na.omit(row_ecodes) | ||
# save first 4 Ecodes | ||
row_ecodes[1:4] | ||
})) | ||
|
||
}) | ||
grep(ecode_regex, sub("\\.", "", as.character(df[6,-1])), value = T) | ||
|
||
grep(ecode_regex, c("X600", "X53", "hi","Y82"), value = T) | ||
|
||
as.matrix(df[,-1]) %>% | ||
t() %>% | ||
.[,] | ||
stringr::str_extract( ecode_regex) | ||
{.} | ||
|
||
|