Insights Filters
At a broad level, the insights query box works as a SQL-like WHERE clause. In this brief documentation, we will first demonstrate some generic examples, then provide a list of resources that can be used in the query. For a simple example, we can start with the following query which retrieves patients who are older than the age of 50:
patient.demographics.age > 50
If you wanted to supply a simple AND
predicate, you can do the following:
patient.demographics.gender = 'male' AND
patient.conditions.code = 'ab123' AND
patient.conditions.system = 'system_here'
We currently support AND
, OR
, and XOR
. Note that joins are all handled by
the DSL-engine and do not need to be explicitly stated in the request. For an
example of a more complex query, we can do the following:
patient.demographics.age > 40 AND patient.demographics.ethnicity = 'white' AND
(variant.gnosis.clinical_significance = 'Pathogenic' OR
variant.gnosis.clinvar_allele_id = 'abc' OR
(patient.demographics.is_deceased = false AND
patient.demographics.gender = 'female')
)
In order to use a RANGE operator, you can do the following:
variant.gnosis.gene = 'TTN' AND
variant.gnosis.population_allelic_frequency BETWEEN 0, 50
For a common XOR example, we can do the following to find individuals who have never had a condition:
(patient.conditions.code = '1671000' AND
patient.conditions.system = 'http://snomed.info/sct')
XOR patient.all = true
Note, that patient.all = true
returns all patient values, which allows this
query to find the difference.
In the last example, we can find all patients that died after April 14th 2000:
patient.demographics.deceased > '2000/04/14'
Finally, we can see all of the current items that are supported by the analytics DSL engine below.
Operator Support
- Equals =>
item_a = item_b
- Not equals =>
item_a != item_b
- Greater than =>
item_a > item_b
- Greater than or Equals =>
item_a >= item_b
- Less than =>
item_a < item_b
- Less than or equal to =>
item_a <= item_b
- Item in =>
item_a IN 'a', 'b', 'c'
- Range =>
item_a BETWEEN 0, 100
Patient Resources
Demographics
patient.demographics.age
(Integer)patient.demographics.birth_date
(Date)patient.demographics.deceased
(Date)patient.demographics.is_deceased
(boolean)patient.demographics.gender
(String)patient.demographics.race
(String)patient.demographics.ethnicity
(String)patient.demographics.language
(String)patient.demographics.marital_status
(String)
Conditions
patient.conditions.system
(String)patient.conditions.code
(String)patient.conditions.clinical_status
(String)patient.conditions.verification_status
(String)patient.conditions.asserted_date
(Date)patient.conditions.onset
(Date)patient.conditions.asserted_age
(Integer)patient.conditions.stage
(String)patient.conditions.body_site
(String)
Observations
patient.observations.system
(String)patient.observations.code
(String)patient.observations.effective_datetime
(Date)patient.observations.effective_age
(Integer)
Medications
patient.medications.system
(String)patient.medications.code
(String)patient.medications.effective_period_end
(Date)patient.medications.effective_period_start
(Date)patient.medications.effective_datetime
(Date)patient.medications.effective_age_end
(Integer)patient.medications.effective_age_start
(Integer)patient.medications.effective_age
(Integer)patient.medications.taken
(String)
Procedures
patient.procedures.system
(String)patient.procedures.code
(String)patient.procedures.status
(String)patient.procedures.performed_datetime
(Date)patient.procedures.performed_start
(Date)patient.procedures.performed_end
(Date)patient.procedures.age
(Integer)
Predictions
patient.predictions.model_id
(String)patient.predictions.effective_datetime
(Date)patient.predictions.prediction
(Number)
Patients
patient.patients
(String)patient.samples
(String)patient.all
(Boolean)
Variants
Knowledge
variant.gnosis.chromosome
(String)variant.gnosis.position
(Number)variant.gnosis.minimum_allele_frequency
(Number)variant.gnosis.maximum_allele_frequency
(Number)variant.gnosis.population_allele_frequency
(Number)variant.gnosis.rs_id
(String)variant.gnosis.id
(String)variant.gnosis.clinvar_allele_id
(String)variant.gnosis.clinical_disease
(String)variant.gnosis.clinical_review
(String)variant.gnosis.clinical_significance
(String)variant.gnosis.cosmic_id
(String)variant.gnosis.mutation_status
(String)variant.gnosis.histology
(String)variant.gnosis.tumor_site
(String)variant.gnosis.ebcanon_class
(String)variant.gnosis.ebcanon_group
(String)variant.gnosis.gene
(String)variant.gnosis.impact
(String)variant.gnosis.transcript_id
(String)variant.gnosis.biotype
(String)variant.gnosis.amino_acid_change
(String)variant.gnosis.cosmic_sample_count
(Number)
Gene Expression
gene.samples
(String)gene.genes
(String)