Skip to content

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 that are greater 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 that 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)

Last update: February 1, 2020