28 lines
1.3 KiB
Plaintext
28 lines
1.3 KiB
Plaintext
---
|
|
title: "Example_Queries"
|
|
author: "Clair Blacketer"
|
|
date: "September 29, 2020"
|
|
output: html_document
|
|
---
|
|
|
|
```{r setup, include=FALSE}
|
|
knitr::opts_chunk$set(echo = TRUE)
|
|
```
|
|
|
|
The query below will find all standard concepts in the Visit domain that do not have any ancestors. These are considered "top-level" visit concepts and can be used to define categories of visits in cohort definitions. For example, the Inpatient Visit concept [9201](https://athena.ohdsi.org/search-terms/terms/9201) subsumes the concepts for Inpatient Hospital and Inpatient in Psychiatric Facility. Instead of creating a concept set with all of these terms to define an inpatient visit you can use 9201 and all of it's descendants, a concept found using the top-level query.
|
|
|
|
WITH top_level
|
|
AS
|
|
(SELECT concept_id, concept_name
|
|
FROM concept
|
|
LEFT JOIN concept_ancestor ON concept_id=descendant_concept_id
|
|
AND ancestor_concept_id!=descendant_concept_id
|
|
WHERE domain_id='Visit' AND standard_concept='S'
|
|
AND ancestor_concept_id IS NULL
|
|
)
|
|
SELECT top_level.concept_id, top_level.concept_name, descendant.concept_id, descendant.concept_name
|
|
FROM concept_ancestor
|
|
JOIN top_level ON top_level.concept_id = ancestor_concept_id
|
|
JOIN concept descendant ON descendant.concept_id = descendant_concept_id
|
|
WHERE descendant.domain_id = 'Visit';
|