Nothing
# Integration tests for concepts resource
# Run with: testthat::test_file("tests/testthat/test-concepts-integration.R")
test_that("get real concept works", {
skip_if_no_integration_key()
client <- integration_client()
concept <- client$concepts$get(DIABETES_CONCEPT_ID)
expect_equal(concept$concept_id, DIABETES_CONCEPT_ID)
expect_match(concept$concept_name, "Type 2 diabetes", ignore.case = TRUE)
expect_equal(concept$vocabulary_id, "SNOMED")
expect_equal(concept$domain_id, "Condition")
expect_equal(concept$standard_concept, "S")
})
test_that("get concept with synonyms works", {
skip_if_no_integration_key()
client <- integration_client()
concept <- client$concepts$get(
DIABETES_CONCEPT_ID,
include_synonyms = TRUE
)
expect_equal(concept$concept_id, DIABETES_CONCEPT_ID)
})
test_that("get concept by code works", {
skip_if_no_integration_key()
client <- integration_client()
# SNOMED code for Type 2 diabetes mellitus
concept <- client$concepts$get_by_code("SNOMED", "44054006")
expect_equal(concept$concept_id, DIABETES_CONCEPT_ID)
expect_equal(concept$concept_code, "44054006")
})
test_that("batch concepts works", {
skip_if_no_integration_key()
client <- integration_client()
concept_ids <- c(DIABETES_CONCEPT_ID, ASPIRIN_CONCEPT_ID, MI_CONCEPT_ID)
result <- client$concepts$batch(concept_ids)
# Extract concepts from result
concepts <- extract_data(result, "concepts")
expect_true(is.list(concepts) || is.data.frame(concepts))
expect_gte(length(concepts), 1)
})
test_that("suggest concepts works", {
skip_if_no_integration_key()
client <- integration_client()
result <- client$concepts$suggest("diabetes", limit = 5)
# Extract suggestions
suggestions <- extract_data(result, "suggestions")
expect_true(is.list(suggestions) || is.data.frame(suggestions))
expect_gt(length(suggestions), 0)
# Check at least one suggestion contains 'diabetes'
suggestion_texts <- vapply(suggestions, function(s) {
if (is.list(s)) {
text <- s$concept_name %||% s$suggestion %||% ""
tolower(as.character(text))
} else {
tolower(as.character(s))
}
}, character(1))
expect_true(any(grepl("diabetes", suggestion_texts, ignore.case = TRUE)))
})
test_that("suggest concepts with filters works", {
skip_if_no_integration_key()
client <- integration_client()
result <- client$concepts$suggest(
"aspirin",
vocabulary = "RxNorm",
domain = "Drug",
limit = 10
)
suggestions <- extract_data(result, "suggestions")
expect_true(is.list(suggestions))
})
test_that("get related concepts works", {
skip_if_no_integration_key()
client <- integration_client()
result <- client$concepts$related(
DIABETES_CONCEPT_ID,
max_results = 10
)
related <- extract_data(result, "related_concepts")
expect_true(is.list(related))
})
test_that("get concept relationships works", {
skip_if_no_integration_key()
client <- integration_client()
result <- client$concepts$relationships(
DIABETES_CONCEPT_ID,
page_size = 20
)
relationships <- extract_data(result, "relationships")
expect_true(is.list(relationships))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.