Skip to content

Commit

Permalink
add conceptSetUsedInEntryEventToQuerySource and update conceptSetUsed…
Browse files Browse the repository at this point in the history
…InEntryEvent
  • Loading branch information
gowthamrao committed Sep 16, 2024
1 parent e255247 commit b546a38
Showing 1 changed file with 26 additions and 2 deletions.
28 changes: 26 additions & 2 deletions R/ExtractConceptSetsInCohortDefinition.R
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ extractConceptSetsInCohortDefinition <-
primaryCriterias <-
expression$PrimaryCriteria$CriteriaList
codeSetsIdsInPrimaryCriteria <- c()

codeSetsIdsUsedToQuerySourceConceptsInPrimaryCriteria <- c()

for (i in (1:length(primaryCriterias))) {
codesets <- primaryCriterias[[i]][[1]]
Expand All @@ -70,6 +72,21 @@ extractConceptSetsInCohortDefinition <-
unique() |>
sort()
}

# Find the name of the item containing 'SourceConcept'
sourceConceptName <- names(codesets)[sapply(names(codesets), function(x)
grepl("SourceConcept", x)) &
!sapply(codesets, is.null)]

codeSetsIdsInPrimaryCriteria <- c(codeSetsIdsInPrimaryCriteria, codesets[[sourceConceptName]]) |>
unique() |>
sort()

codeSetsIdsUsedToQuerySourceConceptsInPrimaryCriteria <- c(
codeSetsIdsUsedToQuerySourceConceptsInPrimaryCriteria,
codeSetsIdsInPrimaryCriteria
)

} else {
if (names(codesets) == "CodesetId") {
codeSetsIdsInPrimaryCriteria <- c(
Expand Down Expand Up @@ -336,7 +353,8 @@ extractConceptSetsInCohortDefinition <-

conceptSetExpression <-
dplyr::bind_rows(conceptSetExpression2) |>
dplyr::mutate(conceptSetUsedInEntryEvent = 0)
dplyr::mutate(conceptSetUsedInEntryEvent = 0) |>
dplyr::mutate(conceptSetUsedInEntryEventToQuerySource = 0)

if (length(codeSetsIdsInPrimaryCriteria) > 0) {
conceptSetExpression <- conceptSetExpression |>
Expand All @@ -346,6 +364,11 @@ extractConceptSetsInCohortDefinition <-
dplyr::distinct() |>
dplyr::mutate(conceptSetUsedInEntryEvent = 1),
by = "conceptSetId"
) |>
dplyr::left_join(
dplyr::tibble(conceptSetId = codeSetsIdsUsedToQuerySourceConceptsInPrimaryCriteria) |>
dplyr::distinct() |>
dplyr::mutate(conceptSetUsedInEntryEventToQuerySource = 1)
)
}

Expand All @@ -367,7 +390,8 @@ extractConceptSetsInCohortDefinition <-
)

data <- data |>
tidyr::replace_na(replace = list(conceptSetUsedInEntryEvent = 0))
tidyr::replace_na(replace = list(conceptSetUsedInEntryEvent = 0,
conceptSetUsedInEntryEventToQuerySource = 0))

data <- data |>
dplyr::left_join(conceptSetExpressionMetaData,
Expand Down

0 comments on commit b546a38

Please sign in to comment.