diff --git a/.gitignore b/.gitignore index 0d6ad54c..1cc621f1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,3 @@ -# custom file created at docker/superset -docker-init.sh - # Docker volumes volumes/ diff --git a/dashboard_viewer/dashboard_viewer/routers.py b/dashboard_viewer/dashboard_viewer/routers.py index db16bf60..278d65ec 100644 --- a/dashboard_viewer/dashboard_viewer/routers.py +++ b/dashboard_viewer/dashboard_viewer/routers.py @@ -9,32 +9,32 @@ class AchillesRouter: achilles database. The rest will be stored on the default database """ - achilles_app = "uploader" + achilles_apps = ["uploader", "materialized_queries_manager"] achilles_db = "achilles" def db_for_read(self, model, **_): - if model._meta.app_label == self.achilles_app: + if model._meta.app_label in self.achilles_apps: return self.achilles_db return None def db_for_write(self, model, **_): - if model._meta.app_label == self.achilles_app: + if model._meta.app_label in self.achilles_apps: return self.achilles_db return None def allow_relation(self, obj1, obj2, **_): if ( - obj1._meta.app_label == self.achilles_app - or obj2._meta.app_label == self.achilles_app + obj1._meta.app_label in self.achilles_apps + or obj2._meta.app_label in self.achilles_apps ): return True return None def allow_migrate(self, db, app_label, **_): if db == self.achilles_db: - result = app_label == self.achilles_app + result = app_label in self.achilles_apps return result - if app_label == self.achilles_app: + if app_label in self.achilles_apps: result = db == self.achilles_db return result return None diff --git a/dashboard_viewer/docker-init.sh b/dashboard_viewer/docker-init.sh index 2e9d4ec3..928015bd 100755 --- a/dashboard_viewer/docker-init.sh +++ b/dashboard_viewer/docker-init.sh @@ -7,9 +7,18 @@ wait-for-it "$POSTGRES_ACHILLES_HOST:$POSTGRES_ACHILLES_PORT" # Apply django migrations python manage.py migrate -python manage.py migrate --database=achilles uploader -python manage.py migrate --database=achilles materialized_queries_manager -python manage.py populate_countries +python manage.py migrate --database=achilles + +# Load initial data +if [ $SUPERSET_URL == "" ] ; then + 1>&2 echo "Environment variable SUPERSET_URL not set" + exit 1 +fi + +sed -i s/"{SUPERSET_URL}"/$SUPERSET_URL/ /app/dashboard_viewer/tabsManager/fixtures/initial_data.json +python manage.py loaddata --app tabsManager initial_data +python manage.py loaddata --app uploader --database achilles country_initial_data +python manage.py loaddata --app materialized_queries_manager --database achilles initial_data # Create an user for the admin app python manage.py createsuperuser diff --git a/dashboard_viewer/materialized_queries_manager/fixtures/initial_data.json b/dashboard_viewer/materialized_queries_manager/fixtures/initial_data.json new file mode 100644 index 00000000..9b45ce19 --- /dev/null +++ b/dashboard_viewer/materialized_queries_manager/fixtures/initial_data.json @@ -0,0 +1,173 @@ +[ + { + "model": "materialized_queries_manager.materializedquery", + "pk": 1, + "fields": { + "name": "number_of_patients", + "dashboards": null, + "query": "SELECT\r\nachilles_results.count_value,\r\ndata_source.name,\r\ndata_source.acronym\r\nFROM achilles_results\r\nJOIN data_source ON achilles_results.data_source_id=data_source.id\r\nWHERE analysis_id = 1" + } + }, + { + "model": "materialized_queries_manager.materializedquery", + "pk": 2, + "fields": { + "name": "gender", + "dashboards": null, + "query": "SELECT source.name as name,\r\n source.acronym,\r\n concept_name as gender,\r\n count_value\r\n FROM public.achilles_results AS achilles\r\n INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\r\n INNER JOIN public.concept ON stratum_1 = CAST(concept_id AS text)\r\n WHERE analysis_id = 2" + } + }, + { + "model": "materialized_queries_manager.materializedquery", + "pk": 4, + "fields": { + "name": "age1observation_bar_chart", + "dashboards": null, + "query": "SELECT source.name,\r\n cast(stratum_1 as int) as Age,\r\n count_value as count, \r\n source.acronym\r\nFROM public.achilles_results AS achilles INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\r\nwhere analysis_id = 101" + } + }, + { + "model": "materialized_queries_manager.materializedquery", + "pk": 5, + "fields": { + "name": "year_of_birth", + "dashboards": null, + "query": "SELECT source.name,\r\n source.acronym,\r\n stratum_1 as \"Birth_year\",\r\n count_value as count\r\nFROM public.achilles_results AS achilles INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\r\nwhere analysis_id = 3" + } + }, + { + "model": "materialized_queries_manager.materializedquery", + "pk": 6, + "fields": { + "name": "avg_num_of_records_per_person", + "dashboards": null, + "query": "SELECT \r\n source.name,\r\n source.acronym,\r\n case \r\n when analysis_id = 201 then 'Visit'\r\n when analysis_id = 401 then 'Condition'\r\n when analysis_id = 501 then 'Death'\r\n when analysis_id = 601 then 'Procedure'\r\n when analysis_id = 701 then 'Drug Exposure'\r\n when analysis_id = 801 then 'Observation'\r\n when analysis_id = 1801 then 'Measurement'\r\n when analysis_id = 2101 then 'Device'\r\n when analysis_id = 2201 then 'Note'\r\n end as Data_Domain,\r\n SUM(count_value) /AVG(num_persons) as \"records_per_person\"\r\nFROM public.achilles_results AS achilles INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\r\nINNER JOIN (SELECT data_source_id , count_value as num_persons FROM achilles_results WHERE analysis_id = 1) counts\r\nON achilles.data_source_id = counts.data_source_id \r\nGROUP BY analysis_id, source.name, source.acronym\r\nHAVING analysis_id IN (201, 401, 501, 601, 701, 801, 1801, 2101, 2201)" + } + }, + { + "model": "materialized_queries_manager.materializedquery", + "pk": 7, + "fields": { + "name": "data_domain_total_num_of_records", + "dashboards": null, + "query": "SELECT\r\ndata_source.name,\r\ndata_source.acronym,\r\n case \r\n when analysis_id = 201 then 'Visit'\r\n when analysis_id = 401 then 'Condition'\r\n when analysis_id = 501 then 'Death'\r\n when analysis_id = 601 then 'Procedure'\r\n when analysis_id = 701 then 'Drug Exposure'\r\n when analysis_id = 801 then 'Observation'\r\n when analysis_id = 1801 then 'Measurement'\r\n when analysis_id = 2101 then 'Device'\r\n when analysis_id = 2201 then 'Note'\r\n end as Data_Domain,\r\n SUM(count_value) as \"count\"\r\nFROM achilles_results\r\nJOIN data_source ON achilles_results.data_source_id=data_source.id\r\nGROUP BY name, acronym, analysis_id\r\nHAVING analysis_id IN (201, 401, 501, 601, 701, 801, 1801, 2101, 2201)" + } + }, + { + "model": "materialized_queries_manager.materializedquery", + "pk": 10, + "fields": { + "name": "num_of_patients_in_observation_period", + "dashboards": null, + "query": "SELECT source.name,\r\n source.acronym,\r\n to_date(stratum_1, 'YYYYMM') as Date,\r\n count_value as \"Nr_patients\"\r\nFROM public.achilles_results AS achilles INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\r\nWHERE analysis_id = 110" + } + }, + { + "model": "materialized_queries_manager.materializedquery", + "pk": 11, + "fields": { + "name": "cumulative_observation_time", + "dashboards": null, + "query": "SELECT\r\n name,\r\n acronym,\r\n xLengthOfObservation,\r\n round(cumulative_sum / total, 5) as yPercentPersons\r\nFROM (\r\n SELECT data_source_id, CAST(stratum_1 AS INTEGER) * 30 AS xLengthOfObservation, SUM(count_value) OVER (PARTITION BY data_source_id ORDER BY CAST(stratum_1 AS INTEGER) DESC) as cumulative_sum\r\n FROM achilles_results\r\n WHERE analysis_id = 108\r\n) AS cumulative_sums\r\nJOIN (\r\n SELECT data_source_id, count_value as total\r\n FROM achilles_results\r\n WHERE analysis_id = 1\r\n) AS totals\r\nON cumulative_sums.data_source_id = totals.data_source_id\r\nJOIN data_source ON cumulative_sums.data_source_id = data_source.id\r\nORDER BY name, xLengthOfObservation" + } + }, + { + "model": "materialized_queries_manager.materializedquery", + "pk": 12, + "fields": { + "name": "visit_type_bar_chart", + "dashboards": null, + "query": "SELECT\r\n data_source.name,\r\n data_source.acronym,\r\n concept.concept_name,\r\n achilles_results.count_value AS num_persons\r\nFROM (SELECT * FROM achilles_results WHERE analysis_id = 200) as achilles_results\r\nJOIN data_source ON achilles_results.data_source_id = data_source.id\r\nJOIN concept ON CAST(achilles_results.stratum_1 AS INTEGER) = concept.concept_id" + } + }, + { + "model": "materialized_queries_manager.materializedquery", + "pk": 13, + "fields": { + "name": "visit_type_table", + "dashboards": null, + "query": "SELECT\r\n name,\r\n acronym,\r\n concept.concept_name,\r\n ar1.count_value AS num_persons,\r\n round(100.0 * ar1.count_value / denom.count_value, 2) AS percent_persons,\r\n round(1.0 * ar2.count_value / ar1.count_value, 2) AS records_per_person\r\nFROM (\r\n SELECT *\r\n FROM achilles_results WHERE analysis_id = 200) AS ar1\r\n JOIN (\r\n SELECT *\r\n FROM achilles_results WHERE analysis_id = 201) AS ar2\r\n ON ar1.stratum_1 = ar2.stratum_1 AND ar1.data_source_id = ar2.data_source_id\r\n JOIN (\r\n SELECT *\r\n FROM achilles_results WHERE analysis_id = 1) AS denom\r\n ON ar1.data_source_id = denom.data_source_id\r\n JOIN data_source ON data_source.id = ar1.data_source_id\r\n JOIN concept ON CAST(ar1.stratum_1 AS INTEGER) = concept_id\r\nORDER BY ar1.data_source_id, ar1.count_value DESC" + } + }, + { + "model": "materialized_queries_manager.materializedquery", + "pk": 14, + "fields": { + "name": "concept_browser_table", + "dashboards": null, + "query": "SELECT\r\n q1.concept_id AS concept_id,\r\n q1.concept_name AS concept_name,\r\n q1.domain_id,\r\n source.name AS source_name,\r\n source.acronym,\r\n sum(q1.count_value) as \"Occurrence_count\",\r\n sum(q1.count_person) as \"Person_count\",\r\n CASE \r\n WHEN sum(q1.count_value)<=10 THEN '<=10'\r\n WHEN sum(q1.count_value)<=100 THEN '11-10\u02c62'\r\n WHEN sum(q1.count_value)<=1000 THEN '10\u02c62-10\u02c63'\r\n WHEN sum(q1.count_value)<=10000 THEN '10\u02c63-10\u02c64'\r\n WHEN sum(q1.count_value)<=100000 THEN '10\u02c64-10\u02c65'\r\n WHEN sum(q1.count_value)<=1000000 THEN '10\u02c65-10\u02c66'\r\n ELSE '>10\u02c66'\r\n END as \"magnitude_occurrences\",\r\n CASE \r\n WHEN sum(q1.count_person)<=10 THEN '<=10'\r\n WHEN sum(q1.count_person)<=100 THEN '11-10\u02c62'\r\n WHEN sum(q1.count_person)<=1000 THEN '10\u02c62-10\u02c63'\r\n WHEN sum(q1.count_person)<=10000 THEN '10\u02c63-10\u02c64'\r\n WHEN sum(q1.count_person)<=100000 THEN '10\u02c64-10\u02c65'\r\n WHEN sum(q1.count_person)<=1000000 THEN '10\u02c65-10\u02c66'\r\n ELSE '>10\u02c66'\r\n END AS \"magnitude_persons\"\r\nFROM (SELECT analysis_id,\r\n stratum_1 concept_id,\r\n data_source_id,\r\n concept_name,\r\n domain_id,\r\n count_value, 0 as count_person\r\n FROM achilles_results\r\n JOIN concept ON cast(stratum_1 AS BIGINT)=concept_id\r\n WHERE analysis_id in (201, 301, 401, 601, 701, 801, 901, 1001, 1801)\r\n UNION (SELECT analysis_id,\r\n stratum_1 concept_id,\r\n data_source_id,\r\n concept_name,\r\n domain_id,\r\n 0 as count_value,\r\n sum(count_value) as count_person\r\n FROM achilles_results\r\n JOIN concept on cast(stratum_1 as BIGINT)=concept_id\r\n WHERE analysis_id in (202, 401, 601, 701, 801, 901, 1001, 1801)\r\n GROUP BY analysis_id,stratum_1,data_source_id,concept_name,domain_id) ) as q1\r\n INNER JOIN public.data_source AS source ON q1.data_source_id=source.id\r\nGROUP BY q1.concept_id,q1.concept_name,q1.domain_id,source.name, acronym\r\nORDER BY \"Person_count\" desc" + } + }, + { + "model": "materialized_queries_manager.materializedquery", + "pk": 15, + "fields": { + "name": "meta_data_table", + "dashboards": null, + "query": "SELECT\r\n acronym,\r\n stratum_1 as \"name\",\r\n database_type,\r\n country,\r\n stratum_2 as \"source_release_date\",\r\n stratum_3 as \"cdm_release_date\",\r\n stratum_4 as \"cdm_version\",\r\n stratum_5 as \"vocabulary_version\"\r\nFROM achilles_results\r\nJOIN data_source ON achilles_results.data_source_id = data_source.id\r\nJOIN country ON data_source.country_id = country.id\r\nWHERE analysis_id=5000" + } + }, + { + "model": "materialized_queries_manager.materializedquery", + "pk": 16, + "fields": { + "name": "age1observation_table", + "dashboards": null, + "query": "SELECT name,\r\n acronym,\r\n SUM(CASE WHEN CAST(stratum_2 AS INTEGER) < 10 THEN count_value END) AS \"0-10\",\r\n SUM(CASE WHEN CAST(stratum_2 AS INTEGER) >= 10 AND CAST(stratum_2 AS INTEGER) < 20 THEN count_value END) AS \"10-20\",\r\n SUM(CASE WHEN CAST(stratum_2 AS INTEGER) >= 20 AND CAST(stratum_2 AS INTEGER) < 30 THEN count_value END) AS \"20-30\",\r\n SUM(CASE WHEN CAST(stratum_2 AS INTEGER) >= 30 AND CAST(stratum_2 AS INTEGER) < 40 THEN count_value END) AS \"30-40\",\r\n SUM(CASE WHEN CAST(stratum_2 AS INTEGER) >= 40 AND CAST(stratum_2 AS INTEGER) < 50 THEN count_value END) AS \"40-50\",\r\n SUM(CASE WHEN CAST(stratum_2 AS INTEGER) >= 50 AND CAST(stratum_2 AS INTEGER) < 60 THEN count_value END) AS \"50-60\",\r\n SUM(CASE WHEN CAST(stratum_2 AS INTEGER) >= 60 AND CAST(stratum_2 AS INTEGER) < 70 THEN count_value END) AS \"60-70\",\r\n SUM(CASE WHEN CAST(stratum_2 AS INTEGER) >= 70 AND CAST(stratum_2 AS INTEGER) < 80 THEN count_value END) AS \"70-80\",\r\n SUM(CASE WHEN CAST(stratum_2 AS INTEGER) >= 80 AND CAST(stratum_2 AS INTEGER) < 90 THEN count_value END) AS \"80-90\",\r\n SUM(CASE WHEN CAST(stratum_2 AS INTEGER) >= 90 THEN count_value END) AS \"90+\"\r\n FROM (\r\n SELECT source.name as name,\r\n source.acronym,\r\n count_value,\r\n stratum_2 \r\n FROM public.achilles_results AS achilles\r\n INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\r\n INNER JOIN public.concept ON stratum_1 = CAST(concept_id AS text)\r\n WHERE analysis_id = 102\r\n ) as sub_query\r\n \r\n GROUP BY name, acronym" + } + }, + { + "model": "materialized_queries_manager.materializedquery", + "pk": 17, + "fields": { + "name": "data_provenance", + "dashboards": null, + "query": "select source.name,\n source.acronym,\n case when analysis_id = 405 then 'Condition'\n when analysis_id = 605 then 'Procedure'\n when analysis_id = 705 then 'Drug'\n when analysis_id = 805 then 'Observation'\n when analysis_id = 1805 then 'Measurement'\n when analysis_id = 2105 then 'Device'\n else 'Other' end as domain_name,\n concept_name, sum(count_value) as num_records\nFROM public.achilles_results AS achilles INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\nINNER JOIN public.concept AS c1 ON stratum_2 = CAST(concept_id AS text)\nWHERE analysis_id in (405,605,705,805,1805,2105)\nGROUP BY source.name, source.acronym, concept_name, \n case when analysis_id = 405 then 'Condition'\n when analysis_id = 605 then 'Procedure'\n when analysis_id = 705 then 'Drug'\n when analysis_id = 805 then 'Observation'\n when analysis_id = 1805 then 'Measurement'\n when analysis_id = 2105 then 'Device'\n else 'Other' end" + } + }, + { + "model": "materialized_queries_manager.materializedquery", + "pk": 18, + "fields": { + "name": "database_country_filter", + "dashboards": "general", + "query": "SELECT source.name, \r\n country.country,\r\n source.database_type,\r\n source.acronym\r\nFROM public.data_source AS source INNER JOIN public.country \r\n AS country ON source.country_id=country.id" + } + }, + { + "model": "materialized_queries_manager.materializedquery", + "pk": 19, + "fields": { + "name": "network_patient_growth", + "dashboards": "general", + "query": "SELECT\r\n country,\r\n database_type,\r\n release_date,\r\n sum(count_value) OVER (ORDER BY release_date ASC)\r\nFROM achilles_results\r\nJOIN data_source ON data_source_id = data_source.id\r\nJOIN country ON data_source.country_id = country.id\r\nWHERE analysis_id = 1" + } + }, + { + "model": "materialized_queries_manager.materializedquery", + "pk": 20, + "fields": { + "name": "network_patient_growth_by_date", + "dashboards": null, + "query": "SELECT data.source,\r\n data.country,\r\n data.database_type,\r\n data.release_date,\r\n concept_name AS gender,\r\n count_value AS count\r\nFROM (\r\n SELECT source.name AS source,\r\n achilles.analysis_id AS analysis_id,\r\n achilles.stratum_1,\r\n achilles.stratum_2,\r\n achilles.stratum_3,\r\n achilles.stratum_4,\r\n achilles.stratum_5,\r\n achilles.count_value,\r\n country.country,\r\n source.database_type, \r\n source.release_date\r\n FROM public.achilles_results AS achilles INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\r\n INNER JOIN public.country AS country ON source.country_id=country.id\r\n ) data\r\nJOIN (SELECT '8507' AS concept_id, 'Male' AS concept_name UNION SELECT '8532' AS concept_id, 'Female' AS concept_name) AS concepts ON data.stratum_1 = concept_id\r\nWHERE analysis_id =2" + } + }, + { + "model": "materialized_queries_manager.materializedquery", + "pk": 21, + "fields": { + "name": "world_map", + "dashboards": "general", + "query": "SELECT name,\r\n acronym,\r\n database_type,\r\n latitude,\r\n longitude,\r\n country\r\nFROM public.data_source AS source INNER JOIN public.country \r\n AS country ON source.country_id=country.id" + } + }, + { + "model": "materialized_queries_manager.materializedquery", + "pk": 22, + "fields": { + "name": "patients_per_country_and_database_type", + "dashboards": "general", + "query": "SELECT country.country,\r\n source.database_type,\r\n count_value\r\nFROM public.achilles_results AS achilles \r\n INNER JOIN public.data_source AS source ON \r\n achilles.data_source_id=source.id\r\n INNER JOIN public.country AS country ON \r\n source.country_id=country.id\r\nWHERE analysis_id = 1" + } + } +] diff --git a/dashboard_viewer/materialized_queries_manager/management/commands/build_materialized_queries.py b/dashboard_viewer/materialized_queries_manager/management/commands/build_materialized_queries.py new file mode 100644 index 00000000..af6a69e9 --- /dev/null +++ b/dashboard_viewer/materialized_queries_manager/management/commands/build_materialized_queries.py @@ -0,0 +1,44 @@ +from contextlib import closing + +from django.conf import settings +from django.core.management.base import BaseCommand +from django.db import connections +from django.db.utils import ProgrammingError +from materialized_queries_manager.models import MaterializedQuery + + +class Command(BaseCommand): + + help = ( + "Generates the materialized queries records as materialized views on Postgres" + ) + + def handle(self, *_, **__): + with closing(connections["achilles"].cursor()) as cursor: + for materialized_query in MaterializedQuery.objects.all(): + + cursor.execute( + "SELECT COUNT(*) FROM pg_matviews WHERE matviewname = %s", + [materialized_query.name], + ) + if cursor.fetchone()[0] > 0: + self.stdout.write( + f"Materialized view {materialized_query.name} already exists. Skipping.", + self.style.WARNING, + ) + continue + + try: + cursor.execute( + f"CREATE MATERIALIZED VIEW {materialized_query.name} AS {materialized_query.query}" + ) + + cursor.execute( + f"GRANT SELECT ON {materialized_query.name} TO {settings.POSTGRES_SUPERSET_USER}" + ) + except ProgrammingError as e: + self.stderr.write( + f"Invalid sql on query '{materialized_query.name}'. Skipping. You should edit the sql query " + f"under the admin app and the materialized views will be created. Error: {e}", + self.style.ERROR, + ) diff --git a/dashboard_viewer/materialized_queries_manager/models.py b/dashboard_viewer/materialized_queries_manager/models.py index 3a609204..79182895 100644 --- a/dashboard_viewer/materialized_queries_manager/models.py +++ b/dashboard_viewer/materialized_queries_manager/models.py @@ -53,7 +53,16 @@ def full_clean(self, exclude=None, validate_unique=True): with closing(connections["achilles"].cursor()) as cursor: if self.id: old = MaterializedQuery.objects.get(id=self.id) - if old.name != self.name and old.query == self.query: + + cursor.execute( + "SELECT COUNT(*) FROM pg_matviews WHERE matviewname = %s", + [old.name], + ) + old_exists = cursor.fetchone()[0] > 0 + + if not old_exists: + self._create_materialized_view(cursor) + elif old.name != self.name and old.query == self.query: cursor.execute( f"ALTER MATERIALIZED VIEW {old.name} RENAME TO {self.name}" ) diff --git a/dashboard_viewer/tabsManager/fixtures/initial_data.json b/dashboard_viewer/tabsManager/fixtures/initial_data.json new file mode 100644 index 00000000..1cf5b6f9 --- /dev/null +++ b/dashboard_viewer/tabsManager/fixtures/initial_data.json @@ -0,0 +1,161 @@ +[ + { + "model": "tabsManager.button", + "pk": 1, + "fields": { + "title": "Death", + "icon": "times", + "position": 15, + "visible": true + } + }, + { + "model": "tabsManager.button", + "pk": 2, + "fields": { + "title": "Person", + "icon": "users", + "position": 5, + "visible": true + } + }, + { + "model": "tabsManager.button", + "pk": 3, + "fields": { + "title": "Visit", + "icon": "calendar-day", + "position": 12, + "visible": true + } + }, + { + "model": "tabsManager.button", + "pk": 4, + "fields": { + "title": "General Concepts", + "icon": "asterisk", + "position": 16, + "visible": true + } + }, + { + "model": "tabsManager.button", + "pk": 5, + "fields": { + "title": "Data Domains", + "icon": "table", + "position": 19, + "visible": true + } + }, + { + "model": "tabsManager.button", + "pk": 6, + "fields": { + "title": "General", + "icon": "asterisk", + "position": 1, + "visible": true + } + }, + { + "model": "tabsManager.button", + "pk": 7, + "fields": { + "title": "Population characteristics", + "icon": "globe-europe", + "position": 6, + "visible": true + } + }, + { + "model": "tabsManager.button", + "pk": 8, + "fields": { + "title": "Concepts", + "icon": "book-medical", + "position": 16, + "visible": true + } + }, + { + "model": "tabsManager.button", + "pk": 9, + "fields": { + "title": "Concept Domains", + "icon": "chart-bar", + "position": 17, + "visible": true + } + }, + { + "model": "tabsManager.tabgroup", + "pk": 1, + "fields": {} + }, + { + "model": "tabsManager.tab", + "pk": 1, + "fields": { + "url": "https://{SUPERSET_URL}/superset/dashboard/death/?standalone=true", + "group": null + } + }, + { + "model": "tabsManager.tab", + "pk": 2, + "fields": { + "url": "https://{SUPERSET_URL}/superset/dashboard/person/?standalone=true", + "group": null + } + }, + { + "model": "tabsManager.tab", + "pk": 3, + "fields": { + "url": "https://{SUPERSET_URL}/superset/dashboard/visit/?standalone=true", + "group": null + } + }, + { + "model": "tabsManager.tab", + "pk": 4, + "fields": { + "url": "https://{SUPERSET_URL}/superset/dashboard/concepts-general/?standalone=true", + "group": 1 + } + }, + { + "model": "tabsManager.tab", + "pk": 5, + "fields": { + "url": "https://{SUPERSET_URL}/superset/dashboard/data-domains/?standalone=true", + "group": null + } + }, + { + "model": "tabsManager.tab", + "pk": 6, + "fields": { + "url": "https://{SUPERSET_URL}/superset/dashboard/general/?standalone=true", + "group": null + } + }, + { + "model": "tabsManager.tab", + "pk": 7, + "fields": { + "url": "https://{SUPERSET_URL}/superset/dashboard/period/?standalone=true", + "group": null + } + }, + { + "model": "tabsManager.tab", + "pk": 8, + "fields": { + "url": "https://{SUPERSET_URL}/superset/dashboard/concepts-domains/?standalone=true", + "group": 1 + } + } +] diff --git a/dashboard_viewer/uploader/fixtures/country_initial_data.json b/dashboard_viewer/uploader/fixtures/country_initial_data.json new file mode 100644 index 00000000..c85a995a --- /dev/null +++ b/dashboard_viewer/uploader/fixtures/country_initial_data.json @@ -0,0 +1,1994 @@ +[ + { + "model": "uploader.country", + "pk": 1, + "fields": { + "country": "Afghanistan", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 2, + "fields": { + "country": "Aland Islands", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 3, + "fields": { + "country": "Albania", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 4, + "fields": { + "country": "Algeria", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 5, + "fields": { + "country": "American Samoa", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 6, + "fields": { + "country": "Andorra", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 7, + "fields": { + "country": "Angola", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 8, + "fields": { + "country": "Anguilla", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 9, + "fields": { + "country": "Antarctica", + "continent": "" + } + }, + { + "model": "uploader.country", + "pk": 10, + "fields": { + "country": "Antigua and Barbuda", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 11, + "fields": { + "country": "Argentina", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 12, + "fields": { + "country": "Armenia", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 13, + "fields": { + "country": "Aruba", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 14, + "fields": { + "country": "Australia", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 15, + "fields": { + "country": "Austria", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 16, + "fields": { + "country": "Azerbaijan", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 17, + "fields": { + "country": "Bahamas", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 18, + "fields": { + "country": "Bahrain", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 19, + "fields": { + "country": "Bangladesh", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 20, + "fields": { + "country": "Barbados", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 21, + "fields": { + "country": "Belarus", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 22, + "fields": { + "country": "Belgium", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 23, + "fields": { + "country": "Belize", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 24, + "fields": { + "country": "Benin", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 25, + "fields": { + "country": "Bermuda", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 26, + "fields": { + "country": "Bhutan", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 27, + "fields": { + "country": "Bolivia (Plurinational State of)", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 28, + "fields": { + "country": "Bonaire, Sint Eustatius and Saba", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 29, + "fields": { + "country": "Bosnia and Herzegovina", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 30, + "fields": { + "country": "Botswana", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 31, + "fields": { + "country": "Bouvet Island", + "continent": "" + } + }, + { + "model": "uploader.country", + "pk": 32, + "fields": { + "country": "Brazil", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 33, + "fields": { + "country": "British Indian Ocean Territory", + "continent": "" + } + }, + { + "model": "uploader.country", + "pk": 34, + "fields": { + "country": "Brunei Darussalam", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 35, + "fields": { + "country": "Bulgaria", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 36, + "fields": { + "country": "Burkina Faso", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 37, + "fields": { + "country": "Burundi", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 38, + "fields": { + "country": "Cambodia", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 39, + "fields": { + "country": "Cameroon", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 40, + "fields": { + "country": "Canada", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 41, + "fields": { + "country": "Cabo Verde", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 42, + "fields": { + "country": "Cayman Islands", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 43, + "fields": { + "country": "Central African Republic", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 44, + "fields": { + "country": "Chad", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 45, + "fields": { + "country": "Chile", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 46, + "fields": { + "country": "China", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 47, + "fields": { + "country": "Christmas Island", + "continent": "" + } + }, + { + "model": "uploader.country", + "pk": 48, + "fields": { + "country": "Cocos (Keeling) Islands", + "continent": "" + } + }, + { + "model": "uploader.country", + "pk": 49, + "fields": { + "country": "Colombia", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 50, + "fields": { + "country": "Comoros", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 51, + "fields": { + "country": "Congo", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 52, + "fields": { + "country": "Congo (Democratic Republic of the)", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 53, + "fields": { + "country": "Cook Islands", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 54, + "fields": { + "country": "Costa Rica", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 55, + "fields": { + "country": "C\u00f4te d'Ivoire", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 56, + "fields": { + "country": "Croatia", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 57, + "fields": { + "country": "Cuba", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 58, + "fields": { + "country": "Cura\u00e7ao", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 59, + "fields": { + "country": "Cyprus", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 60, + "fields": { + "country": "Czech Republic", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 61, + "fields": { + "country": "Denmark", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 62, + "fields": { + "country": "Djibouti", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 63, + "fields": { + "country": "Dominica", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 64, + "fields": { + "country": "Dominican Republic", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 65, + "fields": { + "country": "Ecuador", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 66, + "fields": { + "country": "Egypt", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 67, + "fields": { + "country": "El Salvador", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 68, + "fields": { + "country": "Equatorial Guinea", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 69, + "fields": { + "country": "Eritrea", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 70, + "fields": { + "country": "Estonia", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 71, + "fields": { + "country": "Ethiopia", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 72, + "fields": { + "country": "Falkland Islands (Malvinas)", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 73, + "fields": { + "country": "Faroe Islands", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 74, + "fields": { + "country": "Fiji", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 75, + "fields": { + "country": "Finland", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 76, + "fields": { + "country": "France", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 77, + "fields": { + "country": "French Guiana", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 78, + "fields": { + "country": "French Polynesia", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 79, + "fields": { + "country": "French Southern Territories", + "continent": "" + } + }, + { + "model": "uploader.country", + "pk": 80, + "fields": { + "country": "Gabon", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 81, + "fields": { + "country": "Gambia", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 82, + "fields": { + "country": "Georgia", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 83, + "fields": { + "country": "Germany", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 84, + "fields": { + "country": "Ghana", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 85, + "fields": { + "country": "Gibraltar", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 86, + "fields": { + "country": "Greece", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 87, + "fields": { + "country": "Greenland", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 88, + "fields": { + "country": "Grenada", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 89, + "fields": { + "country": "Guadeloupe", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 90, + "fields": { + "country": "Guam", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 91, + "fields": { + "country": "Guatemala", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 92, + "fields": { + "country": "Guernsey", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 93, + "fields": { + "country": "Guinea", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 94, + "fields": { + "country": "Guinea-Bissau", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 95, + "fields": { + "country": "Guyana", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 96, + "fields": { + "country": "Haiti", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 97, + "fields": { + "country": "Heard Island and McDonald Islands", + "continent": "" + } + }, + { + "model": "uploader.country", + "pk": 98, + "fields": { + "country": "Holy See", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 99, + "fields": { + "country": "Honduras", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 100, + "fields": { + "country": "Hong Kong", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 101, + "fields": { + "country": "Hungary", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 102, + "fields": { + "country": "Iceland", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 103, + "fields": { + "country": "India", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 104, + "fields": { + "country": "Indonesia", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 105, + "fields": { + "country": "Iran (Islamic Republic of)", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 106, + "fields": { + "country": "Iraq", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 107, + "fields": { + "country": "Ireland", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 108, + "fields": { + "country": "Isle of Man", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 109, + "fields": { + "country": "Israel", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 110, + "fields": { + "country": "Italy", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 111, + "fields": { + "country": "Jamaica", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 112, + "fields": { + "country": "Japan", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 113, + "fields": { + "country": "Jersey", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 114, + "fields": { + "country": "Jordan", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 115, + "fields": { + "country": "Kazakhstan", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 116, + "fields": { + "country": "Kenya", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 117, + "fields": { + "country": "Kiribati", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 118, + "fields": { + "country": "Korea (Democratic People's Republic of)", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 119, + "fields": { + "country": "Korea (Republic of)", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 120, + "fields": { + "country": "Kuwait", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 121, + "fields": { + "country": "Kyrgyzstan", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 122, + "fields": { + "country": "Lao People's Democratic Republic", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 123, + "fields": { + "country": "Latvia", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 124, + "fields": { + "country": "Lebanon", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 125, + "fields": { + "country": "Lesotho", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 126, + "fields": { + "country": "Liberia", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 127, + "fields": { + "country": "Libya", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 128, + "fields": { + "country": "Liechtenstein", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 129, + "fields": { + "country": "Lithuania", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 130, + "fields": { + "country": "Luxembourg", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 131, + "fields": { + "country": "Macao", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 132, + "fields": { + "country": "Macedonia (the former Yugoslav Republic of)", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 133, + "fields": { + "country": "Madagascar", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 134, + "fields": { + "country": "Malawi", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 135, + "fields": { + "country": "Malaysia", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 136, + "fields": { + "country": "Maldives", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 137, + "fields": { + "country": "Mali", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 138, + "fields": { + "country": "Malta", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 139, + "fields": { + "country": "Marshall Islands", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 140, + "fields": { + "country": "Martinique", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 141, + "fields": { + "country": "Mauritania", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 142, + "fields": { + "country": "Mauritius", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 143, + "fields": { + "country": "Mayotte", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 144, + "fields": { + "country": "Mexico", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 145, + "fields": { + "country": "Micronesia (Federated States of)", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 146, + "fields": { + "country": "Moldova (Republic of)", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 147, + "fields": { + "country": "Monaco", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 148, + "fields": { + "country": "Mongolia", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 149, + "fields": { + "country": "Montenegro", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 150, + "fields": { + "country": "Montserrat", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 151, + "fields": { + "country": "Morocco", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 152, + "fields": { + "country": "Mozambique", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 153, + "fields": { + "country": "Myanmar", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 154, + "fields": { + "country": "Namibia", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 155, + "fields": { + "country": "Nauru", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 156, + "fields": { + "country": "Nepal", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 157, + "fields": { + "country": "Netherlands", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 158, + "fields": { + "country": "New Caledonia", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 159, + "fields": { + "country": "New Zealand", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 160, + "fields": { + "country": "Nicaragua", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 161, + "fields": { + "country": "Niger", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 162, + "fields": { + "country": "Nigeria", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 163, + "fields": { + "country": "Niue", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 164, + "fields": { + "country": "Norfolk Island", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 165, + "fields": { + "country": "Northern Mariana Islands", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 166, + "fields": { + "country": "Norway", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 167, + "fields": { + "country": "Oman", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 168, + "fields": { + "country": "Pakistan", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 169, + "fields": { + "country": "Palau", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 170, + "fields": { + "country": "Palestine, State of", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 171, + "fields": { + "country": "Panama", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 172, + "fields": { + "country": "Papua New Guinea", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 173, + "fields": { + "country": "Paraguay", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 174, + "fields": { + "country": "Peru", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 175, + "fields": { + "country": "Philippines", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 176, + "fields": { + "country": "Pitcairn", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 177, + "fields": { + "country": "Poland", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 178, + "fields": { + "country": "Portugal", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 179, + "fields": { + "country": "Puerto Rico", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 180, + "fields": { + "country": "Qatar", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 181, + "fields": { + "country": "R\u00e9union", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 182, + "fields": { + "country": "Romania", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 183, + "fields": { + "country": "Russian Federation", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 184, + "fields": { + "country": "Rwanda", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 185, + "fields": { + "country": "Saint Barth\u00e9lemy", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 186, + "fields": { + "country": "Saint Helena, Ascension and Tristan da Cunha", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 187, + "fields": { + "country": "Saint Kitts and Nevis", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 188, + "fields": { + "country": "Saint Lucia", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 189, + "fields": { + "country": "Saint Martin (French part)", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 190, + "fields": { + "country": "Saint Pierre and Miquelon", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 191, + "fields": { + "country": "Saint Vincent and the Grenadines", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 192, + "fields": { + "country": "Samoa", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 193, + "fields": { + "country": "San Marino", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 194, + "fields": { + "country": "Sao Tome and Principe", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 195, + "fields": { + "country": "Saudi Arabia", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 196, + "fields": { + "country": "Senegal", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 197, + "fields": { + "country": "Serbia", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 198, + "fields": { + "country": "Seychelles", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 199, + "fields": { + "country": "Sierra Leone", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 200, + "fields": { + "country": "Singapore", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 201, + "fields": { + "country": "Sint Maarten (Dutch part)", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 202, + "fields": { + "country": "Slovakia", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 203, + "fields": { + "country": "Slovenia", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 204, + "fields": { + "country": "Solomon Islands", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 205, + "fields": { + "country": "Somalia", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 206, + "fields": { + "country": "South Africa", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 207, + "fields": { + "country": "South Georgia and the South Sandwich Islands", + "continent": "" + } + }, + { + "model": "uploader.country", + "pk": 208, + "fields": { + "country": "South Sudan", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 209, + "fields": { + "country": "Spain", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 210, + "fields": { + "country": "Sri Lanka", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 211, + "fields": { + "country": "Sudan", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 212, + "fields": { + "country": "Suriname", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 213, + "fields": { + "country": "Svalbard and Jan Mayen", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 214, + "fields": { + "country": "Swaziland", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 215, + "fields": { + "country": "Sweden", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 216, + "fields": { + "country": "Switzerland", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 217, + "fields": { + "country": "Syrian Arab Republic", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 218, + "fields": { + "country": "Taiwan, Province of China", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 219, + "fields": { + "country": "Tajikistan", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 220, + "fields": { + "country": "Tanzania, United Republic of", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 221, + "fields": { + "country": "Thailand", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 222, + "fields": { + "country": "Timor-Leste", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 223, + "fields": { + "country": "Togo", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 224, + "fields": { + "country": "Tokelau", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 225, + "fields": { + "country": "Tonga", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 226, + "fields": { + "country": "Trinidad and Tobago", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 227, + "fields": { + "country": "Tunisia", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 228, + "fields": { + "country": "Turkey", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 229, + "fields": { + "country": "Turkmenistan", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 230, + "fields": { + "country": "Turks and Caicos Islands", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 231, + "fields": { + "country": "Tuvalu", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 232, + "fields": { + "country": "Uganda", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 233, + "fields": { + "country": "Ukraine", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 234, + "fields": { + "country": "United Arab Emirates", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 235, + "fields": { + "country": "United Kingdom of Great Britain and Northern Ireland", + "continent": "Europe" + } + }, + { + "model": "uploader.country", + "pk": 236, + "fields": { + "country": "United States of America", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 237, + "fields": { + "country": "United States Minor Outlying Islands", + "continent": "" + } + }, + { + "model": "uploader.country", + "pk": 238, + "fields": { + "country": "Uruguay", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 239, + "fields": { + "country": "Uzbekistan", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 240, + "fields": { + "country": "Vanuatu", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 241, + "fields": { + "country": "Venezuela (Bolivarian Republic of)", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 242, + "fields": { + "country": "Viet Nam", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 243, + "fields": { + "country": "Virgin Islands (British)", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 244, + "fields": { + "country": "Virgin Islands (U.S.)", + "continent": "Americas" + } + }, + { + "model": "uploader.country", + "pk": 245, + "fields": { + "country": "Wallis and Futuna", + "continent": "Oceania" + } + }, + { + "model": "uploader.country", + "pk": 246, + "fields": { + "country": "Western Sahara", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 247, + "fields": { + "country": "Yemen", + "continent": "Asia" + } + }, + { + "model": "uploader.country", + "pk": 248, + "fields": { + "country": "Zambia", + "continent": "Africa" + } + }, + { + "model": "uploader.country", + "pk": 249, + "fields": { + "country": "Zimbabwe", + "continent": "Africa" + } + } +] diff --git a/dashboard_viewer/uploader/management/__init__.py b/dashboard_viewer/uploader/management/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/dashboard_viewer/uploader/management/commands/__init__.py b/dashboard_viewer/uploader/management/commands/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/dashboard_viewer/uploader/management/commands/populate_countries.py b/dashboard_viewer/uploader/management/commands/populate_countries.py deleted file mode 100644 index 58607170..00000000 --- a/dashboard_viewer/uploader/management/commands/populate_countries.py +++ /dev/null @@ -1,269 +0,0 @@ -from django.core.management.base import BaseCommand -from uploader.models import Country - - -class Command(BaseCommand): - help = "This command will populate the database with the countries and continents" - - def handle(self, *args, **options): - listOfCountries = self.getCountries() - entries = [] - for country in listOfCountries: - entries.append(Country(country=country, continent=listOfCountries[country])) - try: - Country.objects.bulk_create(entries) - except Exception as ex: - print(ex) - - def getCountries(self): - return { - "Afghanistan": "Asia", - "Aland Islands": "Europe", - "Albania": "Europe", - "Algeria": "Africa", - "American Samoa": "Oceania", - "Andorra": "Europe", - "Angola": "Africa", - "Anguilla": "Americas", - "Antarctica": "", - "Antigua and Barbuda": "Americas", - "Argentina": "Americas", - "Armenia": "Asia", - "Aruba": "Americas", - "Australia": "Oceania", - "Austria": "Europe", - "Azerbaijan": "Asia", - "Bahamas": "Americas", - "Bahrain": "Asia", - "Bangladesh": "Asia", - "Barbados": "Americas", - "Belarus": "Europe", - "Belgium": "Europe", - "Belize": "Americas", - "Benin": "Africa", - "Bermuda": "Americas", - "Bhutan": "Asia", - "Bolivia (Plurinational State of)": "Americas", - "Bonaire, Sint Eustatius and Saba": "Americas", - "Bosnia and Herzegovina": "Europe", - "Botswana": "Africa", - "Bouvet Island": "", - "Brazil": "Americas", - "British Indian Ocean Territory": "", - "Brunei Darussalam": "Asia", - "Bulgaria": "Europe", - "Burkina Faso": "Africa", - "Burundi": "Africa", - "Cambodia": "Asia", - "Cameroon": "Africa", - "Canada": "Americas", - "Cabo Verde": "Africa", - "Cayman Islands": "Americas", - "Central African Republic": "Africa", - "Chad": "Africa", - "Chile": "Americas", - "China": "Asia", - "Christmas Island": "", - "Cocos (Keeling) Islands": "", - "Colombia": "Americas", - "Comoros": "Africa", - "Congo": "Africa", - "Congo (Democratic Republic of the)": "Africa", - "Cook Islands": "Oceania", - "Costa Rica": "Americas", - "Côte d'Ivoire": "Africa", - "Croatia": "Europe", - "Cuba": "Americas", - "Curaçao": "Americas", - "Cyprus": "Asia", - "Czech Republic": "Europe", - "Denmark": "Europe", - "Djibouti": "Africa", - "Dominica": "Americas", - "Dominican Republic": "Americas", - "Ecuador": "Americas", - "Egypt": "Africa", - "El Salvador": "Americas", - "Equatorial Guinea": "Africa", - "Eritrea": "Africa", - "Estonia": "Europe", - "Ethiopia": "Africa", - "Falkland Islands (Malvinas)": "Americas", - "Faroe Islands": "Europe", - "Fiji": "Oceania", - "Finland": "Europe", - "France": "Europe", - "French Guiana": "Americas", - "French Polynesia": "Oceania", - "French Southern Territories": "", - "Gabon": "Africa", - "Gambia": "Africa", - "Georgia": "Asia", - "Germany": "Europe", - "Ghana": "Africa", - "Gibraltar": "Europe", - "Greece": "Europe", - "Greenland": "Americas", - "Grenada": "Americas", - "Guadeloupe": "Americas", - "Guam": "Oceania", - "Guatemala": "Americas", - "Guernsey": "Europe", - "Guinea": "Africa", - "Guinea-Bissau": "Africa", - "Guyana": "Americas", - "Haiti": "Americas", - "Heard Island and McDonald Islands": "", - "Holy See": "Europe", - "Honduras": "Americas", - "Hong Kong": "Asia", - "Hungary": "Europe", - "Iceland": "Europe", - "India": "Asia", - "Indonesia": "Asia", - "Iran (Islamic Republic of)": "Asia", - "Iraq": "Asia", - "Ireland": "Europe", - "Isle of Man": "Europe", - "Israel": "Asia", - "Italy": "Europe", - "Jamaica": "Americas", - "Japan": "Asia", - "Jersey": "Europe", - "Jordan": "Asia", - "Kazakhstan": "Asia", - "Kenya": "Africa", - "Kiribati": "Oceania", - "Korea (Democratic People's Republic of)": "Asia", - "Korea (Republic of)": "Asia", - "Kuwait": "Asia", - "Kyrgyzstan": "Asia", - "Lao People's Democratic Republic": "Asia", - "Latvia": "Europe", - "Lebanon": "Asia", - "Lesotho": "Africa", - "Liberia": "Africa", - "Libya": "Africa", - "Liechtenstein": "Europe", - "Lithuania": "Europe", - "Luxembourg": "Europe", - "Macao": "Asia", - "Macedonia (the former Yugoslav Republic of)": "Europe", - "Madagascar": "Africa", - "Malawi": "Africa", - "Malaysia": "Asia", - "Maldives": "Asia", - "Mali": "Africa", - "Malta": "Europe", - "Marshall Islands": "Oceania", - "Martinique": "Americas", - "Mauritania": "Africa", - "Mauritius": "Africa", - "Mayotte": "Africa", - "Mexico": "Americas", - "Micronesia (Federated States of)": "Oceania", - "Moldova (Republic of)": "Europe", - "Monaco": "Europe", - "Mongolia": "Asia", - "Montenegro": "Europe", - "Montserrat": "Americas", - "Morocco": "Africa", - "Mozambique": "Africa", - "Myanmar": "Asia", - "Namibia": "Africa", - "Nauru": "Oceania", - "Nepal": "Asia", - "Netherlands": "Europe", - "New Caledonia": "Oceania", - "New Zealand": "Oceania", - "Nicaragua": "Americas", - "Niger": "Africa", - "Nigeria": "Africa", - "Niue": "Oceania", - "Norfolk Island": "Oceania", - "Northern Mariana Islands": "Oceania", - "Norway": "Europe", - "Oman": "Asia", - "Pakistan": "Asia", - "Palau": "Oceania", - "Palestine, State of": "Asia", - "Panama": "Americas", - "Papua New Guinea": "Oceania", - "Paraguay": "Americas", - "Peru": "Americas", - "Philippines": "Asia", - "Pitcairn": "Oceania", - "Poland": "Europe", - "Portugal": "Europe", - "Puerto Rico": "Americas", - "Qatar": "Asia", - "Réunion": "Africa", - "Romania": "Europe", - "Russian Federation": "Europe", - "Rwanda": "Africa", - "Saint Barthélemy": "Americas", - "Saint Helena, Ascension and Tristan da Cunha": "Africa", - "Saint Kitts and Nevis": "Americas", - "Saint Lucia": "Americas", - "Saint Martin (French part)": "Americas", - "Saint Pierre and Miquelon": "Americas", - "Saint Vincent and the Grenadines": "Americas", - "Samoa": "Oceania", - "San Marino": "Europe", - "Sao Tome and Principe": "Africa", - "Saudi Arabia": "Asia", - "Senegal": "Africa", - "Serbia": "Europe", - "Seychelles": "Africa", - "Sierra Leone": "Africa", - "Singapore": "Asia", - "Sint Maarten (Dutch part)": "Americas", - "Slovakia": "Europe", - "Slovenia": "Europe", - "Solomon Islands": "Oceania", - "Somalia": "Africa", - "South Africa": "Africa", - "South Georgia and the South Sandwich Islands": "", - "South Sudan": "Africa", - "Spain": "Europe", - "Sri Lanka": "Asia", - "Sudan": "Africa", - "Suriname": "Americas", - "Svalbard and Jan Mayen": "Europe", - "Swaziland": "Africa", - "Sweden": "Europe", - "Switzerland": "Europe", - "Syrian Arab Republic": "Asia", - "Taiwan, Province of China": "Asia", - "Tajikistan": "Asia", - "Tanzania, United Republic of": "Africa", - "Thailand": "Asia", - "Timor-Leste": "Asia", - "Togo": "Africa", - "Tokelau": "Oceania", - "Tonga": "Oceania", - "Trinidad and Tobago": "Americas", - "Tunisia": "Africa", - "Turkey": "Asia", - "Turkmenistan": "Asia", - "Turks and Caicos Islands": "Americas", - "Tuvalu": "Oceania", - "Uganda": "Africa", - "Ukraine": "Europe", - "United Arab Emirates": "Asia", - "United Kingdom of Great Britain and Northern Ireland": "Europe", - "United States of America": "Americas", - "United States Minor Outlying Islands": "", - "Uruguay": "Americas", - "Uzbekistan": "Asia", - "Vanuatu": "Oceania", - "Venezuela (Bolivarian Republic of)": "Americas", - "Viet Nam": "Asia", - "Virgin Islands (British)": "Americas", - "Virgin Islands (U.S.)": "Americas", - "Wallis and Futuna": "Oceania", - "Western Sahara": "Africa", - "Yemen": "Asia", - "Zambia": "Africa", - "Zimbabwe": "Africa", - } diff --git a/docker/.env-example b/docker/.env-example index f033c0f5..b480ef42 100644 --- a/docker/.env-example +++ b/docker/.env-example @@ -14,6 +14,7 @@ POSTGRES_SUPERSET_PASSWORD=superset POSTGRES_SUPERSET_DB=superset # vv FILL VARIABLE BELOW to use the MapBox chart vv SUPERSET_MAPBOX_API_KEY=... +SUPERSET_URL=localhost:8088 POSTGRES_DASHBOARD_VIEWER_USER=cdm POSTGRES_DASHBOARD_VIEWER_PASSWORD=cdm @@ -21,7 +22,6 @@ POSTGRES_DASHBOARD_VIEWER_DB=cdm # vv CHANGE VARIABLE BELOW vv DASHBOARD_VIEWER_SECRET_KEY=secret - POSTGRES_ACHILLES_USER=achilles POSTGRES_ACHILLES_PASSWORD=achilles POSTGRES_ACHILLES_DB=achilles diff --git a/docker/README.md b/docker/README.md index ec9ed0dc..776f116d 100644 --- a/docker/README.md +++ b/docker/README.md @@ -1,28 +1,107 @@ # Setup a docker environment +## First Steps + 1. Clone the repository with the command `git clone --recurse-submodules https://github.com/EHDEN/NetworkDashboards`. If you already cloned the repository without the `--recurse-submodules` option, run `git submodule update --init` to fetch the superset submodule. -2. Create a `.env` file on the `docker` directory, using `.env-example` as reference, setting all necessary environment variables (SUPERSET\_MAPBOX\_API\_KEY and DASHBOARD\_VIEWER\_SECRET\_KEY). +2. Create a `.env` file on the `docker` directory, using `.env-example` as a reference, setting all necessary environment variables (`SUPERSET_MAPBOX_API_KEY` and `DASHBOARD_VIEWER_SECRET_KEY`). + +## Dashboard Viewer setup + +1. If you wish to expose the dashboard viewer app through a specific domain(s) you must add it/them to the `ALLOWED_HOSTS` list on file `dashboard_viewer/dashboard_viewer/settings.py` and remove the `'*'` entry. + +2. Build containers' images: `docker-compose build`. This might take several minutes. + +3. Set up the database and create an admin account for the dashboard viewer app: `docker-compose run --rm dashboard ./docker-init.sh`. + +## Insert Concepts + +The concepts table is not in the repository due to its dimension, therefore we use directly the Postgres console to insert this table in the installation. + +1. Get your concept csv file from [Athena](https://athena.ohdsi.org/) + +2. Copy the file into postgres container + + ```sh + docker cp concept.csv dashboard_viewer_postgres_1:/tmp/ + ``` + +3. Enter in the postgres container: + + ```sh + docker exec -it dashboard_viewer_postgres_1 bash + ``` + +4. Enter in the `achilles` database (value of the variable `POSTGRES_ACHILLES_DB` on the .env file) with the `root` user (value of the variable `POSTGRES_ROOT_USER` on the .env file): -3. Create a `docker-init.sh` file on `docker/superset` based on the file `docker/superset/docker-init-example.sh` to set up admin credentials for superset. + ``` + psql achilles root + ``` -4. If you wish to expose the dashboard viewer app through a specific domain(s) you must add it/them to the ALLOWED_HOSTS list on file `dashboard_viewer/dashboard_viewer/settings.py` and remove the `'*'` entry. +5. Create the `concept` table -5. Build containers' images: `docker-compose build`. This might take several minutes. + ```sql + CREATE TABLE concept ( + concept_id INTEGER NOT NULL, + concept_name VARCHAR(255) NOT NULL, + domain_id VARCHAR(20) NOT NULL, + vocabulary_id VARCHAR(20) NOT NULL, + concept_class_id VARCHAR(20) NOT NULL, + standard_concept VARCHAR(1) NULL, + concept_code VARCHAR(50) NOT NULL, + valid_start_date DATE NOT NULL, + valid_end_date DATE NOT NULL, + invalid_reason VARCHAR(1) NULL + ); + ``` -6. Set up the database for the dashboard viewer app: `docker-compose run --rm dashboard ./docker-init.sh`. +6. Copy the CSV file content to the table (this could take a while) -7. Bring up the containers: `docker-compose up -d`. + To get both `'` (single quotes) and `"` (double quotes) on the `concept_name` column we use a workaround by setting the quote character to one that should never be in the text. Here we used `\b` (backslash). -8. If you used the default ports: + ```sql + COPY public.concept FROM '/tmp/concept.csv' WITH CSV HEADER + DELIMITER E'\t' QUOTE E'\b'; + ``` + +7. Create index in table (this could take a while): + + ```sql + CREATE INDEX concept_concept_id_index ON concept (concept_id); + CREATE INDEX concept_concept_name_index ON concept (concept_name); + ``` + +8. Set the owner of the `concept` table to the `achilles` user (value of the variable `POSTGRES_ACHILLES_USER` on the .env file): + + ``` + ALTER TABLE concept OWNER TO achiller + ``` + +9. Bring up the containers: `docker-compose up -d`. + +10. Run the command `docker-compose run --rm dashboard python manage.py generate_materialized_views` to create the materialized views on Postgres. + +## Superset setup + +1. Make sure that the container `superset-init` has finished before continuing. It is creating the necessary tables on the database and creating permissions and roles. + +2. Execute the script `./superset/one_time_run_scripts/superset-init.sh`. This will create an admin account and associate the `achilles` database to Superset. **Attention:** You must be in the docker directory to execute this script. + +3. We have already built some dashboards so if you want to import them run the script `./superset/one_time_run_scripts/load_dashboards.sh`. **Attention:** You must be in the docker directory to execute this script. + +4. If you used the default ports: - Go to `http://localhost` to access the dashboard viewer app. - Go to `http://localhost:8088` to access superset. -9. On release 0.37 of superset there is a bug related to the public role and because of that we had to set `PUBLIC_ROLE_LIKE_GAMMA = True` on superset settings. This leads the public role with permissions that he shouldn't have. To solve this, so any anonymous user can view dashboards, you should remove all its permissions and then add the following: +5. On release 0.37 of Superset, there is a bug related to the public role and because of that, we had to set `PUBLIC_ROLE_LIKE_GAMMA = True` on Superset settings. This leads the public role with permissions that he shouldn't have. To solve this, so any anonymous user can view dashboards, you should remove all its permissions and then add the following: - can explore JSON on Superset - can dashboard on Superset - all datasource access on all_datasource_access - can csrf token on Superset - can list on CssTemplateAsyncModelView + +## Dummy data + +On a fresh installation, there are no achilles_results data so Superset's dashboards will display "No results". On the root of this repository, you can find the `demo` directory where we have an ACHILLES results file with synthetic data that you can upload to a data source on the uploader app of the dashboard viewer (localhost/uploader). If you wish to compare multiple data sources, on the `demo` directory the is also a python script that allows you to generate new ACHILLES results files, where it generates random count values based on the ranges of values for each set of analysis_id and stratums present on a base ACHILLES results file. So, from the one ACHILLES results fill we provided, you can have multiple data sources with different data. diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index b4cdb679..b05d5741 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -41,7 +41,6 @@ services: superset-init: build: *superset-app-build - container_name: superset_init command: ["/app/docker-init.sh"] environment: *superset-environment depends_on: *superset-depends-on @@ -51,7 +50,6 @@ services: superset-worker: build: *superset-app-build - container_name: superset_worker command: ["celery", "worker", "--app=superset.tasks.celery_app:app", "-Ofair", "-l", "INFO"] restart: unless-stopped environment: *superset-environment @@ -94,7 +92,7 @@ services: - ${NGINX_PORT}:80 volumes: - ./nginx-config:/etc/nginx/conf.d - - ./static:/static/dashboard + - dashboard_static:/static/dashboard - ../dashboard_viewer/media:/media depends_on: - dashboard @@ -122,6 +120,7 @@ services: REDIS_CONSTANCE_DB: 2 SECRET_KEY: ${DASHBOARD_VIEWER_SECRET_KEY} DASHBOARD_VIEWER_ENV: ${INSTALLATION_ENV} + SUPERSET_URL: ${SUPERSET_URL} # ports for development #ports: # - ${DASHBOARD_VIEWER_PORT}:8000 @@ -132,7 +131,7 @@ services: # required, to keep the achilles files outside - ./volumes/achilles_results_files:/app/achilles_results_files # production - - ./static:/app/static + - dashboard_static:/app/static - ../dashboard_viewer/media:/app/media # development #- ../dashboard_viewer:/app @@ -141,6 +140,7 @@ services: volumes: superset_home: + dashboard_static: networks: all: diff --git a/docker/superset/docker-init-example.sh b/docker/superset/docker-init-example.sh deleted file mode 100755 index 92bab5be..00000000 --- a/docker/superset/docker-init-example.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env bash - -# Based on https://github.com/apache/incubator-superset/blob/0.37.0rc3/docker/docker-init.sh - -set -e - -STEP_CNT=3 - -echo_step() { -cat <> CHANGE THE VALUES BELOW << -echo_step "1" "Starting" "Setting up admin user ( admin / admin )" -superset fab create-admin \ - --username admin \ - --firstname Superset \ - --lastname Admin \ - --email admin@superset.com \ - --password admin -echo_step "1" "Complete" "Setting up admin user" - -# Initialize the database -echo_step "2" "Starting" "Applying DB migrations" -superset db upgrade -echo_step "2" "Complete" "Applying DB migrations" - -# Create default roles and permissions -echo_step "3" "Starting" "Setting up roles and perms" -superset init -echo_step "3" "Complete" "Setting up roles and perms" diff --git a/docker/superset/docker-init.sh b/docker/superset/docker-init.sh new file mode 100755 index 00000000..68126298 --- /dev/null +++ b/docker/superset/docker-init.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +# Based on https://github.com/apache/incubator-superset/blob/0.37.0rc3/docker/docker-init.sh + +set -e + +STEP_CNT=2 + +echo_step() { +cat < .dragdroppable.dragdroppable-row > .with-popover-menu {\r\n display: none;\r\n}\r\n#TABS-nlIU6H5mcT-pane-1 g.x.axis > g.tick text { /* WARNING panel 1 id hardcoded */\r\n display: none;\r\n}\r\n#TABS-nlIU6H5mcT-pane-2 g.nv-x.nv-axis.nvd3-svg > g.nvd3.nv-wrap.nv-axis > g > g.tick.zero > text { /* WARNING panel 2 id hardcoded */\r\n display: none;\r\n}", + "dashboard_title": "Database-Level Dashboard", + "description": null, + "json_metadata": "{\"timed_refresh_immune_slices\": [], \"filter_scopes\": {\"69\": {\"acronym\": {\"scope\": [\"ROOT_ID\"], \"immune\": []}}}, \"label_colors\": {\"FEMALE\": \"#FF3399\", \"MALE\": \"#3366FF\"}, \"expanded_slices\": {}, \"refresh_frequency\": 0, \"default_filters\": \"{\\\"69\\\": {\\\"acronym\\\": \\\"IPCI\\\"}}\", \"remote_id\": 19}", + "position_json": "{\"CHART--U7FhhFU0n\":{\"children\":[],\"id\":\"CHART--U7FhhFU0n\",\"meta\":{\"chartId\":68,\"height\":68,\"sliceName\":\"Total number of records\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-lo9-e021A\",\"ROW-c7LNEIpMK\"],\"type\":\"CHART\"},\"CHART-BnOwzcVjwq\":{\"children\":[],\"id\":\"CHART-BnOwzcVjwq\",\"meta\":{\"chartId\":95,\"height\":47,\"sliceName\":\"Number of Patients in Observation Period\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-PUkaLdBdU\",\"ROW-yxon6vmxv\"],\"type\":\"CHART\"},\"CHART-DC2GMfvdJN\":{\"children\":[],\"id\":\"CHART-DC2GMfvdJN\",\"meta\":{\"chartId\":84,\"height\":17,\"sliceName\":\"Gender\",\"width\":4},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-1Fl6StuBx5\",\"ROW-17jdq6K8l\"],\"type\":\"CHART\"},\"CHART-DPUB9ta2gT\":{\"children\":[],\"id\":\"CHART-DPUB9ta2gT\",\"meta\":{\"chartId\":34,\"height\":52,\"sliceName\":\"Device Types\",\"width\":4},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-aLyXzEdoc\",\"ROW-zqFHsyZls\"],\"type\":\"CHART\"},\"CHART-Drfuexmy0I\":{\"children\":[],\"id\":\"CHART-Drfuexmy0I\",\"meta\":{\"chartId\":62,\"height\":17,\"sliceName\":\"Number of Patients\",\"width\":4},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-1Fl6StuBx5\",\"ROW-17jdq6K8l\"],\"type\":\"CHART\"},\"CHART-Gkt9C4rMun\":{\"children\":[],\"id\":\"CHART-Gkt9C4rMun\",\"meta\":{\"chartId\":29,\"height\":52,\"sliceName\":\"Observation Types\",\"width\":4},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-aLyXzEdoc\",\"ROW-zqFHsyZls\"],\"type\":\"CHART\"},\"CHART-J7QQmZ-Ufp\":{\"children\":[],\"id\":\"CHART-J7QQmZ-Ufp\",\"meta\":{\"chartId\":91,\"height\":17,\"sliceName\":\"Gender\",\"width\":4},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-1Fl6StuBx5\",\"ROW-17jdq6K8l\"],\"type\":\"CHART\"},\"CHART-J8uOhWGKGl\":{\"children\":[],\"id\":\"CHART-J8uOhWGKGl\",\"meta\":{\"chartId\":17,\"height\":68,\"sliceName\":\"Average number of records per person\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-lo9-e021A\",\"ROW-c7LNEIpMK\"],\"type\":\"CHART\"},\"CHART-NMQP-NexNU\":{\"children\":[],\"id\":\"CHART-NMQP-NexNU\",\"meta\":{\"chartId\":94,\"height\":42,\"sliceName\":\"Year of Birth\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-1Fl6StuBx5\",\"ROW-zjktEX0qt\"],\"type\":\"CHART\"},\"CHART-T8A8busKb2\":{\"children\":[],\"id\":\"CHART-T8A8busKb2\",\"meta\":{\"chartId\":93,\"height\":46,\"sliceName\":\"Age at first observation\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-1Fl6StuBx5\",\"ROW-EP-ojvMCp\"],\"type\":\"CHART\"},\"CHART-Tk6wyTFL73\":{\"children\":[],\"id\":\"CHART-Tk6wyTFL73\",\"meta\":{\"chartId\":33,\"height\":52,\"sliceName\":\"Measurement Types\",\"width\":4},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-aLyXzEdoc\",\"ROW-zqFHsyZls\"],\"type\":\"CHART\"},\"CHART-_FXLuSju69\":{\"children\":[],\"id\":\"CHART-_FXLuSju69\",\"meta\":{\"chartId\":32,\"height\":51,\"sliceName\":\"Drug Types\",\"width\":4},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-aLyXzEdoc\",\"ROW-ppWbW9IKl\"],\"type\":\"CHART\"},\"CHART-aArNLqvW80\":{\"children\":[],\"id\":\"CHART-aArNLqvW80\",\"meta\":{\"chartId\":30,\"height\":51,\"sliceName\":\"Condition Types\",\"width\":4},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-aLyXzEdoc\",\"ROW-ppWbW9IKl\"],\"type\":\"CHART\"},\"CHART-b7Yie3s0zr\":{\"children\":[],\"id\":\"CHART-b7Yie3s0zr\",\"meta\":{\"chartId\":96,\"height\":52,\"sliceName\":\"Cumulative Observation Time\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-PUkaLdBdU\",\"ROW-VN1jC3tf_\"],\"type\":\"CHART\"},\"CHART-b8BOyNmBsE\":{\"children\":[],\"id\":\"CHART-b8BOyNmBsE\",\"meta\":{\"chartId\":31,\"height\":51,\"sliceName\":\"Procedure Types\",\"width\":4},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-aLyXzEdoc\",\"ROW-ppWbW9IKl\"],\"type\":\"CHART\"},\"CHART-cts6Aap4Oo\":{\"children\":[],\"id\":\"CHART-cts6Aap4Oo\",\"meta\":{\"chartId\":69,\"height\":14,\"sliceName\":\"Datasource Filter\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-xWfSSQqtYz\"],\"type\":\"CHART\"},\"CHART-npwypfCWV5\":{\"children\":[],\"id\":\"CHART-npwypfCWV5\",\"meta\":{\"chartId\":98,\"height\":37,\"sliceName\":\"Visit Type Table\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-b_lL8cylJ\",\"ROW-sHBcSeEf8\"],\"type\":\"CHART\"},\"CHART-nv4wUtoRwh\":{\"children\":[],\"id\":\"CHART-nv4wUtoRwh\",\"meta\":{\"chartId\":92,\"height\":16,\"sliceName\":\"Age at first observation\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-1Fl6StuBx5\",\"ROW-PiEYv4mHmy\"],\"type\":\"CHART\"},\"CHART-oLeevBrQLv\":{\"children\":[],\"id\":\"CHART-oLeevBrQLv\",\"meta\":{\"chartId\":99,\"height\":76,\"sliceName\":\"Concepts - Concept Browser Table\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-AUb2Iaddv\",\"ROW-Nk_zWwzuF\"],\"type\":\"CHART\"},\"CHART-p6VOi8cYoa\":{\"children\":[],\"id\":\"CHART-p6VOi8cYoa\",\"meta\":{\"chartId\":100,\"height\":14,\"sliceName\":\"Meta Data\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-yq5Qo0uV1Q\",\"ROW-3RUdTYcB7\"],\"type\":\"CHART\"},\"CHART-wgyH1aQqS-\":{\"children\":[],\"id\":\"CHART-wgyH1aQqS-\",\"meta\":{\"chartId\":97,\"height\":65,\"sliceName\":\"Visit Type Graph\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-b_lL8cylJ\",\"ROW-g7iSpN7E8\"],\"type\":\"CHART\"},\"DASHBOARD_VERSION_KEY\":\"v2\",\"DIVIDER-2jMwEzB_SZ\":{\"children\":[],\"id\":\"DIVIDER-2jMwEzB_SZ\",\"meta\":{},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-1Fl6StuBx5\"],\"type\":\"DIVIDER\"},\"DIVIDER-C0V7ZxJS12\":{\"children\":[],\"id\":\"DIVIDER-C0V7ZxJS12\",\"meta\":{},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-lo9-e021A\"],\"type\":\"DIVIDER\"},\"DIVIDER-OZ9jF1UaHB\":{\"children\":[],\"id\":\"DIVIDER-OZ9jF1UaHB\",\"meta\":{},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-1Fl6StuBx5\"],\"type\":\"DIVIDER\"},\"DIVIDER-TYNKtcE8Cj\":{\"children\":[],\"id\":\"DIVIDER-TYNKtcE8Cj\",\"meta\":{},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-1Fl6StuBx5\"],\"type\":\"DIVIDER\"},\"DIVIDER-i00SXDBZes\":{\"children\":[],\"id\":\"DIVIDER-i00SXDBZes\",\"meta\":{},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"DIVIDER\"},\"DIVIDER-s0id6Zl6eI\":{\"children\":[],\"id\":\"DIVIDER-s0id6Zl6eI\",\"meta\":{},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-1Fl6StuBx5\"],\"type\":\"DIVIDER\"},\"GRID_ID\":{\"children\":[\"ROW-xWfSSQqtYz\",\"TABS-nlIU6H5mcT\",\"DIVIDER-i00SXDBZes\",\"HEADER-lJdlq1pvoO\"],\"id\":\"GRID_ID\",\"parents\":[\"ROOT_ID\"],\"type\":\"GRID\"},\"HEADER-lJdlq1pvoO\":{\"children\":[],\"id\":\"HEADER-lJdlq1pvoO\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\",\"headerSize\":\"SMALL_HEADER\",\"text\":\"Disclaimer: The presented data can be used for an initial feasibility assessment but should not be used for research without involvement of the data custodian\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"HEADER\"},\"HEADER_ID\":{\"id\":\"HEADER_ID\",\"meta\":{\"text\":\"Database-Level Dashboard\"},\"type\":\"HEADER\"},\"MARKDOWN-1P6SZh2_DV\":{\"children\":[],\"id\":\"MARKDOWN-1P6SZh2_DV\",\"meta\":{\"code\":\"*The Number of Patients in Observation Period plot shows the number of patients that contribute at least one day in a specific month*\",\"height\":8,\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-PUkaLdBdU\",\"ROW-A1KKTo2rMu\"],\"type\":\"MARKDOWN\"},\"MARKDOWN-6PURPT2U9h\":{\"children\":[],\"id\":\"MARKDOWN-6PURPT2U9h\",\"meta\":{\"code\":\"*The cumulative observation time plot shows the percentage of patients that have more that X days of observation time*\",\"height\":8,\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-PUkaLdBdU\",\"ROW-ad9yKOl0wu\"],\"type\":\"MARKDOWN\"},\"MARKDOWN-a7cz6lCltf\":{\"children\":[],\"id\":\"MARKDOWN-a7cz6lCltf\",\"meta\":{\"code\":\"*The concepts browser allows you to search for concepts by name or concept_id. No exact number of patients or occurrences are provided but the magnitude of both.*\",\"height\":8,\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-AUb2Iaddv\",\"ROW-IuBt5KMm3F\"],\"type\":\"MARKDOWN\"},\"MARKDOWN-lWMdOlrcwh\":{\"children\":[],\"id\":\"MARKDOWN-lWMdOlrcwh\",\"meta\":{\"code\":\"*The Data Provenance bar charts show where the data is originating from.*\",\"height\":8,\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-aLyXzEdoc\",\"ROW-lCkpd-h391\"],\"type\":\"MARKDOWN\"},\"ROOT_ID\":{\"children\":[\"GRID_ID\"],\"id\":\"ROOT_ID\",\"type\":\"ROOT\"},\"ROW-17jdq6K8l\":{\"children\":[\"CHART-Drfuexmy0I\",\"CHART-DC2GMfvdJN\",\"CHART-J7QQmZ-Ufp\"],\"id\":\"ROW-17jdq6K8l\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-1Fl6StuBx5\"],\"type\":\"ROW\"},\"ROW-3RUdTYcB7\":{\"children\":[\"CHART-p6VOi8cYoa\"],\"id\":\"ROW-3RUdTYcB7\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-yq5Qo0uV1Q\"],\"type\":\"ROW\"},\"ROW-A1KKTo2rMu\":{\"children\":[\"MARKDOWN-1P6SZh2_DV\"],\"id\":\"ROW-A1KKTo2rMu\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-PUkaLdBdU\"],\"type\":\"ROW\"},\"ROW-EP-ojvMCp\":{\"children\":[\"CHART-T8A8busKb2\"],\"id\":\"ROW-EP-ojvMCp\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-1Fl6StuBx5\"],\"type\":\"ROW\"},\"ROW-IuBt5KMm3F\":{\"children\":[\"MARKDOWN-a7cz6lCltf\"],\"id\":\"ROW-IuBt5KMm3F\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-AUb2Iaddv\"],\"type\":\"ROW\"},\"ROW-Nk_zWwzuF\":{\"children\":[\"CHART-oLeevBrQLv\"],\"id\":\"ROW-Nk_zWwzuF\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-AUb2Iaddv\"],\"type\":\"ROW\"},\"ROW-PiEYv4mHmy\":{\"children\":[\"CHART-nv4wUtoRwh\"],\"id\":\"ROW-PiEYv4mHmy\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-1Fl6StuBx5\"],\"type\":\"ROW\"},\"ROW-VN1jC3tf_\":{\"children\":[\"CHART-b7Yie3s0zr\"],\"id\":\"ROW-VN1jC3tf_\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-PUkaLdBdU\"],\"type\":\"ROW\"},\"ROW-ad9yKOl0wu\":{\"children\":[\"MARKDOWN-6PURPT2U9h\"],\"id\":\"ROW-ad9yKOl0wu\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-PUkaLdBdU\"],\"type\":\"ROW\"},\"ROW-c7LNEIpMK\":{\"children\":[\"CHART-J8uOhWGKGl\",\"CHART--U7FhhFU0n\"],\"id\":\"ROW-c7LNEIpMK\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-lo9-e021A\"],\"type\":\"ROW\"},\"ROW-g7iSpN7E8\":{\"children\":[\"CHART-wgyH1aQqS-\"],\"id\":\"ROW-g7iSpN7E8\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-b_lL8cylJ\"],\"type\":\"ROW\"},\"ROW-lCkpd-h391\":{\"children\":[\"MARKDOWN-lWMdOlrcwh\"],\"id\":\"ROW-lCkpd-h391\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-aLyXzEdoc\"],\"type\":\"ROW\"},\"ROW-ppWbW9IKl\":{\"children\":[\"CHART-_FXLuSju69\",\"CHART-aArNLqvW80\",\"CHART-b8BOyNmBsE\"],\"id\":\"ROW-ppWbW9IKl\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-aLyXzEdoc\"],\"type\":\"ROW\"},\"ROW-sHBcSeEf8\":{\"children\":[\"CHART-npwypfCWV5\"],\"id\":\"ROW-sHBcSeEf8\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-b_lL8cylJ\"],\"type\":\"ROW\"},\"ROW-xWfSSQqtYz\":{\"children\":[\"CHART-cts6Aap4Oo\"],\"id\":\"ROW-xWfSSQqtYz\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-yxon6vmxv\":{\"children\":[\"CHART-BnOwzcVjwq\"],\"id\":\"ROW-yxon6vmxv\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-PUkaLdBdU\"],\"type\":\"ROW\"},\"ROW-zjktEX0qt\":{\"children\":[\"CHART-NMQP-NexNU\"],\"id\":\"ROW-zjktEX0qt\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-1Fl6StuBx5\"],\"type\":\"ROW\"},\"ROW-zqFHsyZls\":{\"children\":[\"CHART-DPUB9ta2gT\",\"CHART-Gkt9C4rMun\",\"CHART-Tk6wyTFL73\"],\"id\":\"ROW-zqFHsyZls\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\",\"TAB-aLyXzEdoc\"],\"type\":\"ROW\"},\"TAB-1Fl6StuBx5\":{\"children\":[\"DIVIDER-2jMwEzB_SZ\",\"ROW-17jdq6K8l\",\"DIVIDER-OZ9jF1UaHB\",\"ROW-PiEYv4mHmy\",\"DIVIDER-s0id6Zl6eI\",\"ROW-EP-ojvMCp\",\"DIVIDER-TYNKtcE8Cj\",\"ROW-zjktEX0qt\"],\"id\":\"TAB-1Fl6StuBx5\",\"meta\":{\"text\":\"Demographics\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\"],\"type\":\"TAB\"},\"TAB-AUb2Iaddv\":{\"children\":[\"ROW-IuBt5KMm3F\",\"ROW-Nk_zWwzuF\"],\"id\":\"TAB-AUb2Iaddv\",\"meta\":{\"text\":\"Concept Browser\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\"],\"type\":\"TAB\"},\"TAB-PUkaLdBdU\":{\"children\":[\"ROW-A1KKTo2rMu\",\"ROW-yxon6vmxv\",\"ROW-ad9yKOl0wu\",\"ROW-VN1jC3tf_\"],\"id\":\"TAB-PUkaLdBdU\",\"meta\":{\"text\":\"Observation Period\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\"],\"type\":\"TAB\"},\"TAB-aLyXzEdoc\":{\"children\":[\"ROW-lCkpd-h391\",\"ROW-ppWbW9IKl\",\"ROW-zqFHsyZls\"],\"id\":\"TAB-aLyXzEdoc\",\"meta\":{\"text\":\"Data Provenance\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\"],\"type\":\"TAB\"},\"TAB-b_lL8cylJ\":{\"children\":[\"ROW-g7iSpN7E8\",\"ROW-sHBcSeEf8\"],\"id\":\"TAB-b_lL8cylJ\",\"meta\":{\"text\":\"Visit\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\"],\"type\":\"TAB\"},\"TAB-lo9-e021A\":{\"children\":[\"DIVIDER-C0V7ZxJS12\",\"ROW-c7LNEIpMK\"],\"id\":\"TAB-lo9-e021A\",\"meta\":{\"text\":\"Data Domains\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\"],\"type\":\"TAB\"},\"TAB-yq5Qo0uV1Q\":{\"children\":[\"ROW-3RUdTYcB7\"],\"id\":\"TAB-yq5Qo0uV1Q\",\"meta\":{\"text\":\"Meta Data\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-nlIU6H5mcT\"],\"type\":\"TAB\"},\"TABS-nlIU6H5mcT\":{\"children\":[\"TAB-1Fl6StuBx5\",\"TAB-lo9-e021A\",\"TAB-aLyXzEdoc\",\"TAB-PUkaLdBdU\",\"TAB-b_lL8cylJ\",\"TAB-AUb2Iaddv\",\"TAB-yq5Qo0uV1Q\"],\"id\":\"TABS-nlIU6H5mcT\",\"meta\":{},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"TABS\"}}", + "slices": [ + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "null.Peter Rijnbeek-Untitled Query 2--E1zjg5sW", + "datasource_type": "table", + "id": 91, + "params": "{\"adhoc_filters\": [], \"color_scheme\": \"supersetColors\", \"datasource\": \"86__table\", \"groupby\": [\"gender\"], \"label_colors\": {}, \"labels_outside\": true, \"metric\": {\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"count_value\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 413, \"is_dttm\": false, \"optionName\": \"_col_count_value\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"hasCustomLabel\": false, \"isNew\": false, \"label\": \"SUM(count_value)\", \"optionName\": \"metric_4yhwa29vtbe_i5wwa79ih78\", \"sqlExpression\": null}, \"number_format\": \"SMART_NUMBER\", \"pie_label_type\": \"key\", \"queryFields\": {\"groupby\": \"groupby\", \"metric\": \"metrics\"}, \"row_limit\": null, \"show_labels\": true, \"show_legend\": false, \"slice_id\": 91, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"pie\", \"remote_id\": 91, \"datasource_name\": \"Peter Rijnbeek-Untitled Query 2--E1zjg5sW\", \"schema\": \"null\", \"database_name\": \"Achilles\"}", + "slice_name": "Gender", + "viz_type": "pie" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.data_source", + "datasource_type": "table", + "id": 69, + "params": "{\"adhoc_filters\": [], \"datasource\": \"60__table\", \"date_filter\": false, \"filter_configs\": [{\"asc\": true, \"clearable\": false, \"column\": \"acronym\", \"key\": \"TnqEIVXFw\", \"label\": \"Datasource\", \"multiple\": false, \"searchAllOptions\": false}], \"granularity_sqla\": \"release_date\", \"instant_filtering\": true, \"queryFields\": {}, \"show_druid_time_granularity\": false, \"show_druid_time_origin\": false, \"show_sqla_time_column\": false, \"show_sqla_time_granularity\": false, \"slice_id\": 69, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"filter_box\", \"remote_id\": 69, \"datasource_name\": \"data_source\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Datasource Filter", + "viz_type": "filter_box" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Landing Page - Number of Patients query", + "datasource_type": "table", + "id": 62, + "params": "{\"adhoc_filters\": [], \"datasource\": \"54__table\", \"granularity_sqla\": null, \"header_font_size\": 0.3, \"metric\": {\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"count_value\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 277, \"is_dttm\": false, \"optionName\": \"_col_count_value\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": false, \"hasCustomLabel\": false, \"label\": \"SUM(count_value)\", \"optionName\": \"metric_g9sohftdn1_s9whttkxz1l\", \"sqlExpression\": null}, \"queryFields\": {\"metric\": \"metrics\"}, \"slice_id\": 62, \"subheader_font_size\": 0.125, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"big_number_total\", \"y_axis_format\": \"SMART_NUMBER\", \"remote_id\": 62, \"datasource_name\": \"Landing Page - Number of Patients query\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Number of Patients", + "viz_type": "big_number_total" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "null.Peter Rijnbeek-Untitled Query 2--E1zjg5sW", + "datasource_type": "table", + "id": 84, + "params": "{\"adhoc_filters\": [], \"all_columns\": [\"gender\", \"count_value\"], \"color_pn\": false, \"datasource\": \"86__table\", \"groupby\": [], \"metrics\": [], \"order_by_cols\": null, \"order_desc\": true, \"percent_metrics\": [], \"queryFields\": {\"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"row_limit\": 1000, \"show_cell_bars\": false, \"slice_id\": 84, \"table_timestamp_format\": \"smart_date\", \"time_grain_sqla\": \"P1D\", \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"table\", \"remote_id\": 84, \"datasource_name\": \"Peter Rijnbeek-Untitled Query 2--E1zjg5sW\", \"schema\": \"null\", \"database_name\": \"Achilles\"}", + "slice_name": "Gender", + "viz_type": "table" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "null.Peter Rijnbeek-Age group at start of first observation-smvSJk6Hw", + "datasource_type": "table", + "id": 92, + "params": "{\"adhoc_filters\": [], \"all_columns\": [\"age10\", \"age20\", \"age30\", \"age40\", \"age50\", \"age60\", \"age70\", \"age80\", \"age90\", \"age90p\"], \"color_pn\": true, \"datasource\": \"85__table\", \"groupby\": [], \"metrics\": [], \"order_by_cols\": [], \"order_desc\": true, \"percent_metrics\": [], \"queryFields\": {\"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"query_mode\": \"raw\", \"row_limit\": 1000, \"show_cell_bars\": false, \"table_timestamp_format\": \"smart_date\", \"time_grain_sqla\": \"P1D\", \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {\"preselect_filters\": \"{\\\"13\\\": {\\\"name\\\": [\\\"Integrated Primary Care Information\\\"]}}\"}, \"viz_type\": \"table\", \"remote_id\": 92, \"datasource_name\": \"Peter Rijnbeek-Age group at start of first observation-smvSJk6Hw\", \"schema\": \"null\", \"database_name\": \"Achilles\"}", + "slice_name": "Age at first observation", + "viz_type": "table" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Untitled Query 2-hW_lXt3eU", + "datasource_type": "table", + "id": 93, + "params": "{\"adhoc_filters\": [], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"name\"], \"contribution\": false, \"datasource\": \"10__table\", \"granularity_sqla\": null, \"groupby\": [\"age\"], \"label_colors\": {\"Demo University of Aveiro\": \"#454E7C\", \"FEMALE\": \"#5AC189\", \"Integrated Primary Care Information\": \"#1FA8C9\", \"MALE\": \"#FF7F44\"}, \"metrics\": [{\"aggregate\": \"MAX\", \"column\": {\"column_name\": \"count\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 52, \"is_dttm\": false, \"optionName\": \"_col_count\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": false, \"hasCustomLabel\": false, \"label\": \"MAX(count)\", \"optionName\": \"metric_dsbny4uupqu_xitbpo2zwoi\", \"sqlExpression\": null}], \"order_bars\": true, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": true, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": false, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {\"preselect_filters\": \"{\\\"13\\\": {\\\"name\\\": [\\\"Integrated Primary Care Information\\\"]}}\"}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"Age\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"Count\", \"remote_id\": 93, \"datasource_name\": \"Untitled Query 2-hW_lXt3eU\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Age at first observation", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Untitled Query 3-OTisQhOu9", + "datasource_type": "table", + "id": 94, + "params": "{\"adhoc_filters\": [], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"name\"], \"contribution\": false, \"datasource\": \"11__table\", \"granularity_sqla\": \"Birth_year\", \"groupby\": [\"Birth_year\"], \"label_colors\": {\"Demo University of Aveiro\": \"#454E7C\", \"FEMALE\": \"#5AC189\", \"Integrated Primary Care Information\": \"#1FA8C9\", \"MALE\": \"#FF7F44\"}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"count\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 56, \"is_dttm\": false, \"optionName\": \"_col_count\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": false, \"hasCustomLabel\": false, \"label\": \"SUM(count)\", \"optionName\": \"metric_cpx4knmvyq_7kbv0oube0f\", \"sqlExpression\": null}], \"order_bars\": true, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": true, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": true, \"show_legend\": false, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {\"preselect_filters\": \"{\\\"13\\\": {\\\"name\\\": [\\\"Integrated Primary Care Information\\\"]}}\"}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"Year\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"Count\", \"remote_id\": 94, \"datasource_name\": \"Untitled Query 3-OTisQhOu9\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Year of Birth", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Landing Page - Data Domains", + "datasource_type": "table", + "id": 68, + "params": "{\"adhoc_filters\": [], \"color_scheme\": \"bnbColors\", \"datasource\": \"67__table\", \"donut\": false, \"granularity_sqla\": null, \"groupby\": [\"data_domain\"], \"label_colors\": {}, \"labels_outside\": true, \"metric\": {\"aggregate\": \"MAX\", \"column\": {\"column_name\": \"count\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 307, \"is_dttm\": false, \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": false, \"label\": \"MAX(count)\", \"optionName\": \"metric_fgt92lxki3d_v12pvew79ei\", \"sqlExpression\": null}, \"number_format\": \"SMART_NUMBER\", \"pie_label_type\": \"key\", \"queryFields\": {\"groupby\": \"groupby\", \"metric\": \"metrics\"}, \"row_limit\": 1000, \"show_labels\": true, \"show_legend\": true, \"slice_id\": 68, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"pie\", \"remote_id\": 68, \"datasource_name\": \"Landing Page - Data Domains\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Total number of records", + "viz_type": "pie" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Untitled Query 2-QPQHc1uh6", + "datasource_type": "table", + "id": 17, + "params": "{\"adhoc_filters\": [], \"all_columns_x\": \"name\", \"all_columns_y\": \"data_domain\", \"bottom_margin\": \"auto\", \"canvas_image_rendering\": \"pixelated\", \"datasource\": \"14__table\", \"granularity_sqla\": null, \"left_margin\": \"auto\", \"linear_color_scheme\": \"greens\", \"metric\": {\"aggregate\": \"AVG\", \"column\": {\"column_name\": \"records_per_person\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 68, \"is_dttm\": false, \"optionName\": \"_col_records_per_person\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"hasCustomLabel\": true, \"isNew\": false, \"label\": \"avg records per person\", \"optionName\": \"metric_zx7vov5aux_cmnw1nknahk\", \"sqlExpression\": null}, \"normalize_across\": \"heatmap\", \"normalized\": false, \"queryFields\": {\"metric\": \"metrics\"}, \"row_limit\": null, \"show_legend\": true, \"show_perc\": true, \"show_values\": false, \"slice_id\": 17, \"sort_x_axis\": \"alpha_asc\", \"sort_y_axis\": \"alpha_asc\", \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"heatmap\", \"xscale_interval\": null, \"y_axis_bounds\": [null, null], \"y_axis_format\": \"SMART_NUMBER\", \"yscale_interval\": null, \"remote_id\": 17, \"datasource_name\": \"Untitled Query 2-QPQHc1uh6\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Average number of records per person", + "viz_type": "heatmap" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 3-_1-hZtmZL", + "datasource_type": "table", + "id": 32, + "params": "{\"adhoc_filters\": [{\"clause\": \"WHERE\", \"comparator\": \"Drug\", \"expressionType\": \"SIMPLE\", \"filterOptionName\": \"filter_qgdp5ana5g_vtxqy9rqhm7\", \"fromFormData\": true, \"operator\": \"==\", \"sqlExpression\": null, \"subject\": \"domain_name\"}], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"d3Category20c\", \"columns\": [\"concept_name\"], \"contribution\": true, \"datasource\": \"26__table\", \"granularity_sqla\": null, \"groupby\": [\"name\"], \"label_colors\": {}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"num_records\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 143, \"is_dttm\": false, \"optionName\": \"_col_num_records\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Nr Records\", \"optionName\": \"metric_o8vjq1gc86q_hk98r2d9mm\", \"sqlExpression\": null}], \"order_bars\": false, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": false, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 32, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"\", \"remote_id\": 32, \"datasource_name\": \"admin user-Untitled Query 3-_1-hZtmZL\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Drug Types", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 3-_1-hZtmZL", + "datasource_type": "table", + "id": 30, + "params": "{\"adhoc_filters\": [{\"clause\": \"WHERE\", \"comparator\": \"Condition\", \"expressionType\": \"SIMPLE\", \"filterOptionName\": \"filter_qgdp5ana5g_vtxqy9rqhm7\", \"fromFormData\": true, \"operator\": \"==\", \"sqlExpression\": null, \"subject\": \"domain_name\"}], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"d3Category20c\", \"columns\": [\"concept_name\"], \"contribution\": true, \"datasource\": \"26__table\", \"granularity_sqla\": null, \"groupby\": [\"name\"], \"label_colors\": {}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"num_records\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 143, \"is_dttm\": false, \"optionName\": \"_col_num_records\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Nr Records\", \"optionName\": \"metric_o8vjq1gc86q_hk98r2d9mm\", \"sqlExpression\": null}], \"order_bars\": false, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": false, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 30, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"unknown\", \"inclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"\", \"remote_id\": 30, \"datasource_name\": \"admin user-Untitled Query 3-_1-hZtmZL\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Condition Types", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 3-_1-hZtmZL", + "datasource_type": "table", + "id": 34, + "params": "{\"adhoc_filters\": [{\"clause\": \"WHERE\", \"comparator\": \"Device\", \"expressionType\": \"SIMPLE\", \"filterOptionName\": \"filter_qgdp5ana5g_vtxqy9rqhm7\", \"fromFormData\": true, \"operator\": \"==\", \"sqlExpression\": null, \"subject\": \"domain_name\"}], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"concept_name\"], \"contribution\": true, \"datasource\": \"26__table\", \"granularity_sqla\": null, \"groupby\": [\"name\"], \"label_colors\": {}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"num_records\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 143, \"is_dttm\": false, \"optionName\": \"_col_num_records\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Nr Records\", \"optionName\": \"metric_o8vjq1gc86q_hk98r2d9mm\", \"sqlExpression\": null}], \"order_bars\": false, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": false, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 34, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"unknown\", \"inclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"\", \"remote_id\": 34, \"datasource_name\": \"admin user-Untitled Query 3-_1-hZtmZL\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Device Types", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 3-_1-hZtmZL", + "datasource_type": "table", + "id": 31, + "params": "{\"adhoc_filters\": [{\"clause\": \"WHERE\", \"comparator\": \"Procedure\", \"expressionType\": \"SIMPLE\", \"filterOptionName\": \"filter_qgdp5ana5g_vtxqy9rqhm7\", \"fromFormData\": true, \"operator\": \"==\", \"sqlExpression\": null, \"subject\": \"domain_name\"}], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"d3Category20b\", \"columns\": [\"concept_name\"], \"contribution\": true, \"datasource\": \"26__table\", \"granularity_sqla\": null, \"groupby\": [\"name\"], \"label_colors\": {}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"num_records\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 143, \"is_dttm\": false, \"optionName\": \"_col_num_records\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Nr Records\", \"optionName\": \"metric_o8vjq1gc86q_hk98r2d9mm\", \"sqlExpression\": null}], \"order_bars\": false, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": false, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 31, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"unknown\", \"inclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"\", \"remote_id\": 31, \"datasource_name\": \"admin user-Untitled Query 3-_1-hZtmZL\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Procedure Types", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 3-_1-hZtmZL", + "datasource_type": "table", + "id": 29, + "params": "{\"adhoc_filters\": [{\"clause\": \"WHERE\", \"comparator\": \"Observation\", \"expressionType\": \"SIMPLE\", \"filterOptionName\": \"filter_qgdp5ana5g_vtxqy9rqhm7\", \"fromFormData\": true, \"operator\": \"==\", \"sqlExpression\": null, \"subject\": \"domain_name\"}], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"concept_name\"], \"contribution\": true, \"datasource\": \"26__table\", \"granularity_sqla\": null, \"groupby\": [\"name\"], \"label_colors\": {\"Observation recorded from EHR\": \"#8ce071\", \"Problem list from EHR\": \"#ffb400\", \"Syn1k-UK\": \"#ff5a5f\", \"Syn5k-NL\": \"#7b0051\", \"Syn5k-PT\": \"#007A87\", \"Syn5k-SP\": \"#00d1c1\", \"Test ordered through EHR\": \"#b4a76c\"}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"num_records\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 143, \"is_dttm\": false, \"optionName\": \"_col_num_records\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Nr Records\", \"optionName\": \"metric_o8vjq1gc86q_hk98r2d9mm\", \"sqlExpression\": null}], \"order_bars\": false, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": false, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 29, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"unknown\", \"inclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"\", \"remote_id\": 29, \"datasource_name\": \"admin user-Untitled Query 3-_1-hZtmZL\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Observation Types", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 3-_1-hZtmZL", + "datasource_type": "table", + "id": 33, + "params": "{\"adhoc_filters\": [{\"clause\": \"WHERE\", \"comparator\": \"Measurement\", \"expressionType\": \"SIMPLE\", \"filterOptionName\": \"filter_qgdp5ana5g_vtxqy9rqhm7\", \"fromFormData\": true, \"operator\": \"==\", \"sqlExpression\": null, \"subject\": \"domain_name\"}], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"concept_name\"], \"contribution\": true, \"datasource\": \"26__table\", \"granularity_sqla\": null, \"groupby\": [\"name\"], \"label_colors\": {}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"num_records\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 143, \"is_dttm\": false, \"optionName\": \"_col_num_records\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Nr Records\", \"optionName\": \"metric_o8vjq1gc86q_hk98r2d9mm\", \"sqlExpression\": null}], \"order_bars\": false, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": false, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 33, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"unknown\", \"inclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"\", \"remote_id\": 33, \"datasource_name\": \"admin user-Untitled Query 3-_1-hZtmZL\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Measurement Types", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Patients in Observation Period per month Query", + "datasource_type": "table", + "id": 95, + "params": "{\"adhoc_filters\": [], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"name\"], \"contribution\": false, \"datasource\": \"25__table\", \"granularity_sqla\": \"date\", \"groupby\": [\"date\"], \"label_colors\": {\"Demo University of Aveiro\": \"#454E7C\", \"FEMALE\": \"#5AC189\", \"Integrated Primary Care Information\": \"#1FA8C9\", \"MALE\": \"#FF7F44\"}, \"metrics\": [{\"aggregate\": \"MAX\", \"column\": {\"column_name\": \"Nr_patients\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 138, \"is_dttm\": false, \"optionName\": \"_col_Nr_patients\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Num of Patients\", \"optionName\": \"metric_3p61x9ncona_q3o5fcc0v6q\", \"sqlExpression\": null}], \"order_bars\": true, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": true, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": false, \"slice_id\": 95, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {\"preselect_filters\": \"{\\\"13\\\": {\\\"name\\\": [\\\"Integrated Primary Care Information\\\"]}}\"}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"Date\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"Number of Patients\", \"remote_id\": 95, \"datasource_name\": \"Patients in Observation Period per month Query\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Number of Patients in Observation Period", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Cumulative Observation Period 2-L74hsau_K", + "datasource_type": "table", + "id": 96, + "params": "{\"adhoc_filters\": [], \"bottom_margin\": \"auto\", \"color_scheme\": \"supersetColors\", \"columns\": [\"name\"], \"datasource\": \"96__table\", \"groupby\": [\"xlengthofobservation\"], \"label_colors\": {\"Demo University of Aveiro\": \"#454E7C\", \"FEMALE\": \"#5AC189\", \"Integrated Primary Care Information\": \"#1FA8C9\", \"MALE\": \"#FF7F44\"}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"ypercentpersons\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 452, \"is_dttm\": false, \"optionName\": \"_col_ypercentpersons\", \"python_date_format\": null, \"type\": null, \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"hasCustomLabel\": false, \"isNew\": false, \"label\": \"SUM(ypercentpersons)\", \"optionName\": \"metric_cq74wvz3wga_ry4rmcxu0ip\", \"sqlExpression\": null}], \"order_bars\": true, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"row_limit\": 1000, \"show_legend\": false, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {\"preselect_filters\": \"{\\\"13\\\": {\\\"name\\\": [\\\"Integrated Primary Care Information\\\"]}}\"}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"Days\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \",.1%\", \"remote_id\": 96, \"datasource_name\": \"Cumulative Observation Period 2-L74hsau_K\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Cumulative Observation Time", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Peter Rijnbeek-Visit Type Table v2-DhXfzMl9M", + "datasource_type": "table", + "id": 97, + "params": "{\"adhoc_filters\": [], \"bottom_margin\": \"auto\", \"color_scheme\": \"supersetColors\", \"columns\": [\"name\"], \"datasource\": \"99__table\", \"groupby\": [\"concept_name\"], \"label_colors\": {\"Demo University of Aveiro\": \"#454E7C\", \"FEMALE\": \"#5AC189\", \"Integrated Primary Care Information\": \"#1FA8C9\", \"MALE\": \"#FF7F44\"}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"num_persons\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 465, \"is_dttm\": false, \"optionName\": \"_col_num_persons\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"hasCustomLabel\": false, \"isNew\": false, \"label\": \"SUM(num_persons)\", \"optionName\": \"metric_kcrkrhrxkrl_nprl8ttp6tr\", \"sqlExpression\": null}], \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"row_limit\": 1000, \"show_legend\": false, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {\"preselect_filters\": \"{\\\"13\\\": {\\\"name\\\": [\\\"Integrated Primary Care Information\\\"]}}\"}, \"viz_type\": \"dist_bar\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"remote_id\": 97, \"datasource_name\": \"Peter Rijnbeek-Visit Type Table v2-DhXfzMl9M\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Visit Type Graph", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Peter Rijnbeek-Visit Type Table v2-zZU86Qvwj", + "datasource_type": "table", + "id": 98, + "params": "{\"adhoc_filters\": [], \"all_columns\": [\"concept_name\", \"num_persons\", \"percent_persons\", \"records_per_person\"], \"color_pn\": true, \"datasource\": \"98__table\", \"groupby\": [], \"metrics\": [], \"order_by_cols\": [], \"order_desc\": true, \"percent_metrics\": [], \"queryFields\": {\"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"query_mode\": \"raw\", \"row_limit\": 1000, \"show_cell_bars\": false, \"table_timestamp_format\": \"smart_date\", \"time_grain_sqla\": \"P1D\", \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {\"preselect_filters\": \"{\\\"13\\\": {\\\"name\\\": [\\\"Integrated Primary Care Information\\\"]}}\"}, \"viz_type\": \"table\", \"remote_id\": 98, \"datasource_name\": \"Peter Rijnbeek-Visit Type Table v2-zZU86Qvwj\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Visit Type Table", + "viz_type": "table" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 5-3i9mLe1yw", + "datasource_type": "table", + "id": 99, + "params": "{\"adhoc_filters\": [], \"align_pn\": false, \"all_columns\": [\"concept_id\", \"concept_name\", \"domain_id\", \"magnitude_persons\", \"magnitude_occurrences\"], \"color_pn\": true, \"datasource\": \"19__table\", \"granularity_sqla\": null, \"groupby\": [], \"include_search\": true, \"include_time\": false, \"metrics\": [], \"order_by_cols\": [], \"order_desc\": false, \"page_length\": 50, \"percent_metrics\": [], \"queryFields\": {\"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"query_mode\": \"raw\", \"row_limit\": null, \"show_cell_bars\": true, \"slice_id\": 99, \"table_filter\": true, \"table_timestamp_format\": \"%Y-%m-%d %H:%M:%S\", \"time_grain_sqla\": null, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"timeseries_limit_metric\": null, \"url_params\": {\"preselect_filters\": \"{\\\"13\\\": {\\\"name\\\": [\\\"Integrated Primary Care Information\\\"]}}\"}, \"viz_type\": \"table\", \"remote_id\": 99, \"datasource_name\": \"admin user-Untitled Query 5-3i9mLe1yw\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Concepts - Concept Browser Table", + "viz_type": "table" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "null.Peter Rijnbeek-Untitled Query 2-jCYlfS520", + "datasource_type": "table", + "id": 100, + "params": "{\"adhoc_filters\": [], \"all_columns\": [\"source_release_date\", \"cdm_release_date\", \"cdm_version\", \"vocabulary_version\"], \"color_pn\": true, \"datasource\": \"83__table\", \"groupby\": [], \"metrics\": [], \"order_by_cols\": [], \"order_desc\": true, \"percent_metrics\": [], \"queryFields\": {\"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"query_mode\": \"raw\", \"row_limit\": 1000, \"show_cell_bars\": true, \"table_timestamp_format\": \"smart_date\", \"time_grain_sqla\": \"P1D\", \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {\"preselect_filters\": \"{\\\"13\\\": {\\\"name\\\": [\\\"Integrated Primary Care Information\\\"]}}\"}, \"viz_type\": \"table\", \"remote_id\": 100, \"datasource_name\": \"Peter Rijnbeek-Untitled Query 2-jCYlfS520\", \"schema\": \"null\", \"database_name\": \"Achilles\"}", + "slice_name": "Meta Data", + "viz_type": "table" + } + } + ], + "slug": "database-level-dashboard" + } + }, + { + "__Dashboard__": { + "css": null, + "dashboard_title": "Death", + "description": null, + "json_metadata": "{\"default_filters\": \"{}\", \"expanded_slices\": {}, \"filter_scopes\": {\"13\": {\"name\": {\"immune\": [], \"scope\": [\"ROOT_ID\"]}}}, \"refresh_frequency\": 0, \"timed_refresh_immune_slices\": [], \"remote_id\": 7}", + "position_json": "{\"CHART-BG6nv7w17X\":{\"children\":[],\"id\":\"CHART-BG6nv7w17X\",\"meta\":{\"chartId\":11,\"height\":61,\"sliceName\":\"Death - by month per thousand people\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-8BVvYxXdcV\"],\"type\":\"CHART\"},\"CHART-QO8ESAwbvV\":{\"children\":[],\"id\":\"CHART-QO8ESAwbvV\",\"meta\":{\"chartId\":12,\"height\":67,\"sliceName\":\"Death - number of records\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-rmVDxP5RH4\"],\"type\":\"CHART\"},\"CHART-fzSY6kQI66\":{\"children\":[],\"id\":\"CHART-fzSY6kQI66\",\"meta\":{\"chartId\":13,\"height\":17,\"sliceName\":\"Data Source Filter\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-9bJYyN5kJ7\"],\"type\":\"CHART\"},\"DASHBOARD_VERSION_KEY\":\"v2\",\"GRID_ID\":{\"children\":[\"ROW-9bJYyN5kJ7\",\"ROW-rmVDxP5RH4\",\"ROW-8BVvYxXdcV\"],\"id\":\"GRID_ID\",\"parents\":[\"ROOT_ID\"],\"type\":\"GRID\"},\"HEADER_ID\":{\"id\":\"HEADER_ID\",\"meta\":{\"text\":\"Death\"},\"type\":\"HEADER\"},\"ROOT_ID\":{\"children\":[\"GRID_ID\"],\"id\":\"ROOT_ID\",\"type\":\"ROOT\"},\"ROW-8BVvYxXdcV\":{\"children\":[\"CHART-BG6nv7w17X\"],\"id\":\"ROW-8BVvYxXdcV\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-9bJYyN5kJ7\":{\"children\":[\"CHART-fzSY6kQI66\"],\"id\":\"ROW-9bJYyN5kJ7\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-rmVDxP5RH4\":{\"children\":[\"CHART-QO8ESAwbvV\"],\"id\":\"ROW-rmVDxP5RH4\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"}}", + "slices": [ + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 2-2r83mvJTx", + "datasource_type": "table", + "id": 11, + "params": "{\"adhoc_filters\": [], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"name\"], \"contribution\": false, \"datasource\": \"7__table\", \"granularity_sqla\": \"date\", \"groupby\": [\"date\"], \"label_colors\": {}, \"metrics\": [{\"aggregate\": \"MAX\", \"column\": {\"column_name\": \"count\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 43, \"is_dttm\": false, \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Count\", \"optionName\": \"metric_coqa2w94pe_sbgpc5c9aio\", \"sqlExpression\": null}], \"order_bars\": true, \"reduce_x_ticks\": false, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 11, \"time_range\": \"No filter\", \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"Years\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"Number of Patients (in thousands)\", \"remote_id\": 11, \"datasource_name\": \"admin user-Untitled Query 2-2r83mvJTx\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Death - By Year per Thousand People", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Untitled Query 4-O04EF2u8N", + "datasource_type": "table", + "id": 12, + "params": "{\"adhoc_filters\": [], \"bar_stacked\": false, \"bottom_margin\": \"auto\", \"color_scheme\": \"d3Category20b\", \"columns\": [], \"contribution\": false, \"datasource\": \"8__table\", \"granularity_sqla\": null, \"groupby\": [\"name\"], \"label_colors\": {\"Count\": \"#ff5a5f\"}, \"metrics\": [{\"aggregate\": \"MAX\", \"column\": {\"column_name\": \"count\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 46, \"is_dttm\": false, \"optionName\": \"_col_count\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Count\", \"optionName\": \"metric_g1isglpuorq_8fxikjkjk4w\", \"sqlExpression\": null}], \"order_bars\": false, \"reduce_x_ticks\": true, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 12, \"time_range\": \"No filter\", \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"Databases\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"Number of Patients\", \"remote_id\": 12, \"datasource_name\": \"Untitled Query 4-O04EF2u8N\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Death - Number of Records", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.data_source", + "datasource_type": "table", + "id": 13, + "params": "{\"adhoc_filters\": [], \"datasource\": \"60__table\", \"date_filter\": false, \"filter_configs\": [{\"asc\": true, \"clearable\": true, \"column\": \"name\", \"key\": \"jXSVXn3gk\", \"label\": \"Data Source\", \"multiple\": true}], \"granularity_sqla\": null, \"instant_filtering\": true, \"queryFields\": {}, \"show_druid_time_granularity\": false, \"show_druid_time_origin\": false, \"show_sqla_time_column\": false, \"show_sqla_time_granularity\": false, \"slice_id\": 13, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {\"preselect_filters\": \"{\\\"13\\\": {\\\"name\\\": [\\\"Integrated Primary Care Information\\\"]}}\"}, \"viz_type\": \"filter_box\", \"remote_id\": 13, \"datasource_name\": \"data_source\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Data Source Filter", + "viz_type": "filter_box" + } + } + ], + "slug": "death" + } + }, + { + "__Dashboard__": { + "css": null, + "dashboard_title": "Tabbed Database Dashboard", + "description": null, + "json_metadata": "{\"timed_refresh_immune_slices\": [], \"expanded_slices\": {}, \"refresh_frequency\": 0, \"default_filters\": \"{\\\"13\\\": {\\\"name\\\": [\\\"Integrated Primary Care Information\\\"]}}\", \"filter_scopes\": {\"13\": {\"name\": {\"scope\": [\"ROOT_ID\"], \"immune\": []}}}, \"remote_id\": 18}", + "position_json": "{\"CHART-2_XSeaMRJO\":{\"children\":[],\"id\":\"CHART-2_XSeaMRJO\",\"meta\":{\"chartId\":83,\"height\":17,\"sliceName\":\"Age at first observation\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-V6z5U56QUt\",\"ROW-1R9yOlgr7\"],\"type\":\"CHART\"},\"CHART-F1ufawzP8Z\":{\"children\":[],\"id\":\"CHART-F1ufawzP8Z\",\"meta\":{\"chartId\":88,\"height\":34,\"sliceName\":\"Visit Type Table\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-l8N5xLbYF\",\"ROW-GNtn3Q2A_\"],\"type\":\"CHART\"},\"CHART-LE6kfso69G\":{\"children\":[],\"id\":\"CHART-LE6kfso69G\",\"meta\":{\"chartId\":82,\"height\":14,\"sliceName\":\"Meta Data\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-ux0LBXfrJ\",\"ROW-4uXTMAPy9\"],\"type\":\"CHART\"},\"CHART-PeC7vsiL4d\":{\"children\":[],\"id\":\"CHART-PeC7vsiL4d\",\"meta\":{\"chartId\":91,\"height\":18,\"sliceName\":\"Gender\",\"width\":4},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-V6z5U56QUt\",\"ROW-B9PU9uYiM\"],\"type\":\"CHART\"},\"CHART-TCF_PXmiyX\":{\"children\":[],\"id\":\"CHART-TCF_PXmiyX\",\"meta\":{\"chartId\":13,\"height\":14,\"sliceName\":\"Data Source Filter\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-bgRFfBapK\"],\"type\":\"CHART\"},\"CHART-XxEyqsVKJ8\":{\"children\":[],\"id\":\"CHART-XxEyqsVKJ8\",\"meta\":{\"chartId\":15,\"height\":44,\"sliceName\":\"Year of Birth\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-V6z5U56QUt\",\"ROW-AySCx6DR-\"],\"type\":\"CHART\"},\"CHART-ZVa4kJQZOv\":{\"children\":[],\"id\":\"CHART-ZVa4kJQZOv\",\"meta\":{\"chartId\":32,\"height\":60,\"sliceName\":\"Drug Types\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-fCDMcRIED\",\"ROW-l4THZxqyC\"],\"type\":\"CHART\"},\"CHART-_rzNOMWWxr\":{\"children\":[],\"id\":\"CHART-_rzNOMWWxr\",\"meta\":{\"chartId\":33,\"height\":63,\"sliceName\":\"Measurement Types\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-fCDMcRIED\",\"ROW-yUkejhVsr\"],\"type\":\"CHART\"},\"CHART-a7GX24w7VS\":{\"children\":[],\"id\":\"CHART-a7GX24w7VS\",\"meta\":{\"chartId\":89,\"height\":60,\"sliceName\":\"Visit Type Graph\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-l8N5xLbYF\",\"ROW-n-aCxJDKZ\"],\"type\":\"CHART\"},\"CHART-barxBjFdRO\":{\"children\":[],\"id\":\"CHART-barxBjFdRO\",\"meta\":{\"chartId\":62,\"height\":17,\"sliceName\":\"Number of Patients\",\"width\":4},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-V6z5U56QUt\",\"ROW-B9PU9uYiM\"],\"type\":\"CHART\"},\"CHART-bgOuJzQcK1\":{\"children\":[],\"id\":\"CHART-bgOuJzQcK1\",\"meta\":{\"chartId\":30,\"height\":60,\"sliceName\":\"Condition Types\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-fCDMcRIED\",\"ROW-l4THZxqyC\"],\"type\":\"CHART\"},\"CHART-eVg2nsL8-5\":{\"children\":[],\"id\":\"CHART-eVg2nsL8-5\",\"meta\":{\"chartId\":87,\"height\":51,\"sliceName\":\"Cumulative Observation Time\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-R1z8ZTvVC\",\"ROW-TiKrBMiHx\"],\"type\":\"CHART\"},\"CHART-ghrfiuZ3tN\":{\"children\":[],\"id\":\"CHART-ghrfiuZ3tN\",\"meta\":{\"chartId\":68,\"height\":62,\"sliceName\":\"Data Domains - Total number of records\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-mbS0w0jdN\",\"ROW-0v5-AL8pu\"],\"type\":\"CHART\"},\"CHART-hHB5KM2Fqp\":{\"children\":[],\"id\":\"CHART-hHB5KM2Fqp\",\"meta\":{\"chartId\":17,\"height\":71,\"sliceName\":\"Data Domains - Average number of records per person\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-mbS0w0jdN\",\"ROW-0v5-AL8pu\"],\"type\":\"CHART\"},\"CHART-ipvpuY2o7i\":{\"children\":[],\"id\":\"CHART-ipvpuY2o7i\",\"meta\":{\"chartId\":84,\"height\":18,\"sliceName\":\"Gender\",\"width\":4},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-V6z5U56QUt\",\"ROW-B9PU9uYiM\"],\"type\":\"CHART\"},\"CHART-jDS68HIk2o\":{\"children\":[],\"id\":\"CHART-jDS68HIk2o\",\"meta\":{\"chartId\":22,\"height\":66,\"sliceName\":\"Concepts - Concept Browser Table\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-vwu3LfQqs\",\"ROW-X-TcEAvv4\"],\"type\":\"CHART\"},\"CHART-l_sQINzspm\":{\"children\":[],\"id\":\"CHART-l_sQINzspm\",\"meta\":{\"chartId\":29,\"height\":62,\"sliceName\":\"Observation Types\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-fCDMcRIED\",\"ROW-yUkejhVsr\"],\"type\":\"CHART\"},\"CHART-lxk6ucPRL_\":{\"children\":[],\"id\":\"CHART-lxk6ucPRL_\",\"meta\":{\"chartId\":14,\"height\":43,\"sliceName\":\"Age at first observation\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-V6z5U56QUt\",\"ROW-U255CFRHi\"],\"type\":\"CHART\"},\"CHART-pqrREgYzs0\":{\"children\":[],\"id\":\"CHART-pqrREgYzs0\",\"meta\":{\"chartId\":34,\"height\":59,\"sliceName\":\"Device Types\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-fCDMcRIED\",\"ROW-hiR76xbM_\"],\"type\":\"CHART\"},\"CHART-qBT0bXHWFI\":{\"children\":[],\"id\":\"CHART-qBT0bXHWFI\",\"meta\":{\"chartId\":28,\"height\":48,\"sliceName\":\"Number of Patients in Observation Period\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-R1z8ZTvVC\",\"ROW-B3zVq5Y4e\"],\"type\":\"CHART\"},\"CHART-vs__Np-qB2\":{\"children\":[],\"id\":\"CHART-vs__Np-qB2\",\"meta\":{\"chartId\":31,\"height\":58,\"sliceName\":\"Procedure Types\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-fCDMcRIED\",\"ROW-hiR76xbM_\"],\"type\":\"CHART\"},\"DASHBOARD_VERSION_KEY\":\"v2\",\"DIVIDER-5-np8QXRK4\":{\"children\":[],\"id\":\"DIVIDER-5-np8QXRK4\",\"meta\":{},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"DIVIDER\"},\"DIVIDER-6cYr4Zwp1X\":{\"children\":[],\"id\":\"DIVIDER-6cYr4Zwp1X\",\"meta\":{},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-R1z8ZTvVC\"],\"type\":\"DIVIDER\"},\"DIVIDER-HGA90RM3mP\":{\"children\":[],\"id\":\"DIVIDER-HGA90RM3mP\",\"meta\":{},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-mbS0w0jdN\"],\"type\":\"DIVIDER\"},\"DIVIDER-NP8AWGLhtX\":{\"children\":[],\"id\":\"DIVIDER-NP8AWGLhtX\",\"meta\":{},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-V6z5U56QUt\"],\"type\":\"DIVIDER\"},\"DIVIDER-tfZpXyYlc8\":{\"children\":[],\"id\":\"DIVIDER-tfZpXyYlc8\",\"meta\":{},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-V6z5U56QUt\"],\"type\":\"DIVIDER\"},\"DIVIDER-vSOqh5GqDh\":{\"children\":[],\"id\":\"DIVIDER-vSOqh5GqDh\",\"meta\":{},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-V6z5U56QUt\"],\"type\":\"DIVIDER\"},\"GRID_ID\":{\"children\":[\"ROW-bgRFfBapK\",\"TABS-vD_pT_7gpe\",\"DIVIDER-5-np8QXRK4\",\"HEADER-mue9yivOyY\"],\"id\":\"GRID_ID\",\"parents\":[\"ROOT_ID\"],\"type\":\"GRID\"},\"HEADER-mue9yivOyY\":{\"children\":[],\"id\":\"HEADER-mue9yivOyY\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\",\"headerSize\":\"SMALL_HEADER\",\"text\":\"Disclaimer: The presented data can be used for an initial feasibility assessment but should not be used for research without involvement of the data custodian\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"HEADER\"},\"HEADER_ID\":{\"id\":\"HEADER_ID\",\"meta\":{\"text\":\"Tabbed Database Dashboard\"},\"type\":\"HEADER\"},\"MARKDOWN-FQWyHtYqSo\":{\"children\":[],\"id\":\"MARKDOWN-FQWyHtYqSo\",\"meta\":{\"code\":\"*The Data Provenance bar charts show where the data is originating from.*\",\"height\":7,\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-fCDMcRIED\",\"ROW--uIc-ZnAOs\"],\"type\":\"MARKDOWN\"},\"MARKDOWN-NAe4WDoVSC\":{\"children\":[],\"id\":\"MARKDOWN-NAe4WDoVSC\",\"meta\":{\"code\":\"*The concepts browser allows you to search for concepts by name or concept_id. No exact number of patients or occurrences are provided but the magnitude of both.*\",\"height\":7,\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-vwu3LfQqs\",\"ROW-oW5wpvNu8t\"],\"type\":\"MARKDOWN\"},\"MARKDOWN-ux03BQVfl1\":{\"children\":[],\"id\":\"MARKDOWN-ux03BQVfl1\",\"meta\":{\"code\":\"*The cumulative observation time plot shows the percentage of patients that have more that X days of observation time*\",\"height\":5,\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-R1z8ZTvVC\",\"ROW-4LZmCLtRZ\"],\"type\":\"MARKDOWN\"},\"MARKDOWN-vQytJRTAXp\":{\"children\":[],\"id\":\"MARKDOWN-vQytJRTAXp\",\"meta\":{\"code\":\"*The Number of Patients in Observation Period plot shows the number of patients that contribute at least one day in a specific month*\\n\",\"height\":6,\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-R1z8ZTvVC\",\"ROW-_ygRTcNiaZ\"],\"type\":\"MARKDOWN\"},\"ROOT_ID\":{\"children\":[\"GRID_ID\"],\"id\":\"ROOT_ID\",\"type\":\"ROOT\"},\"ROW--uIc-ZnAOs\":{\"children\":[\"MARKDOWN-FQWyHtYqSo\"],\"id\":\"ROW--uIc-ZnAOs\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-fCDMcRIED\"],\"type\":\"ROW\"},\"ROW-0v5-AL8pu\":{\"children\":[\"CHART-hHB5KM2Fqp\",\"CHART-ghrfiuZ3tN\"],\"id\":\"ROW-0v5-AL8pu\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-mbS0w0jdN\"],\"type\":\"ROW\"},\"ROW-1R9yOlgr7\":{\"children\":[\"CHART-2_XSeaMRJO\"],\"id\":\"ROW-1R9yOlgr7\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-V6z5U56QUt\"],\"type\":\"ROW\"},\"ROW-4LZmCLtRZ\":{\"children\":[\"MARKDOWN-ux03BQVfl1\"],\"id\":\"ROW-4LZmCLtRZ\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-R1z8ZTvVC\"],\"type\":\"ROW\"},\"ROW-4uXTMAPy9\":{\"children\":[\"CHART-LE6kfso69G\"],\"id\":\"ROW-4uXTMAPy9\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-ux0LBXfrJ\"],\"type\":\"ROW\"},\"ROW-AySCx6DR-\":{\"children\":[\"CHART-XxEyqsVKJ8\"],\"id\":\"ROW-AySCx6DR-\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-V6z5U56QUt\"],\"type\":\"ROW\"},\"ROW-B3zVq5Y4e\":{\"children\":[\"CHART-qBT0bXHWFI\"],\"id\":\"ROW-B3zVq5Y4e\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-R1z8ZTvVC\"],\"type\":\"ROW\"},\"ROW-B9PU9uYiM\":{\"children\":[\"CHART-barxBjFdRO\",\"CHART-ipvpuY2o7i\",\"CHART-PeC7vsiL4d\"],\"id\":\"ROW-B9PU9uYiM\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-V6z5U56QUt\"],\"type\":\"ROW\"},\"ROW-GNtn3Q2A_\":{\"children\":[\"CHART-F1ufawzP8Z\"],\"id\":\"ROW-GNtn3Q2A_\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-l8N5xLbYF\"],\"type\":\"ROW\"},\"ROW-TiKrBMiHx\":{\"children\":[\"CHART-eVg2nsL8-5\"],\"id\":\"ROW-TiKrBMiHx\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-R1z8ZTvVC\"],\"type\":\"ROW\"},\"ROW-U255CFRHi\":{\"children\":[\"CHART-lxk6ucPRL_\"],\"id\":\"ROW-U255CFRHi\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-V6z5U56QUt\"],\"type\":\"ROW\"},\"ROW-X-TcEAvv4\":{\"children\":[\"CHART-jDS68HIk2o\"],\"id\":\"ROW-X-TcEAvv4\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-vwu3LfQqs\"],\"type\":\"ROW\"},\"ROW-_ygRTcNiaZ\":{\"children\":[\"MARKDOWN-vQytJRTAXp\"],\"id\":\"ROW-_ygRTcNiaZ\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-R1z8ZTvVC\"],\"type\":\"ROW\"},\"ROW-bgRFfBapK\":{\"children\":[\"CHART-TCF_PXmiyX\"],\"id\":\"ROW-bgRFfBapK\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-hiR76xbM_\":{\"children\":[\"CHART-pqrREgYzs0\",\"CHART-vs__Np-qB2\"],\"id\":\"ROW-hiR76xbM_\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-fCDMcRIED\"],\"type\":\"ROW\"},\"ROW-l4THZxqyC\":{\"children\":[\"CHART-ZVa4kJQZOv\",\"CHART-bgOuJzQcK1\"],\"id\":\"ROW-l4THZxqyC\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-fCDMcRIED\"],\"type\":\"ROW\"},\"ROW-n-aCxJDKZ\":{\"children\":[\"CHART-a7GX24w7VS\"],\"id\":\"ROW-n-aCxJDKZ\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-l8N5xLbYF\"],\"type\":\"ROW\"},\"ROW-oW5wpvNu8t\":{\"children\":[\"MARKDOWN-NAe4WDoVSC\"],\"id\":\"ROW-oW5wpvNu8t\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-vwu3LfQqs\"],\"type\":\"ROW\"},\"ROW-yUkejhVsr\":{\"children\":[\"CHART-l_sQINzspm\",\"CHART-_rzNOMWWxr\"],\"id\":\"ROW-yUkejhVsr\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\",\"TAB-fCDMcRIED\"],\"type\":\"ROW\"},\"TAB-R1z8ZTvVC\":{\"children\":[\"ROW-_ygRTcNiaZ\",\"ROW-B3zVq5Y4e\",\"DIVIDER-6cYr4Zwp1X\",\"ROW-4LZmCLtRZ\",\"ROW-TiKrBMiHx\"],\"id\":\"TAB-R1z8ZTvVC\",\"meta\":{\"text\":\"Observation Period\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\"],\"type\":\"TAB\"},\"TAB-V6z5U56QUt\":{\"children\":[\"DIVIDER-tfZpXyYlc8\",\"ROW-B9PU9uYiM\",\"DIVIDER-NP8AWGLhtX\",\"ROW-1R9yOlgr7\",\"ROW-U255CFRHi\",\"DIVIDER-vSOqh5GqDh\",\"ROW-AySCx6DR-\"],\"id\":\"TAB-V6z5U56QUt\",\"meta\":{\"text\":\"Demographics\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\"],\"type\":\"TAB\"},\"TAB-fCDMcRIED\":{\"children\":[\"ROW--uIc-ZnAOs\",\"ROW-l4THZxqyC\",\"ROW-hiR76xbM_\",\"ROW-yUkejhVsr\"],\"id\":\"TAB-fCDMcRIED\",\"meta\":{\"text\":\"Data Provenance\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\"],\"type\":\"TAB\"},\"TAB-l8N5xLbYF\":{\"children\":[\"ROW-n-aCxJDKZ\",\"ROW-GNtn3Q2A_\"],\"id\":\"TAB-l8N5xLbYF\",\"meta\":{\"text\":\"Visit\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\"],\"type\":\"TAB\"},\"TAB-mbS0w0jdN\":{\"children\":[\"DIVIDER-HGA90RM3mP\",\"ROW-0v5-AL8pu\"],\"id\":\"TAB-mbS0w0jdN\",\"meta\":{\"text\":\"Data Domains\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\"],\"type\":\"TAB\"},\"TAB-ux0LBXfrJ\":{\"children\":[\"ROW-4uXTMAPy9\"],\"id\":\"TAB-ux0LBXfrJ\",\"meta\":{\"text\":\"Meta Data\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\"],\"type\":\"TAB\"},\"TAB-vwu3LfQqs\":{\"children\":[\"ROW-oW5wpvNu8t\",\"ROW-X-TcEAvv4\"],\"id\":\"TAB-vwu3LfQqs\",\"meta\":{\"text\":\"Concept Browser\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"TABS-vD_pT_7gpe\"],\"type\":\"TAB\"},\"TABS-vD_pT_7gpe\":{\"children\":[\"TAB-V6z5U56QUt\",\"TAB-mbS0w0jdN\",\"TAB-fCDMcRIED\",\"TAB-R1z8ZTvVC\",\"TAB-l8N5xLbYF\",\"TAB-vwu3LfQqs\",\"TAB-ux0LBXfrJ\"],\"id\":\"TABS-vD_pT_7gpe\",\"meta\":{},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"TABS\"}}", + "slices": [ + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Landing Page - Data Domains", + "datasource_type": "table", + "id": 68, + "params": "{\"adhoc_filters\": [], \"color_scheme\": \"bnbColors\", \"datasource\": \"67__table\", \"donut\": false, \"granularity_sqla\": null, \"groupby\": [\"data_domain\"], \"label_colors\": {}, \"labels_outside\": true, \"metric\": {\"aggregate\": \"MAX\", \"column\": {\"column_name\": \"count\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 307, \"is_dttm\": false, \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": false, \"label\": \"MAX(count)\", \"optionName\": \"metric_fgt92lxki3d_v12pvew79ei\", \"sqlExpression\": null}, \"number_format\": \"SMART_NUMBER\", \"pie_label_type\": \"key\", \"queryFields\": {\"groupby\": \"groupby\", \"metric\": \"metrics\"}, \"row_limit\": 1000, \"show_labels\": true, \"show_legend\": true, \"slice_id\": 68, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"pie\", \"remote_id\": 68, \"datasource_name\": \"Landing Page - Data Domains\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Total number of records", + "viz_type": "pie" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "null.Peter Rijnbeek-Age group at start of first observation-smvSJk6Hw", + "datasource_type": "table", + "id": 83, + "params": "{\"adhoc_filters\": [], \"all_columns\": [\"name\", \"age10\", \"age20\", \"age30\", \"age40\", \"age50\", \"age60\", \"age70\", \"age80\", \"age90\", \"age90p\"], \"color_pn\": true, \"datasource\": \"85__table\", \"groupby\": [], \"metrics\": [], \"order_by_cols\": [], \"order_desc\": true, \"percent_metrics\": [], \"queryFields\": {\"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"row_limit\": 1000, \"show_cell_bars\": false, \"slice_id\": 83, \"table_timestamp_format\": \"smart_date\", \"time_grain_sqla\": \"P1D\", \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"table\", \"remote_id\": 83, \"datasource_name\": \"Peter Rijnbeek-Age group at start of first observation-smvSJk6Hw\", \"schema\": \"null\", \"database_name\": \"Achilles\"}", + "slice_name": "Age at first observation", + "viz_type": "table" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Untitled Query 2-hW_lXt3eU", + "datasource_type": "table", + "id": 14, + "params": "{\"adhoc_filters\": [], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"name\"], \"contribution\": false, \"datasource\": \"10__table\", \"granularity_sqla\": null, \"groupby\": [\"age\"], \"label_colors\": {\"Female\": \"#FF3399\", \"Male\": \"#3366FF\", \"Syn1k-UK\": \"#ff5a5f\", \"Syn5k-NL\": \"#7b0051\", \"Syn5k-PT\": \"#007A87\", \"Syn5k-SP\": \"#00d1c1\"}, \"metrics\": [{\"aggregate\": \"MAX\", \"column\": {\"column_name\": \"count\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 52, \"is_dttm\": false, \"optionName\": \"_col_count\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": false, \"hasCustomLabel\": false, \"label\": \"MAX(count)\", \"optionName\": \"metric_dsbny4uupqu_xitbpo2zwoi\", \"sqlExpression\": null}], \"order_bars\": true, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": true, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 14, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"Age\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"Count\", \"remote_id\": 14, \"datasource_name\": \"Untitled Query 2-hW_lXt3eU\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Age at first observation", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Untitled Query 3-OTisQhOu9", + "datasource_type": "table", + "id": 15, + "params": "{\"adhoc_filters\": [], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"name\"], \"contribution\": false, \"datasource\": \"11__table\", \"granularity_sqla\": \"Birth_year\", \"groupby\": [\"Birth_year\"], \"label_colors\": {\"Female\": \"#FF3399\", \"Male\": \"#3366FF\", \"Syn1k-UK\": \"#ff5a5f\", \"Syn5k-NL\": \"#7b0051\", \"Syn5k-PT\": \"#007A87\", \"Syn5k-SP\": \"#00d1c1\"}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"count\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 56, \"is_dttm\": false, \"optionName\": \"_col_count\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": false, \"hasCustomLabel\": false, \"label\": \"SUM(count)\", \"optionName\": \"metric_cpx4knmvyq_7kbv0oube0f\", \"sqlExpression\": null}], \"order_bars\": true, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": true, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": true, \"show_legend\": true, \"slice_id\": 15, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"Year\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"Count\", \"remote_id\": 15, \"datasource_name\": \"Untitled Query 3-OTisQhOu9\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Year of Birth", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "null.Peter Rijnbeek-Untitled Query 2-jCYlfS520", + "datasource_type": "table", + "id": 82, + "params": "{\"adhoc_filters\": [], \"all_columns\": [\"name\", \"source_release_date\", \"cdm_release_date\", \"cdm_version\", \"vocabulary_version\"], \"color_pn\": true, \"datasource\": \"83__table\", \"groupby\": [], \"metrics\": [], \"order_by_cols\": [], \"order_desc\": true, \"percent_metrics\": [], \"queryFields\": {\"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"row_limit\": 1000, \"show_cell_bars\": true, \"slice_id\": 82, \"table_timestamp_format\": \"smart_date\", \"time_grain_sqla\": \"P1D\", \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"table\", \"remote_id\": 82, \"datasource_name\": \"Peter Rijnbeek-Untitled Query 2-jCYlfS520\", \"schema\": \"null\", \"database_name\": \"Achilles\"}", + "slice_name": "Meta Data", + "viz_type": "table" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.data_source", + "datasource_type": "table", + "id": 13, + "params": "{\"adhoc_filters\": [], \"datasource\": \"60__table\", \"date_filter\": false, \"filter_configs\": [{\"asc\": true, \"clearable\": true, \"column\": \"name\", \"key\": \"jXSVXn3gk\", \"label\": \"Data Source\", \"multiple\": true}], \"granularity_sqla\": null, \"instant_filtering\": true, \"queryFields\": {}, \"show_druid_time_granularity\": false, \"show_druid_time_origin\": false, \"show_sqla_time_column\": false, \"show_sqla_time_granularity\": false, \"slice_id\": 13, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {\"preselect_filters\": \"{\\\"13\\\": {\\\"name\\\": [\\\"Integrated Primary Care Information\\\"]}}\"}, \"viz_type\": \"filter_box\", \"remote_id\": 13, \"datasource_name\": \"data_source\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Data Source Filter", + "viz_type": "filter_box" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "null.Peter Rijnbeek-Untitled Query 2--E1zjg5sW", + "datasource_type": "table", + "id": 84, + "params": "{\"adhoc_filters\": [], \"all_columns\": [\"gender\", \"count_value\"], \"color_pn\": false, \"datasource\": \"86__table\", \"groupby\": [], \"metrics\": [], \"order_by_cols\": null, \"order_desc\": true, \"percent_metrics\": [], \"queryFields\": {\"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"row_limit\": 1000, \"show_cell_bars\": false, \"slice_id\": 84, \"table_timestamp_format\": \"smart_date\", \"time_grain_sqla\": \"P1D\", \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"table\", \"remote_id\": 84, \"datasource_name\": \"Peter Rijnbeek-Untitled Query 2--E1zjg5sW\", \"schema\": \"null\", \"database_name\": \"Achilles\"}", + "slice_name": "Gender", + "viz_type": "table" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Landing Page - Number of Patients query", + "datasource_type": "table", + "id": 62, + "params": "{\"adhoc_filters\": [], \"datasource\": \"54__table\", \"granularity_sqla\": null, \"header_font_size\": 0.3, \"metric\": {\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"count_value\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 277, \"is_dttm\": false, \"optionName\": \"_col_count_value\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": false, \"hasCustomLabel\": false, \"label\": \"SUM(count_value)\", \"optionName\": \"metric_g9sohftdn1_s9whttkxz1l\", \"sqlExpression\": null}, \"queryFields\": {\"metric\": \"metrics\"}, \"slice_id\": 62, \"subheader_font_size\": 0.125, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"big_number_total\", \"y_axis_format\": \"SMART_NUMBER\", \"remote_id\": 62, \"datasource_name\": \"Landing Page - Number of Patients query\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Number of Patients", + "viz_type": "big_number_total" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Untitled Query 2-QPQHc1uh6", + "datasource_type": "table", + "id": 17, + "params": "{\"adhoc_filters\": [], \"all_columns_x\": \"name\", \"all_columns_y\": \"data_domain\", \"bottom_margin\": \"auto\", \"canvas_image_rendering\": \"pixelated\", \"datasource\": \"14__table\", \"granularity_sqla\": null, \"left_margin\": \"auto\", \"linear_color_scheme\": \"greens\", \"metric\": {\"aggregate\": \"AVG\", \"column\": {\"column_name\": \"records_per_person\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 68, \"is_dttm\": false, \"optionName\": \"_col_records_per_person\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"hasCustomLabel\": true, \"isNew\": false, \"label\": \"avg records per person\", \"optionName\": \"metric_zx7vov5aux_cmnw1nknahk\", \"sqlExpression\": null}, \"normalize_across\": \"heatmap\", \"normalized\": false, \"queryFields\": {\"metric\": \"metrics\"}, \"row_limit\": null, \"show_legend\": true, \"show_perc\": true, \"show_values\": false, \"slice_id\": 17, \"sort_x_axis\": \"alpha_asc\", \"sort_y_axis\": \"alpha_asc\", \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"heatmap\", \"xscale_interval\": null, \"y_axis_bounds\": [null, null], \"y_axis_format\": \"SMART_NUMBER\", \"yscale_interval\": null, \"remote_id\": 17, \"datasource_name\": \"Untitled Query 2-QPQHc1uh6\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Average number of records per person", + "viz_type": "heatmap" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 5-3i9mLe1yw", + "datasource_type": "table", + "id": 22, + "params": "{\"adhoc_filters\": [], \"align_pn\": false, \"all_columns\": [\"source_name\", \"concept_id\", \"concept_name\", \"domain_id\", \"magnitude_persons\", \"magnitude_occurrences\"], \"color_pn\": true, \"datasource\": \"19__table\", \"granularity_sqla\": null, \"groupby\": [], \"include_search\": true, \"include_time\": false, \"metrics\": [], \"order_by_cols\": [], \"order_desc\": false, \"page_length\": 50, \"percent_metrics\": [], \"queryFields\": {\"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"row_limit\": null, \"show_cell_bars\": true, \"slice_id\": 22, \"table_filter\": true, \"table_timestamp_format\": \"%Y-%m-%d %H:%M:%S\", \"time_grain_sqla\": null, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"unknown\", \"inclusive\"], \"timeseries_limit_metric\": null, \"url_params\": {}, \"viz_type\": \"table\", \"remote_id\": 22, \"datasource_name\": \"admin user-Untitled Query 5-3i9mLe1yw\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Concepts - Concept Browser Table", + "viz_type": "table" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Cumulative Observation Period 2-L74hsau_K", + "datasource_type": "table", + "id": 87, + "params": "{\"adhoc_filters\": [], \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"name\"], \"datasource\": \"96__table\", \"groupby\": [\"xlengthofobservation\"], \"label_colors\": {}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"ypercentpersons\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 452, \"is_dttm\": false, \"optionName\": \"_col_ypercentpersons\", \"python_date_format\": null, \"type\": null, \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"hasCustomLabel\": false, \"isNew\": false, \"label\": \"SUM(ypercentpersons)\", \"optionName\": \"metric_cq74wvz3wga_ry4rmcxu0ip\", \"sqlExpression\": null}], \"order_bars\": true, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"row_limit\": 1000, \"show_legend\": true, \"slice_id\": 87, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"Days\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \",.1%\", \"remote_id\": 87, \"datasource_name\": \"Cumulative Observation Period 2-L74hsau_K\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Cumulative Observation Time", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Patients in Observation Period per month Query", + "datasource_type": "table", + "id": 28, + "params": "{\"adhoc_filters\": [], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"name\"], \"contribution\": false, \"datasource\": \"25__table\", \"granularity_sqla\": \"date\", \"groupby\": [\"date\"], \"label_colors\": {\"Syn1k-UK\": \"#ff5a5f\", \"Syn5k-NL\": \"#7b0051\", \"Syn5k-PT\": \"#007A87\", \"Syn5k-SP\": \"#00d1c1\"}, \"metrics\": [{\"aggregate\": \"MAX\", \"column\": {\"column_name\": \"Nr_patients\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 138, \"is_dttm\": false, \"optionName\": \"_col_Nr_patients\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Num of Patients\", \"optionName\": \"metric_3p61x9ncona_q3o5fcc0v6q\", \"sqlExpression\": null}], \"order_bars\": true, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": true, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 28, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"Dates\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"Number of Patients\", \"remote_id\": 28, \"datasource_name\": \"Patients in Observation Period per month Query\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Number of Patients in Observation Period", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Peter Rijnbeek-Visit Type Table v2-zZU86Qvwj", + "datasource_type": "table", + "id": 88, + "params": "{\"adhoc_filters\": [], \"all_columns\": [\"name\", \"concept_name\", \"num_persons\", \"percent_persons\", \"records_per_person\"], \"color_pn\": true, \"datasource\": \"98__table\", \"groupby\": [], \"metrics\": [], \"order_by_cols\": [], \"order_desc\": true, \"percent_metrics\": [], \"queryFields\": {\"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"row_limit\": 1000, \"show_cell_bars\": false, \"table_timestamp_format\": \"smart_date\", \"time_grain_sqla\": \"P1D\", \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"viz_type\": \"table\", \"remote_id\": 88, \"datasource_name\": \"Peter Rijnbeek-Visit Type Table v2-zZU86Qvwj\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Visit Type Table", + "viz_type": "table" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Peter Rijnbeek-Visit Type Table v2-DhXfzMl9M", + "datasource_type": "table", + "id": 89, + "params": "{\"adhoc_filters\": [], \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"name\"], \"datasource\": \"99__table\", \"groupby\": [\"concept_name\"], \"label_colors\": {}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"num_persons\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 465, \"is_dttm\": false, \"optionName\": \"_col_num_persons\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"hasCustomLabel\": false, \"isNew\": false, \"label\": \"SUM(num_persons)\", \"optionName\": \"metric_kcrkrhrxkrl_nprl8ttp6tr\", \"sqlExpression\": null}], \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"row_limit\": 1000, \"show_legend\": true, \"slice_id\": 89, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"remote_id\": 89, \"datasource_name\": \"Peter Rijnbeek-Visit Type Table v2-DhXfzMl9M\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Visit Type Graph", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 3-_1-hZtmZL", + "datasource_type": "table", + "id": 34, + "params": "{\"adhoc_filters\": [{\"clause\": \"WHERE\", \"comparator\": \"Device\", \"expressionType\": \"SIMPLE\", \"filterOptionName\": \"filter_qgdp5ana5g_vtxqy9rqhm7\", \"fromFormData\": true, \"operator\": \"==\", \"sqlExpression\": null, \"subject\": \"domain_name\"}], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"concept_name\"], \"contribution\": true, \"datasource\": \"26__table\", \"granularity_sqla\": null, \"groupby\": [\"name\"], \"label_colors\": {}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"num_records\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 143, \"is_dttm\": false, \"optionName\": \"_col_num_records\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Nr Records\", \"optionName\": \"metric_o8vjq1gc86q_hk98r2d9mm\", \"sqlExpression\": null}], \"order_bars\": false, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": false, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 34, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"unknown\", \"inclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"\", \"remote_id\": 34, \"datasource_name\": \"admin user-Untitled Query 3-_1-hZtmZL\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Device Types", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 3-_1-hZtmZL", + "datasource_type": "table", + "id": 33, + "params": "{\"adhoc_filters\": [{\"clause\": \"WHERE\", \"comparator\": \"Measurement\", \"expressionType\": \"SIMPLE\", \"filterOptionName\": \"filter_qgdp5ana5g_vtxqy9rqhm7\", \"fromFormData\": true, \"operator\": \"==\", \"sqlExpression\": null, \"subject\": \"domain_name\"}], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"concept_name\"], \"contribution\": true, \"datasource\": \"26__table\", \"granularity_sqla\": null, \"groupby\": [\"name\"], \"label_colors\": {}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"num_records\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 143, \"is_dttm\": false, \"optionName\": \"_col_num_records\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Nr Records\", \"optionName\": \"metric_o8vjq1gc86q_hk98r2d9mm\", \"sqlExpression\": null}], \"order_bars\": false, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": false, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 33, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"unknown\", \"inclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"\", \"remote_id\": 33, \"datasource_name\": \"admin user-Untitled Query 3-_1-hZtmZL\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Measurement Types", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 3-_1-hZtmZL", + "datasource_type": "table", + "id": 32, + "params": "{\"adhoc_filters\": [{\"clause\": \"WHERE\", \"comparator\": \"Drug\", \"expressionType\": \"SIMPLE\", \"filterOptionName\": \"filter_qgdp5ana5g_vtxqy9rqhm7\", \"fromFormData\": true, \"operator\": \"==\", \"sqlExpression\": null, \"subject\": \"domain_name\"}], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"d3Category20c\", \"columns\": [\"concept_name\"], \"contribution\": true, \"datasource\": \"26__table\", \"granularity_sqla\": null, \"groupby\": [\"name\"], \"label_colors\": {}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"num_records\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 143, \"is_dttm\": false, \"optionName\": \"_col_num_records\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Nr Records\", \"optionName\": \"metric_o8vjq1gc86q_hk98r2d9mm\", \"sqlExpression\": null}], \"order_bars\": false, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": false, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 32, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"\", \"remote_id\": 32, \"datasource_name\": \"admin user-Untitled Query 3-_1-hZtmZL\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Drug Types", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 3-_1-hZtmZL", + "datasource_type": "table", + "id": 31, + "params": "{\"adhoc_filters\": [{\"clause\": \"WHERE\", \"comparator\": \"Procedure\", \"expressionType\": \"SIMPLE\", \"filterOptionName\": \"filter_qgdp5ana5g_vtxqy9rqhm7\", \"fromFormData\": true, \"operator\": \"==\", \"sqlExpression\": null, \"subject\": \"domain_name\"}], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"d3Category20b\", \"columns\": [\"concept_name\"], \"contribution\": true, \"datasource\": \"26__table\", \"granularity_sqla\": null, \"groupby\": [\"name\"], \"label_colors\": {}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"num_records\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 143, \"is_dttm\": false, \"optionName\": \"_col_num_records\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Nr Records\", \"optionName\": \"metric_o8vjq1gc86q_hk98r2d9mm\", \"sqlExpression\": null}], \"order_bars\": false, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": false, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 31, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"unknown\", \"inclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"\", \"remote_id\": 31, \"datasource_name\": \"admin user-Untitled Query 3-_1-hZtmZL\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Procedure Types", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 3-_1-hZtmZL", + "datasource_type": "table", + "id": 30, + "params": "{\"adhoc_filters\": [{\"clause\": \"WHERE\", \"comparator\": \"Condition\", \"expressionType\": \"SIMPLE\", \"filterOptionName\": \"filter_qgdp5ana5g_vtxqy9rqhm7\", \"fromFormData\": true, \"operator\": \"==\", \"sqlExpression\": null, \"subject\": \"domain_name\"}], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"d3Category20c\", \"columns\": [\"concept_name\"], \"contribution\": true, \"datasource\": \"26__table\", \"granularity_sqla\": null, \"groupby\": [\"name\"], \"label_colors\": {}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"num_records\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 143, \"is_dttm\": false, \"optionName\": \"_col_num_records\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Nr Records\", \"optionName\": \"metric_o8vjq1gc86q_hk98r2d9mm\", \"sqlExpression\": null}], \"order_bars\": false, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": false, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 30, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"unknown\", \"inclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"\", \"remote_id\": 30, \"datasource_name\": \"admin user-Untitled Query 3-_1-hZtmZL\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Condition Types", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 3-_1-hZtmZL", + "datasource_type": "table", + "id": 29, + "params": "{\"adhoc_filters\": [{\"clause\": \"WHERE\", \"comparator\": \"Observation\", \"expressionType\": \"SIMPLE\", \"filterOptionName\": \"filter_qgdp5ana5g_vtxqy9rqhm7\", \"fromFormData\": true, \"operator\": \"==\", \"sqlExpression\": null, \"subject\": \"domain_name\"}], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"concept_name\"], \"contribution\": true, \"datasource\": \"26__table\", \"granularity_sqla\": null, \"groupby\": [\"name\"], \"label_colors\": {\"Observation recorded from EHR\": \"#8ce071\", \"Problem list from EHR\": \"#ffb400\", \"Syn1k-UK\": \"#ff5a5f\", \"Syn5k-NL\": \"#7b0051\", \"Syn5k-PT\": \"#007A87\", \"Syn5k-SP\": \"#00d1c1\", \"Test ordered through EHR\": \"#b4a76c\"}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"num_records\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 143, \"is_dttm\": false, \"optionName\": \"_col_num_records\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Nr Records\", \"optionName\": \"metric_o8vjq1gc86q_hk98r2d9mm\", \"sqlExpression\": null}], \"order_bars\": false, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": false, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 29, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"unknown\", \"inclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"\", \"remote_id\": 29, \"datasource_name\": \"admin user-Untitled Query 3-_1-hZtmZL\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Observation Types", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "null.Peter Rijnbeek-Untitled Query 2--E1zjg5sW", + "datasource_type": "table", + "id": 91, + "params": "{\"adhoc_filters\": [], \"color_scheme\": \"supersetColors\", \"datasource\": \"86__table\", \"groupby\": [\"gender\"], \"label_colors\": {}, \"labels_outside\": true, \"metric\": {\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"count_value\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 413, \"is_dttm\": false, \"optionName\": \"_col_count_value\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"hasCustomLabel\": false, \"isNew\": false, \"label\": \"SUM(count_value)\", \"optionName\": \"metric_4yhwa29vtbe_i5wwa79ih78\", \"sqlExpression\": null}, \"number_format\": \"SMART_NUMBER\", \"pie_label_type\": \"key\", \"queryFields\": {\"groupby\": \"groupby\", \"metric\": \"metrics\"}, \"row_limit\": null, \"show_labels\": true, \"show_legend\": false, \"slice_id\": 91, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"pie\", \"remote_id\": 91, \"datasource_name\": \"Peter Rijnbeek-Untitled Query 2--E1zjg5sW\", \"schema\": \"null\", \"database_name\": \"Achilles\"}", + "slice_name": "Gender", + "viz_type": "pie" + } + } + ], + "slug": "database-single-dashboard" + } + }, + { + "__Dashboard__": { + "css": null, + "dashboard_title": "Concepts Browser", + "description": null, + "json_metadata": "{\"default_filters\": \"{\\\"59\\\": {\\\"domain_id\\\": [\\\"Visit\\\"]}}\", \"expanded_slices\": {}, \"filter_scopes\": {\"59\": {\"domain_id\": {\"scope\": [\"ROOT_ID\"], \"immune\": []}}, \"60\": {\"source_name\": {\"scope\": [\"ROOT_ID\"], \"immune\": []}}}, \"refresh_frequency\": 0, \"timed_refresh_immune_slices\": [], \"remote_id\": 13}", + "position_json": "{\"CHART-35D7cc092b\":{\"children\":[],\"id\":\"CHART-35D7cc092b\",\"meta\":{\"chartId\":57,\"height\":17,\"sliceName\":\"Number of Concepts\",\"width\":4},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-3sikPXy1E\"],\"type\":\"CHART\"},\"CHART-9IQI-4PBLv\":{\"children\":[],\"id\":\"CHART-9IQI-4PBLv\",\"meta\":{\"chartId\":59,\"height\":17,\"sliceName\":\"Entity Type Filter\",\"width\":4},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-3sikPXy1E\"],\"type\":\"CHART\"},\"CHART-FP-_ARzsH7\":{\"children\":[],\"id\":\"CHART-FP-_ARzsH7\",\"meta\":{\"chartId\":22,\"height\":78,\"sliceName\":\"Concepts - Concept Browser Table\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-gTYmxo1nX\"],\"type\":\"CHART\"},\"CHART-wbLOAGyJGa\":{\"children\":[],\"id\":\"CHART-wbLOAGyJGa\",\"meta\":{\"chartId\":60,\"height\":17,\"sliceName\":\"Datasource Filter\",\"width\":4},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-3sikPXy1E\"],\"type\":\"CHART\"},\"DASHBOARD_VERSION_KEY\":\"v2\",\"GRID_ID\":{\"children\":[\"ROW-miknEJ5g9F\",\"ROW-3sikPXy1E\",\"ROW-gTYmxo1nX\"],\"id\":\"GRID_ID\",\"parents\":[\"ROOT_ID\"],\"type\":\"GRID\"},\"HEADER_ID\":{\"id\":\"HEADER_ID\",\"meta\":{\"text\":\"Concepts Browser\"},\"type\":\"HEADER\"},\"MARKDOWN-pTxzduuP7Z\":{\"children\":[],\"id\":\"MARKDOWN-pTxzduuP7Z\",\"meta\":{\"code\":\"*The concepts browser allows you to search for concepts by name or concept_id in all the data sources you select. No exact number of patients or occurrences are provided but the magnitude of both.*\",\"height\":7,\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-miknEJ5g9F\"],\"type\":\"MARKDOWN\"},\"ROOT_ID\":{\"children\":[\"GRID_ID\"],\"id\":\"ROOT_ID\",\"type\":\"ROOT\"},\"ROW-3sikPXy1E\":{\"children\":[\"CHART-wbLOAGyJGa\",\"CHART-9IQI-4PBLv\",\"CHART-35D7cc092b\"],\"id\":\"ROW-3sikPXy1E\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-gTYmxo1nX\":{\"children\":[\"CHART-FP-_ARzsH7\"],\"id\":\"ROW-gTYmxo1nX\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-miknEJ5g9F\":{\"children\":[\"MARKDOWN-pTxzduuP7Z\"],\"id\":\"ROW-miknEJ5g9F\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"}}", + "slices": [ + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 5-3i9mLe1yw", + "datasource_type": "table", + "id": 22, + "params": "{\"adhoc_filters\": [], \"align_pn\": false, \"all_columns\": [\"source_name\", \"concept_id\", \"concept_name\", \"domain_id\", \"magnitude_persons\", \"magnitude_occurrences\"], \"color_pn\": true, \"datasource\": \"19__table\", \"granularity_sqla\": null, \"groupby\": [], \"include_search\": true, \"include_time\": false, \"metrics\": [], \"order_by_cols\": [], \"order_desc\": false, \"page_length\": 50, \"percent_metrics\": [], \"queryFields\": {\"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"row_limit\": null, \"show_cell_bars\": true, \"slice_id\": 22, \"table_filter\": true, \"table_timestamp_format\": \"%Y-%m-%d %H:%M:%S\", \"time_grain_sqla\": null, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"unknown\", \"inclusive\"], \"timeseries_limit_metric\": null, \"url_params\": {}, \"viz_type\": \"table\", \"remote_id\": 22, \"datasource_name\": \"admin user-Untitled Query 5-3i9mLe1yw\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Concepts - Concept Browser Table", + "viz_type": "table" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "Andre Pedrosa-Untitled Query 4-XSyBDNYd6", + "datasource_type": "table", + "id": 57, + "params": "{\"adhoc_filters\": [], \"datasource\": \"51__table\", \"granularity_sqla\": null, \"header_font_size\": 0.3, \"metric\": {\"aggregate\": \"COUNT_DISTINCT\", \"column\": {\"column_name\": \"concept_name\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 266, \"is_dttm\": false, \"optionName\": \"_col_concept_name\", \"python_date_format\": null, \"type\": \"STRING\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Concepts\", \"optionName\": \"metric_s8j9b1vtvma_bg2a7n7b0no\", \"sqlExpression\": null}, \"subheader_font_size\": 0.125, \"time_range\": \"No filter\", \"viz_type\": \"big_number_total\", \"y_axis_format\": \"SMART_NUMBER\", \"remote_id\": 57, \"datasource_name\": \"Concepts General - Filters\", \"schema\": null, \"database_name\": \"Achilles\"}", + "slice_name": "Number of Concepts", + "viz_type": "big_number_total" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "Concepts General - Filters", + "datasource_type": "table", + "id": 59, + "params": "{\"adhoc_filters\": [], \"datasource\": \"51__table\", \"date_filter\": false, \"filter_configs\": [{\"asc\": true, \"clearable\": true, \"column\": \"domain_id\", \"key\": \"1_cV3BATS\", \"label\": \"Entity Type\", \"multiple\": true}], \"granularity_sqla\": null, \"instant_filtering\": true, \"queryFields\": {}, \"show_druid_time_granularity\": false, \"show_druid_time_origin\": false, \"show_sqla_time_column\": false, \"show_sqla_time_granularity\": false, \"slice_id\": 59, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"unknown\", \"inclusive\"], \"url_params\": {}, \"viz_type\": \"filter_box\", \"remote_id\": 59, \"datasource_name\": \"Concepts General - Filters\", \"schema\": null, \"database_name\": \"Achilles\"}", + "slice_name": "Domain Filter", + "viz_type": "filter_box" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "Concepts General - Filters", + "datasource_type": "table", + "id": 60, + "params": "{\"adhoc_filters\": [], \"datasource\": \"51__table\", \"date_filter\": false, \"filter_configs\": [{\"asc\": true, \"clearable\": true, \"column\": \"source_name\", \"key\": \"7eXl-WFCs\", \"label\": \"Datasource\", \"multiple\": true}], \"granularity_sqla\": null, \"instant_filtering\": true, \"show_druid_time_granularity\": false, \"show_druid_time_origin\": false, \"show_sqla_time_column\": false, \"show_sqla_time_granularity\": false, \"slice_id\": 60, \"time_range\": \"No filter\", \"url_params\": {}, \"viz_type\": \"filter_box\", \"remote_id\": 60, \"datasource_name\": \"Concepts General - Filters\", \"schema\": null, \"database_name\": \"Achilles\"}", + "slice_name": "Datasource Filter", + "viz_type": "filter_box" + } + } + ], + "slug": "concepts-general" + } + }, + { + "__Dashboard__": { + "css": null, + "dashboard_title": "Provenance", + "description": null, + "json_metadata": "{\"default_filters\": \"{}\", \"expanded_slices\": {}, \"refresh_frequency\": 0, \"timed_refresh_immune_slices\": [], \"filter_scopes\": {\"13\": {\"name\": {\"scope\": [\"ROOT_ID\"], \"immune\": []}}}, \"remote_id\": 14}", + "position_json": "{\"CHART-B9oELPfU_y\":{\"children\":[],\"id\":\"CHART-B9oELPfU_y\",\"meta\":{\"chartId\":31,\"height\":65,\"sliceName\":\"Concepts - Procedure Types\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-YDPtjYKxid\"],\"type\":\"CHART\"},\"CHART-Ff5q_yjOGL\":{\"children\":[],\"id\":\"CHART-Ff5q_yjOGL\",\"meta\":{\"chartId\":32,\"height\":61,\"sliceName\":\"Concepts - Drug Types\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-tLsQVspD3\"],\"type\":\"CHART\"},\"CHART-U-QZ35Xw1e\":{\"children\":[],\"id\":\"CHART-U-QZ35Xw1e\",\"meta\":{\"chartId\":34,\"height\":63,\"sliceName\":\"Concepts - Device Types\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-YDPtjYKxid\"],\"type\":\"CHART\"},\"CHART-jKCUQaYpML\":{\"children\":[],\"id\":\"CHART-jKCUQaYpML\",\"meta\":{\"chartId\":30,\"height\":61,\"sliceName\":\"Concepts - Condition Types\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-tLsQVspD3\"],\"type\":\"CHART\"},\"CHART-pZx2CarZpN\":{\"children\":[],\"id\":\"CHART-pZx2CarZpN\",\"meta\":{\"chartId\":29,\"height\":63,\"sliceName\":\"Concepts - Observation Types\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-i13-Ll46Hj\"],\"type\":\"CHART\"},\"CHART-wPre-hIgUB\":{\"children\":[],\"id\":\"CHART-wPre-hIgUB\",\"meta\":{\"chartId\":33,\"height\":63,\"sliceName\":\"Concepts - Measurement Types\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-i13-Ll46Hj\"],\"type\":\"CHART\"},\"CHART-wiZiygoZjC\":{\"children\":[],\"id\":\"CHART-wiZiygoZjC\",\"meta\":{\"chartId\":13,\"height\":14,\"sliceName\":\"Data Source Filter\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-zwaSxX6vB\"],\"type\":\"CHART\"},\"DASHBOARD_VERSION_KEY\":\"v2\",\"DIVIDER-it-rey7Vg1\":{\"children\":[],\"id\":\"DIVIDER-it-rey7Vg1\",\"meta\":{},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"DIVIDER\"},\"GRID_ID\":{\"children\":[\"ROW-LQbuYpDSiU\",\"ROW-zwaSxX6vB\",\"DIVIDER-it-rey7Vg1\",\"ROW-tLsQVspD3\",\"ROW-YDPtjYKxid\",\"ROW-i13-Ll46Hj\"],\"id\":\"GRID_ID\",\"parents\":[\"ROOT_ID\"],\"type\":\"GRID\"},\"HEADER_ID\":{\"id\":\"HEADER_ID\",\"meta\":{\"text\":\"Provenance\"},\"type\":\"HEADER\"},\"MARKDOWN-KucspUEg01\":{\"children\":[],\"id\":\"MARKDOWN-KucspUEg01\",\"meta\":{\"code\":\"This Dashboard shows the provenance of the data in the different data domains.\",\"height\":6,\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-LQbuYpDSiU\"],\"type\":\"MARKDOWN\"},\"ROOT_ID\":{\"children\":[\"GRID_ID\"],\"id\":\"ROOT_ID\",\"type\":\"ROOT\"},\"ROW-LQbuYpDSiU\":{\"children\":[\"MARKDOWN-KucspUEg01\"],\"id\":\"ROW-LQbuYpDSiU\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-YDPtjYKxid\":{\"children\":[\"CHART-B9oELPfU_y\",\"CHART-U-QZ35Xw1e\"],\"id\":\"ROW-YDPtjYKxid\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-i13-Ll46Hj\":{\"children\":[\"CHART-wPre-hIgUB\",\"CHART-pZx2CarZpN\"],\"id\":\"ROW-i13-Ll46Hj\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-tLsQVspD3\":{\"children\":[\"CHART-jKCUQaYpML\",\"CHART-Ff5q_yjOGL\"],\"id\":\"ROW-tLsQVspD3\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-zwaSxX6vB\":{\"children\":[\"CHART-wiZiygoZjC\"],\"id\":\"ROW-zwaSxX6vB\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"}}", + "slices": [ + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 3-_1-hZtmZL", + "datasource_type": "table", + "id": 29, + "params": "{\"adhoc_filters\": [{\"clause\": \"WHERE\", \"comparator\": \"Observation\", \"expressionType\": \"SIMPLE\", \"filterOptionName\": \"filter_qgdp5ana5g_vtxqy9rqhm7\", \"fromFormData\": true, \"operator\": \"==\", \"sqlExpression\": null, \"subject\": \"domain_name\"}], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"concept_name\"], \"contribution\": true, \"datasource\": \"26__table\", \"granularity_sqla\": null, \"groupby\": [\"name\"], \"label_colors\": {\"Observation recorded from EHR\": \"#8ce071\", \"Problem list from EHR\": \"#ffb400\", \"Syn1k-UK\": \"#ff5a5f\", \"Syn5k-NL\": \"#7b0051\", \"Syn5k-PT\": \"#007A87\", \"Syn5k-SP\": \"#00d1c1\", \"Test ordered through EHR\": \"#b4a76c\"}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"num_records\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 143, \"is_dttm\": false, \"optionName\": \"_col_num_records\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Nr Records\", \"optionName\": \"metric_o8vjq1gc86q_hk98r2d9mm\", \"sqlExpression\": null}], \"order_bars\": false, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": false, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 29, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"unknown\", \"inclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"\", \"remote_id\": 29, \"datasource_name\": \"admin user-Untitled Query 3-_1-hZtmZL\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Observation Types", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 3-_1-hZtmZL", + "datasource_type": "table", + "id": 30, + "params": "{\"adhoc_filters\": [{\"clause\": \"WHERE\", \"comparator\": \"Condition\", \"expressionType\": \"SIMPLE\", \"filterOptionName\": \"filter_qgdp5ana5g_vtxqy9rqhm7\", \"fromFormData\": true, \"operator\": \"==\", \"sqlExpression\": null, \"subject\": \"domain_name\"}], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"d3Category20c\", \"columns\": [\"concept_name\"], \"contribution\": true, \"datasource\": \"26__table\", \"granularity_sqla\": null, \"groupby\": [\"name\"], \"label_colors\": {}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"num_records\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 143, \"is_dttm\": false, \"optionName\": \"_col_num_records\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Nr Records\", \"optionName\": \"metric_o8vjq1gc86q_hk98r2d9mm\", \"sqlExpression\": null}], \"order_bars\": false, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": false, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 30, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"unknown\", \"inclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"\", \"remote_id\": 30, \"datasource_name\": \"admin user-Untitled Query 3-_1-hZtmZL\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Condition Types", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 3-_1-hZtmZL", + "datasource_type": "table", + "id": 31, + "params": "{\"adhoc_filters\": [{\"clause\": \"WHERE\", \"comparator\": \"Procedure\", \"expressionType\": \"SIMPLE\", \"filterOptionName\": \"filter_qgdp5ana5g_vtxqy9rqhm7\", \"fromFormData\": true, \"operator\": \"==\", \"sqlExpression\": null, \"subject\": \"domain_name\"}], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"d3Category20b\", \"columns\": [\"concept_name\"], \"contribution\": true, \"datasource\": \"26__table\", \"granularity_sqla\": null, \"groupby\": [\"name\"], \"label_colors\": {}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"num_records\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 143, \"is_dttm\": false, \"optionName\": \"_col_num_records\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Nr Records\", \"optionName\": \"metric_o8vjq1gc86q_hk98r2d9mm\", \"sqlExpression\": null}], \"order_bars\": false, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": false, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 31, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"unknown\", \"inclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"\", \"remote_id\": 31, \"datasource_name\": \"admin user-Untitled Query 3-_1-hZtmZL\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Procedure Types", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 3-_1-hZtmZL", + "datasource_type": "table", + "id": 32, + "params": "{\"adhoc_filters\": [{\"clause\": \"WHERE\", \"comparator\": \"Drug\", \"expressionType\": \"SIMPLE\", \"filterOptionName\": \"filter_qgdp5ana5g_vtxqy9rqhm7\", \"fromFormData\": true, \"operator\": \"==\", \"sqlExpression\": null, \"subject\": \"domain_name\"}], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"d3Category20c\", \"columns\": [\"concept_name\"], \"contribution\": true, \"datasource\": \"26__table\", \"granularity_sqla\": null, \"groupby\": [\"name\"], \"label_colors\": {}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"num_records\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 143, \"is_dttm\": false, \"optionName\": \"_col_num_records\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Nr Records\", \"optionName\": \"metric_o8vjq1gc86q_hk98r2d9mm\", \"sqlExpression\": null}], \"order_bars\": false, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": false, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 32, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"\", \"remote_id\": 32, \"datasource_name\": \"admin user-Untitled Query 3-_1-hZtmZL\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Drug Types", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 3-_1-hZtmZL", + "datasource_type": "table", + "id": 33, + "params": "{\"adhoc_filters\": [{\"clause\": \"WHERE\", \"comparator\": \"Measurement\", \"expressionType\": \"SIMPLE\", \"filterOptionName\": \"filter_qgdp5ana5g_vtxqy9rqhm7\", \"fromFormData\": true, \"operator\": \"==\", \"sqlExpression\": null, \"subject\": \"domain_name\"}], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"concept_name\"], \"contribution\": true, \"datasource\": \"26__table\", \"granularity_sqla\": null, \"groupby\": [\"name\"], \"label_colors\": {}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"num_records\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 143, \"is_dttm\": false, \"optionName\": \"_col_num_records\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Nr Records\", \"optionName\": \"metric_o8vjq1gc86q_hk98r2d9mm\", \"sqlExpression\": null}], \"order_bars\": false, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": false, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 33, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"unknown\", \"inclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"\", \"remote_id\": 33, \"datasource_name\": \"admin user-Untitled Query 3-_1-hZtmZL\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Measurement Types", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 3-_1-hZtmZL", + "datasource_type": "table", + "id": 34, + "params": "{\"adhoc_filters\": [{\"clause\": \"WHERE\", \"comparator\": \"Device\", \"expressionType\": \"SIMPLE\", \"filterOptionName\": \"filter_qgdp5ana5g_vtxqy9rqhm7\", \"fromFormData\": true, \"operator\": \"==\", \"sqlExpression\": null, \"subject\": \"domain_name\"}], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"concept_name\"], \"contribution\": true, \"datasource\": \"26__table\", \"granularity_sqla\": null, \"groupby\": [\"name\"], \"label_colors\": {}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"num_records\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 143, \"is_dttm\": false, \"optionName\": \"_col_num_records\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Nr Records\", \"optionName\": \"metric_o8vjq1gc86q_hk98r2d9mm\", \"sqlExpression\": null}], \"order_bars\": false, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": false, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 34, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"unknown\", \"inclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"\", \"remote_id\": 34, \"datasource_name\": \"admin user-Untitled Query 3-_1-hZtmZL\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Device Types", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.data_source", + "datasource_type": "table", + "id": 13, + "params": "{\"adhoc_filters\": [], \"datasource\": \"60__table\", \"date_filter\": false, \"filter_configs\": [{\"asc\": true, \"clearable\": true, \"column\": \"name\", \"key\": \"jXSVXn3gk\", \"label\": \"Data Source\", \"multiple\": true}], \"granularity_sqla\": null, \"instant_filtering\": true, \"queryFields\": {}, \"show_druid_time_granularity\": false, \"show_druid_time_origin\": false, \"show_sqla_time_column\": false, \"show_sqla_time_granularity\": false, \"slice_id\": 13, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {\"preselect_filters\": \"{\\\"13\\\": {\\\"name\\\": [\\\"Integrated Primary Care Information\\\"]}}\"}, \"viz_type\": \"filter_box\", \"remote_id\": 13, \"datasource_name\": \"data_source\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Data Source Filter", + "viz_type": "filter_box" + } + } + ], + "slug": "concepts-domains" + } + }, + { + "__Dashboard__": { + "css": null, + "dashboard_title": "Observation Period", + "description": null, + "json_metadata": "{\"default_filters\": \"{}\", \"expanded_slices\": {}, \"filter_scopes\": {\"13\": {\"name\": {\"scope\": [\"ROOT_ID\"], \"immune\": []}}}, \"refresh_frequency\": 0, \"timed_refresh_immune_slices\": [], \"remote_id\": 9}", + "position_json": "{\"CHART-JM7VyS2xhO\":{\"children\":[],\"id\":\"CHART-JM7VyS2xhO\",\"meta\":{\"chartId\":40,\"height\":82,\"sliceName\":\"Population Characteristics - Observation Period End Dates\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-nweL96pnK\"],\"type\":\"CHART\"},\"CHART-SUFSDt02gT\":{\"children\":[],\"id\":\"CHART-SUFSDt02gT\",\"meta\":{\"chartId\":41,\"height\":82,\"sliceName\":\"Population Characteristics - Observation Period Start Dates\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-nweL96pnK\"],\"type\":\"CHART\"},\"CHART-ZLo2NIXJ2P\":{\"children\":[],\"id\":\"CHART-ZLo2NIXJ2P\",\"meta\":{\"chartId\":13,\"height\":15,\"sliceName\":\"Data Source Filter\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-kcQg7b0fn\"],\"type\":\"CHART\"},\"CHART-zm6-cGyI_H\":{\"children\":[],\"id\":\"CHART-zm6-cGyI_H\",\"meta\":{\"chartId\":28,\"height\":79,\"sliceName\":\"Population Characteristics - Patients in Observation Period per month\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-5W7alUw50\"],\"type\":\"CHART\"},\"DASHBOARD_VERSION_KEY\":\"v2\",\"GRID_ID\":{\"children\":[\"ROW-kcQg7b0fn\",\"ROW-5W7alUw50\",\"ROW-nweL96pnK\"],\"id\":\"GRID_ID\",\"parents\":[\"ROOT_ID\"],\"type\":\"GRID\"},\"HEADER_ID\":{\"id\":\"HEADER_ID\",\"meta\":{\"text\":\"Observation Period\"},\"type\":\"HEADER\"},\"ROOT_ID\":{\"children\":[\"GRID_ID\"],\"id\":\"ROOT_ID\",\"type\":\"ROOT\"},\"ROW-5W7alUw50\":{\"children\":[\"CHART-zm6-cGyI_H\"],\"id\":\"ROW-5W7alUw50\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-kcQg7b0fn\":{\"children\":[\"CHART-ZLo2NIXJ2P\"],\"id\":\"ROW-kcQg7b0fn\",\"meta\":{\"0\":\"ROOT_ID\",\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-nweL96pnK\":{\"children\":[\"CHART-SUFSDt02gT\",\"CHART-JM7VyS2xhO\"],\"id\":\"ROW-nweL96pnK\",\"meta\":{\"0\":\"ROOT_ID\",\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"}}", + "slices": [ + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Patients in Observation Period per month Query", + "datasource_type": "table", + "id": 28, + "params": "{\"adhoc_filters\": [], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"name\"], \"contribution\": false, \"datasource\": \"25__table\", \"granularity_sqla\": \"date\", \"groupby\": [\"date\"], \"label_colors\": {\"Syn1k-UK\": \"#ff5a5f\", \"Syn5k-NL\": \"#7b0051\", \"Syn5k-PT\": \"#007A87\", \"Syn5k-SP\": \"#00d1c1\"}, \"metrics\": [{\"aggregate\": \"MAX\", \"column\": {\"column_name\": \"Nr_patients\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 138, \"is_dttm\": false, \"optionName\": \"_col_Nr_patients\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Num of Patients\", \"optionName\": \"metric_3p61x9ncona_q3o5fcc0v6q\", \"sqlExpression\": null}], \"order_bars\": true, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": true, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 28, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"Dates\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"Number of Patients\", \"remote_id\": 28, \"datasource_name\": \"Patients in Observation Period per month Query\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Number of Patients in Observation Period", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.data_source", + "datasource_type": "table", + "id": 13, + "params": "{\"adhoc_filters\": [], \"datasource\": \"60__table\", \"date_filter\": false, \"filter_configs\": [{\"asc\": true, \"clearable\": true, \"column\": \"name\", \"key\": \"jXSVXn3gk\", \"label\": \"Data Source\", \"multiple\": true}], \"granularity_sqla\": null, \"instant_filtering\": true, \"queryFields\": {}, \"show_druid_time_granularity\": false, \"show_druid_time_origin\": false, \"show_sqla_time_column\": false, \"show_sqla_time_granularity\": false, \"slice_id\": 13, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {\"preselect_filters\": \"{\\\"13\\\": {\\\"name\\\": [\\\"Integrated Primary Care Information\\\"]}}\"}, \"viz_type\": \"filter_box\", \"remote_id\": 13, \"datasource_name\": \"data_source\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Data Source Filter", + "viz_type": "filter_box" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 2-T7XwQxM_U", + "datasource_type": "table", + "id": 40, + "params": "{\"adhoc_filters\": [], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"name\"], \"contribution\": false, \"datasource\": \"39__table\", \"granularity_sqla\": \"year_month\", \"groupby\": [\"year_month\"], \"label_colors\": {\"Syn1k-UK\": \"#ff5a5f\", \"Syn5k-NL\": \"#7b0051\", \"Syn5k-PT\": \"#007A87\", \"Syn5k-SP\": \"#00d1c1\"}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"patient_count\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 210, \"is_dttm\": false, \"optionName\": \"_col_patient_count\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Patients\", \"optionName\": \"metric_polnej098p8_gvup6qsu0dr\", \"sqlExpression\": null}], \"order_bars\": true, \"reduce_x_ticks\": true, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 40, \"time_range\": \"No filter\", \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"Year\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"Number of Patients\", \"remote_id\": 40, \"datasource_name\": \"Observation Period End Dates Query\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Population Characteristics - Observation Period End Dates", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 2-OVOM0LBcs", + "datasource_type": "table", + "id": 41, + "params": "{\"adhoc_filters\": [], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"name\"], \"contribution\": false, \"datasource\": \"40__table\", \"granularity_sqla\": \"year_month\", \"groupby\": [\"year_month\"], \"label_colors\": {\"Syn1k-UK\": \"#ff5a5f\", \"Syn5k-NL\": \"#7b0051\", \"Syn5k-PT\": \"#007A87\", \"Syn5k-SP\": \"#00d1c1\"}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"patient_count\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 213, \"is_dttm\": false, \"optionName\": \"_col_patient_count\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Patients\", \"optionName\": \"metric_6bczp63az25_cplpgcko0q\", \"sqlExpression\": null}], \"order_bars\": true, \"reduce_x_ticks\": true, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 41, \"time_range\": \"No filter\", \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"Year\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"Number of Patients\", \"remote_id\": 41, \"datasource_name\": \"Observation Period Start Dates Query\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Population Characteristics - Observation Period Start Dates", + "viz_type": "dist_bar" + } + } + ], + "slug": "period" + } + }, + { + "__Dashboard__": { + "css": null, + "dashboard_title": "Person", + "description": null, + "json_metadata": "{\"default_filters\": \"{\\\"13\\\": {\\\"name\\\": [\\\"Integrated Primary Care Information\\\"]}}\", \"expanded_slices\": {}, \"filter_scopes\": {\"13\": {\"name\": {\"scope\": [\"ROOT_ID\"], \"immune\": []}}}, \"label_colors\": {\"Female\": \"#FF3399\", \"Male\": \"#3366FF\"}, \"refresh_frequency\": 0, \"timed_refresh_immune_slices\": [], \"remote_id\": 8}", + "position_json": "{\"CHART-XsJxSD2vxt\":{\"children\":[],\"id\":\"CHART-XsJxSD2vxt\",\"meta\":{\"chartId\":14,\"height\":44,\"sliceName\":\"Age at first observation\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-xxT4JsbUi\"],\"type\":\"CHART\"},\"CHART-_tHxzTYv3G\":{\"children\":[],\"id\":\"CHART-_tHxzTYv3G\",\"meta\":{\"chartId\":16,\"height\":44,\"sliceName\":\"Person - Gender Distribution\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-IUvjhGpjI\"],\"type\":\"CHART\"},\"CHART-gUBonfpEfu\":{\"children\":[],\"id\":\"CHART-gUBonfpEfu\",\"meta\":{\"chartId\":15,\"height\":44,\"sliceName\":\"Year of Birth\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-IUvjhGpjI\"],\"type\":\"CHART\"},\"CHART-iDbO8sCO7s\":{\"children\":[],\"id\":\"CHART-iDbO8sCO7s\",\"meta\":{\"chartId\":13,\"height\":17,\"sliceName\":\"Data Source Filter\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-kiDnX8f_d9\"],\"type\":\"CHART\"},\"CHART-nWcIaca73t\":{\"children\":[],\"id\":\"CHART-nWcIaca73t\",\"meta\":{\"chartId\":83,\"height\":44,\"sliceName\":\"Age at first observation\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-xxT4JsbUi\"],\"type\":\"CHART\"},\"DASHBOARD_VERSION_KEY\":\"v2\",\"DIVIDER-83kwyFwpNl\":{\"children\":[],\"id\":\"DIVIDER-83kwyFwpNl\",\"meta\":{},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"DIVIDER\"},\"DIVIDER-gBYwO8Qw_3\":{\"children\":[],\"id\":\"DIVIDER-gBYwO8Qw_3\",\"meta\":{},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"DIVIDER\"},\"DIVIDER-t2RQ2Z4lTS\":{\"children\":[],\"id\":\"DIVIDER-t2RQ2Z4lTS\",\"meta\":{},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"DIVIDER\"},\"GRID_ID\":{\"children\":[\"ROW-kiDnX8f_d9\",\"DIVIDER-t2RQ2Z4lTS\",\"ROW-xxT4JsbUi\",\"ROW-IUvjhGpjI\",\"DIVIDER-gBYwO8Qw_3\",\"DIVIDER-83kwyFwpNl\"],\"id\":\"GRID_ID\",\"parents\":[\"ROOT_ID\"],\"type\":\"GRID\"},\"HEADER_ID\":{\"id\":\"HEADER_ID\",\"meta\":{\"text\":\"Person\"},\"type\":\"HEADER\"},\"ROOT_ID\":{\"children\":[\"GRID_ID\"],\"id\":\"ROOT_ID\",\"type\":\"ROOT\"},\"ROW-IUvjhGpjI\":{\"children\":[\"CHART-gUBonfpEfu\",\"CHART-_tHxzTYv3G\"],\"id\":\"ROW-IUvjhGpjI\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-kiDnX8f_d9\":{\"children\":[\"CHART-iDbO8sCO7s\"],\"id\":\"ROW-kiDnX8f_d9\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-xxT4JsbUi\":{\"children\":[\"CHART-nWcIaca73t\",\"CHART-XsJxSD2vxt\"],\"id\":\"ROW-xxT4JsbUi\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"}}", + "slices": [ + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.data_source", + "datasource_type": "table", + "id": 13, + "params": "{\"adhoc_filters\": [], \"datasource\": \"60__table\", \"date_filter\": false, \"filter_configs\": [{\"asc\": true, \"clearable\": true, \"column\": \"name\", \"key\": \"jXSVXn3gk\", \"label\": \"Data Source\", \"multiple\": true}], \"granularity_sqla\": null, \"instant_filtering\": true, \"queryFields\": {}, \"show_druid_time_granularity\": false, \"show_druid_time_origin\": false, \"show_sqla_time_column\": false, \"show_sqla_time_granularity\": false, \"slice_id\": 13, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {\"preselect_filters\": \"{\\\"13\\\": {\\\"name\\\": [\\\"Integrated Primary Care Information\\\"]}}\"}, \"viz_type\": \"filter_box\", \"remote_id\": 13, \"datasource_name\": \"data_source\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Data Source Filter", + "viz_type": "filter_box" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Untitled Query 2-hW_lXt3eU", + "datasource_type": "table", + "id": 14, + "params": "{\"adhoc_filters\": [], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"name\"], \"contribution\": false, \"datasource\": \"10__table\", \"granularity_sqla\": null, \"groupby\": [\"age\"], \"label_colors\": {\"Female\": \"#FF3399\", \"Male\": \"#3366FF\", \"Syn1k-UK\": \"#ff5a5f\", \"Syn5k-NL\": \"#7b0051\", \"Syn5k-PT\": \"#007A87\", \"Syn5k-SP\": \"#00d1c1\"}, \"metrics\": [{\"aggregate\": \"MAX\", \"column\": {\"column_name\": \"count\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 52, \"is_dttm\": false, \"optionName\": \"_col_count\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": false, \"hasCustomLabel\": false, \"label\": \"MAX(count)\", \"optionName\": \"metric_dsbny4uupqu_xitbpo2zwoi\", \"sqlExpression\": null}], \"order_bars\": true, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": true, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": true, \"slice_id\": 14, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"Age\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"Count\", \"remote_id\": 14, \"datasource_name\": \"Untitled Query 2-hW_lXt3eU\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Age at first observation", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 4-Rh4xC8sII", + "datasource_type": "table", + "id": 16, + "params": "{\"adhoc_filters\": [], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"supersetColors\", \"columns\": [\"gender\"], \"contribution\": true, \"datasource\": \"12__table\", \"granularity_sqla\": null, \"groupby\": [\"acronym\"], \"label_colors\": {\"Female\": \"#FF3399\", \"Male\": \"#3366FF\"}, \"metrics\": [{\"aggregate\": \"MAX\", \"column\": {\"column_name\": \"number_of_persons\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 60, \"is_dttm\": false, \"optionName\": \"_col_number_of_persons\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": false, \"hasCustomLabel\": false, \"label\": \"MAX(number_of_persons)\", \"optionName\": \"metric_xwgqdrwbpcd_f5co556qml\", \"sqlExpression\": null}], \"order_bars\": true, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": true, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": true, \"show_legend\": true, \"slice_id\": 16, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {\"preselect_filters\": \"{\\\"13\\\": {\\\"name\\\": [\\\"Integrated Primary Care Information\\\"]}}\"}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"\", \"remote_id\": 16, \"datasource_name\": \"admin user-Untitled Query 4-Rh4xC8sII\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Gender", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "null.Peter Rijnbeek-Age group at start of first observation-smvSJk6Hw", + "datasource_type": "table", + "id": 83, + "params": "{\"adhoc_filters\": [], \"all_columns\": [\"name\", \"age10\", \"age20\", \"age30\", \"age40\", \"age50\", \"age60\", \"age70\", \"age80\", \"age90\", \"age90p\"], \"color_pn\": true, \"datasource\": \"85__table\", \"groupby\": [], \"metrics\": [], \"order_by_cols\": [], \"order_desc\": true, \"percent_metrics\": [], \"queryFields\": {\"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"row_limit\": 1000, \"show_cell_bars\": false, \"slice_id\": 83, \"table_timestamp_format\": \"smart_date\", \"time_grain_sqla\": \"P1D\", \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"table\", \"remote_id\": 83, \"datasource_name\": \"Peter Rijnbeek-Age group at start of first observation-smvSJk6Hw\", \"schema\": \"null\", \"database_name\": \"Achilles\"}", + "slice_name": "Age at first observation", + "viz_type": "table" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Untitled Query 3-OTisQhOu9", + "datasource_type": "table", + "id": 15, + "params": "{\"adhoc_filters\": [], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"name\"], \"contribution\": false, \"datasource\": \"11__table\", \"granularity_sqla\": \"Birth_year\", \"groupby\": [\"Birth_year\"], \"label_colors\": {\"Female\": \"#FF3399\", \"Male\": \"#3366FF\", \"Syn1k-UK\": \"#ff5a5f\", \"Syn5k-NL\": \"#7b0051\", \"Syn5k-PT\": \"#007A87\", \"Syn5k-SP\": \"#00d1c1\"}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"count\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 56, \"is_dttm\": false, \"optionName\": \"_col_count\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": false, \"hasCustomLabel\": false, \"label\": \"SUM(count)\", \"optionName\": \"metric_cpx4knmvyq_7kbv0oube0f\", \"sqlExpression\": null}], \"order_bars\": true, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": true, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": true, \"show_legend\": true, \"slice_id\": 15, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"Year\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"Count\", \"remote_id\": 15, \"datasource_name\": \"Untitled Query 3-OTisQhOu9\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Year of Birth", + "viz_type": "dist_bar" + } + } + ], + "slug": "person" + } + }, + { + "__Dashboard__": { + "css": null, + "dashboard_title": "Database Dashboard", + "description": null, + "json_metadata": "{\"default_filters\": \"{}\", \"expanded_slices\": {}, \"filter_scopes\": {\"69\": {\"slug\": {\"scope\": [\"ROOT_ID\"], \"immune\": []}}}, \"label_colors\": {\"FEMALE\": \"#FF3399\", \"MALE\": \"#3366FF\"}, \"refresh_frequency\": 0, \"timed_refresh_immune_slices\": [], \"remote_id\": 17}", + "position_json": "{\"CHART--kWqGf1JkH\":{\"children\":[],\"id\":\"CHART--kWqGf1JkH\",\"meta\":{\"chartId\":72,\"height\":50,\"sliceName\":\"Observation Period Start Dates\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-Dn6S4EA0Fg\"],\"type\":\"CHART\"},\"CHART-8z989jjeWz\":{\"children\":[],\"id\":\"CHART-8z989jjeWz\",\"meta\":{\"chartId\":73,\"height\":50,\"sliceName\":\"Observation Period End Dates\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-Dn6S4EA0Fg\"],\"type\":\"CHART\"},\"CHART-M8kUuHfF9A\":{\"children\":[],\"id\":\"CHART-M8kUuHfF9A\",\"meta\":{\"chartId\":70,\"height\":65,\"sliceName\":\"Months in Observation Period (Cumulative)\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-wQIVjE9wQw\"],\"type\":\"CHART\"},\"CHART-RS4gMlM6Q1\":{\"children\":[],\"id\":\"CHART-RS4gMlM6Q1\",\"meta\":{\"chartId\":71,\"height\":60,\"sliceName\":\"Patients in Observation Period per month\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-HYjdu2pLjn\"],\"type\":\"CHART\"},\"CHART-cBIbJQ2nIy\":{\"children\":[],\"id\":\"CHART-cBIbJQ2nIy\",\"meta\":{\"chartId\":74,\"height\":64,\"sliceName\":\"Year of Birth\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-9Y5S2iG5Y\"],\"type\":\"CHART\"},\"CHART-o4Kt5kGrBg\":{\"children\":[],\"id\":\"CHART-o4Kt5kGrBg\",\"meta\":{\"chartId\":69,\"height\":16,\"sliceName\":\"Datasource Filter\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-gAB5d9FHb1\"],\"type\":\"CHART\"},\"CHART-o9cOFxbkjW\":{\"children\":[],\"id\":\"CHART-o9cOFxbkjW\",\"meta\":{\"chartId\":75,\"height\":64,\"sliceName\":\"Gender Distribution\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-9Y5S2iG5Y\"],\"type\":\"CHART\"},\"CHART-o_dQEc98Dr\":{\"children\":[],\"id\":\"CHART-o_dQEc98Dr\",\"meta\":{\"chartId\":82,\"height\":14,\"sliceName\":\"Meta Data\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-etbk4arAir\"],\"type\":\"CHART\"},\"DASHBOARD_VERSION_KEY\":\"v2\",\"GRID_ID\":{\"children\":[\"ROW-etbk4arAir\",\"ROW-gAB5d9FHb1\",\"ROW-9Y5S2iG5Y\",\"ROW-wQIVjE9wQw\",\"ROW-HYjdu2pLjn\",\"ROW-Dn6S4EA0Fg\"],\"id\":\"GRID_ID\",\"parents\":[\"ROOT_ID\"],\"type\":\"GRID\"},\"HEADER_ID\":{\"id\":\"HEADER_ID\",\"meta\":{\"text\":\"Database Dashboard\"},\"type\":\"HEADER\"},\"ROOT_ID\":{\"children\":[\"GRID_ID\"],\"id\":\"ROOT_ID\",\"type\":\"ROOT\"},\"ROW-9Y5S2iG5Y\":{\"children\":[\"CHART-cBIbJQ2nIy\",\"CHART-o9cOFxbkjW\"],\"id\":\"ROW-9Y5S2iG5Y\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-Dn6S4EA0Fg\":{\"children\":[\"CHART--kWqGf1JkH\",\"CHART-8z989jjeWz\"],\"id\":\"ROW-Dn6S4EA0Fg\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-HYjdu2pLjn\":{\"children\":[\"CHART-RS4gMlM6Q1\"],\"id\":\"ROW-HYjdu2pLjn\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-etbk4arAir\":{\"children\":[\"CHART-o_dQEc98Dr\"],\"id\":\"ROW-etbk4arAir\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-gAB5d9FHb1\":{\"children\":[\"CHART-o4Kt5kGrBg\"],\"id\":\"ROW-gAB5d9FHb1\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-wQIVjE9wQw\":{\"children\":[\"CHART-M8kUuHfF9A\"],\"id\":\"ROW-wQIVjE9wQw\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"}}", + "slices": [ + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.data_source", + "datasource_type": "table", + "id": 69, + "params": "{\"adhoc_filters\": [], \"datasource\": \"60__table\", \"date_filter\": false, \"filter_configs\": [{\"asc\": true, \"clearable\": false, \"column\": \"acronym\", \"key\": \"TnqEIVXFw\", \"label\": \"Datasource\", \"multiple\": false, \"searchAllOptions\": false}], \"granularity_sqla\": \"release_date\", \"instant_filtering\": true, \"queryFields\": {}, \"show_druid_time_granularity\": false, \"show_druid_time_origin\": false, \"show_sqla_time_column\": false, \"show_sqla_time_granularity\": false, \"slice_id\": 69, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"filter_box\", \"remote_id\": 69, \"datasource_name\": \"data_source\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Datasource Filter", + "viz_type": "filter_box" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Andre Pedrosa-Untitled Query 2-j2rbCK3jb", + "datasource_type": "table", + "id": 70, + "params": "{\"adhoc_filters\": [], \"annotation_layers\": [], \"bar_stacked\": false, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"comparison_type\": \"values\", \"contribution\": false, \"datasource\": \"70__table\", \"granularity_sqla\": \"to_date\", \"groupby\": [], \"label_colors\": {}, \"left_margin\": \"auto\", \"line_interpolation\": \"linear\", \"metrics\": [{\"aggregate\": \"MAX\", \"column\": {\"column_name\": \"comulative_sum\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 322, \"is_dttm\": false, \"optionName\": \"_col_comulative_sum\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": false, \"hasCustomLabel\": false, \"label\": \"MAX(comulative_sum)\", \"optionName\": \"metric_ykgievhqj9_0mwwiejdzhj9\", \"sqlExpression\": null}], \"order_desc\": false, \"reduce_x_ticks\": true, \"resample_method\": null, \"resample_rule\": null, \"rich_tooltip\": false, \"rolling_type\": \"None\", \"row_limit\": 1000, \"show_bar_value\": false, \"show_brush\": \"auto\", \"show_controls\": false, \"show_legend\": false, \"slice_id\": 70, \"time_grain_sqla\": \"P1M\", \"time_range\": \"No filter\", \"timeseries_limit_metric\": null, \"url_params\": {}, \"viz_type\": \"bar\", \"x_axis_format\": \"%d/%m/%Y\", \"x_axis_label\": \"Dates\", \"x_axis_showminmax\": true, \"x_ticks_layout\": \"auto\", \"y_axis_bounds\": [null, null], \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"Number of Patients\", \"y_axis_showminmax\": true, \"y_log_scale\": false, \"remote_id\": 70, \"datasource_name\": \"Months in Observation Period (Cumulative) Query\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Months in Observation Period (Cumulative)", + "viz_type": "bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 3-Yz2m_VyTU", + "datasource_type": "table", + "id": 71, + "params": "{\"adhoc_filters\": [], \"annotation_layers\": [], \"bar_stacked\": false, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"comparison_type\": \"values\", \"contribution\": false, \"datasource\": \"25__table\", \"granularity_sqla\": \"date\", \"groupby\": [], \"label_colors\": {}, \"left_margin\": \"auto\", \"line_interpolation\": \"linear\", \"metrics\": [{\"aggregate\": \"MAX\", \"column\": {\"column_name\": \"Nr_patients\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 138, \"is_dttm\": false, \"optionName\": \"_col_Nr_patients\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": false, \"label\": \"MAX(Nr_patients)\", \"optionName\": \"metric_5nb2ilf0kh6_tzbxvd2pmk\", \"sqlExpression\": null}], \"order_desc\": true, \"reduce_x_ticks\": true, \"resample_method\": null, \"resample_rule\": null, \"rich_tooltip\": true, \"rolling_type\": \"None\", \"row_limit\": 10000, \"show_bar_value\": false, \"show_brush\": \"auto\", \"show_controls\": false, \"show_legend\": false, \"time_grain_sqla\": \"P1D\", \"time_range\": \"No filter\", \"timeseries_limit_metric\": null, \"url_params\": {}, \"viz_type\": \"bar\", \"x_axis_format\": \"%d/%m/%Y\", \"x_axis_label\": \"Dates\", \"x_axis_showminmax\": true, \"x_ticks_layout\": \"auto\", \"y_axis_bounds\": [null, null], \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"Number of Patients\", \"y_axis_showminmax\": true, \"y_log_scale\": false, \"remote_id\": 71, \"datasource_name\": \"Patients in Observation Period per month Query\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Patients in Observation Period per month", + "viz_type": "bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 2-OVOM0LBcs", + "datasource_type": "table", + "id": 72, + "params": "{\"adhoc_filters\": [], \"annotation_layers\": [], \"bar_stacked\": false, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"comparison_type\": \"values\", \"contribution\": false, \"datasource\": \"40__table\", \"granularity_sqla\": \"year_month\", \"groupby\": [], \"label_colors\": {\"MAX(Nr_patients)\": \"#7b0051\", \"MAX(comulative_sum)\": \"#007A87\", \"MAX(patient_count)\": \"#ff5a5f\"}, \"left_margin\": \"auto\", \"line_interpolation\": \"linear\", \"metrics\": [{\"aggregate\": \"MAX\", \"column\": {\"column_name\": \"patient_count\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 213, \"is_dttm\": false, \"optionName\": \"_col_patient_count\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": false, \"label\": \"MAX(patient_count)\", \"optionName\": \"metric_h0m8rzh63kf_f2yh2arx25c\", \"sqlExpression\": null}], \"order_desc\": true, \"reduce_x_ticks\": true, \"resample_method\": null, \"resample_rule\": null, \"rich_tooltip\": true, \"rolling_type\": \"None\", \"row_limit\": 10000, \"show_bar_value\": false, \"show_brush\": \"auto\", \"show_controls\": false, \"show_legend\": false, \"slice_id\": 72, \"time_grain_sqla\": \"P1D\", \"time_range\": \"No filter\", \"timeseries_limit_metric\": null, \"url_params\": {}, \"viz_type\": \"bar\", \"x_axis_format\": \"%d/%m/%Y\", \"x_axis_label\": \"Dates\", \"x_axis_showminmax\": true, \"x_ticks_layout\": \"auto\", \"y_axis_bounds\": [null, null], \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"Number of Patients\", \"y_axis_showminmax\": true, \"y_log_scale\": false, \"remote_id\": 72, \"datasource_name\": \"Observation Period Start Dates Query\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Observation Period Start Dates", + "viz_type": "bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 2-T7XwQxM_U", + "datasource_type": "table", + "id": 73, + "params": "{\"adhoc_filters\": [], \"annotation_layers\": [], \"bar_stacked\": false, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"comparison_type\": \"values\", \"contribution\": false, \"datasource\": \"39__table\", \"granularity_sqla\": \"year_month\", \"groupby\": [], \"label_colors\": {}, \"left_margin\": \"auto\", \"line_interpolation\": \"linear\", \"metrics\": [{\"aggregate\": \"MAX\", \"column\": {\"column_name\": \"patient_count\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 210, \"is_dttm\": false, \"optionName\": \"_col_patient_count\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": false, \"hasCustomLabel\": false, \"label\": \"MAX(patient_count)\", \"optionName\": \"metric_lbm2uqrrxp_pmrc72c5e8i\", \"sqlExpression\": null}], \"order_desc\": true, \"reduce_x_ticks\": true, \"resample_method\": null, \"resample_rule\": null, \"rich_tooltip\": true, \"rolling_type\": \"None\", \"row_limit\": 10000, \"show_bar_value\": false, \"show_brush\": \"auto\", \"show_controls\": false, \"show_legend\": false, \"time_grain_sqla\": \"P1D\", \"time_range\": \"No filter\", \"timeseries_limit_metric\": null, \"url_params\": {}, \"viz_type\": \"bar\", \"x_axis_format\": \"%d/%m/%Y\", \"x_axis_label\": \"Number of Patients\", \"x_axis_showminmax\": true, \"x_ticks_layout\": \"auto\", \"y_axis_bounds\": [null, null], \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"Dates\", \"y_axis_showminmax\": true, \"y_log_scale\": false, \"remote_id\": 73, \"datasource_name\": \"Observation Period End Dates Query\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Observation Period End Dates", + "viz_type": "bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Yeart of Birth Query", + "datasource_type": "table", + "id": 74, + "params": "{\"adhoc_filters\": [], \"annotation_layers\": [], \"bar_stacked\": false, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"comparison_type\": \"values\", \"contribution\": false, \"datasource\": \"72__table\", \"granularity_sqla\": \"to_date\", \"groupby\": [], \"label_colors\": {\"MAX(count_value)\": \"#ff5a5f\", \"MAX(patient_count)\": \"#7b0051\"}, \"left_margin\": \"auto\", \"line_interpolation\": \"linear\", \"metrics\": [{\"aggregate\": \"MAX\", \"column\": {\"column_name\": \"count_value\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 331, \"is_dttm\": false, \"optionName\": \"_col_count_value\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": false, \"label\": \"MAX(count_value)\", \"optionName\": \"metric_nvb11g0k6b_arn2otb3akr\", \"sqlExpression\": null}], \"order_desc\": true, \"reduce_x_ticks\": true, \"resample_method\": null, \"resample_rule\": null, \"rich_tooltip\": true, \"rolling_type\": \"None\", \"row_limit\": 1000, \"show_bar_value\": false, \"show_brush\": \"auto\", \"show_controls\": false, \"show_legend\": false, \"slice_id\": 74, \"time_grain_sqla\": \"P1Y\", \"time_range\": \"No filter\", \"timeseries_limit_metric\": null, \"url_params\": {}, \"viz_type\": \"bar\", \"x_axis_format\": \"smart_date\", \"x_axis_label\": \"Number of Patients\", \"x_axis_showminmax\": true, \"x_ticks_layout\": \"auto\", \"y_axis_bounds\": [null, null], \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"Years\", \"y_axis_showminmax\": true, \"y_log_scale\": false, \"remote_id\": 74, \"datasource_name\": \"Yeart of Birth Query\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Year of Birth", + "viz_type": "bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Gender Distribution Query", + "datasource_type": "table", + "id": 75, + "params": "{\"adhoc_filters\": [{\"clause\": \"WHERE\", \"comparator\": \"\", \"expressionType\": \"SIMPLE\", \"filterOptionName\": \"filter_o7kky2eo8p_8qta0r70816\", \"isExtra\": false, \"isNew\": false, \"operator\": \"==\", \"sqlExpression\": null, \"subject\": \"slug\"}], \"color_scheme\": \"supersetColors\", \"datasource\": \"73__table\", \"donut\": false, \"granularity_sqla\": null, \"groupby\": [\"concept_name\"], \"label_colors\": {}, \"labels_outside\": true, \"metric\": {\"aggregate\": \"MAX\", \"column\": {\"column_name\": \"count_value\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 334, \"is_dttm\": false, \"optionName\": \"_col_count_value\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": false, \"hasCustomLabel\": false, \"label\": \"MAX(count_value)\", \"optionName\": \"metric_aroar6vxd3p_upgopfh7ob8\", \"sqlExpression\": null}, \"number_format\": \"SMART_NUMBER\", \"pie_label_type\": \"key\", \"queryFields\": {\"groupby\": \"groupby\", \"metric\": \"metrics\"}, \"row_limit\": 1000, \"show_labels\": true, \"show_legend\": true, \"slice_id\": 75, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"pie\", \"remote_id\": 75, \"datasource_name\": \"Gender Distribution Query\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Gender Distribution", + "viz_type": "pie" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "null.Peter Rijnbeek-Untitled Query 2-jCYlfS520", + "datasource_type": "table", + "id": 82, + "params": "{\"adhoc_filters\": [], \"all_columns\": [\"name\", \"source_release_date\", \"cdm_release_date\", \"cdm_version\", \"vocabulary_version\"], \"color_pn\": true, \"datasource\": \"83__table\", \"groupby\": [], \"metrics\": [], \"order_by_cols\": [], \"order_desc\": true, \"percent_metrics\": [], \"queryFields\": {\"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"row_limit\": 1000, \"show_cell_bars\": true, \"slice_id\": 82, \"table_timestamp_format\": \"smart_date\", \"time_grain_sqla\": \"P1D\", \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"table\", \"remote_id\": 82, \"datasource_name\": \"Peter Rijnbeek-Untitled Query 2-jCYlfS520\", \"schema\": \"null\", \"database_name\": \"Achilles\"}", + "slice_name": "Meta Data", + "viz_type": "table" + } + } + ], + "slug": null + } + }, + { + "__Dashboard__": { + "css": null, + "dashboard_title": "General", + "description": null, + "json_metadata": "{\"default_filters\": \"{}\", \"expanded_slices\": {}, \"filter_scopes\": {\"43\": {\"country\": {\"scope\": [\"ROOT_ID\"], \"immune\": []}}, \"47\": {\"database_type\": {\"scope\": [\"ROOT_ID\"], \"immune\": []}}}, \"refresh_frequency\": 0, \"timed_refresh_immune_slices\": [], \"remote_id\": 10}", + "position_json": "{\"CHART-1KwGh2j-y7\":{\"children\":[],\"id\":\"CHART-1KwGh2j-y7\",\"meta\":{\"chartId\":48,\"height\":87,\"sliceName\":\"General - Database Types per Country\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-blDgrXLRaL\"],\"type\":\"CHART\"},\"CHART-2fGPCcNp2n\":{\"children\":[],\"id\":\"CHART-2fGPCcNp2n\",\"meta\":{\"chartId\":44,\"height\":70,\"sliceName\":\"General - World Map\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-PwJZx-afY\"],\"type\":\"CHART\"},\"CHART-7ETPqVcSSq\":{\"children\":[],\"id\":\"CHART-7ETPqVcSSq\",\"meta\":{\"chartId\":38,\"height\":68,\"sliceName\":\"General - Network Growth by Date\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-OYDj7R-s0\"],\"type\":\"CHART\"},\"CHART-9xmshOyUbi\":{\"children\":[],\"id\":\"CHART-9xmshOyUbi\",\"meta\":{\"chartId\":45,\"height\":70,\"sliceName\":\"General - Patients per Country\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-wM0KShgxh\"],\"type\":\"CHART\"},\"CHART-DoYAl5inPT\":{\"children\":[],\"id\":\"CHART-DoYAl5inPT\",\"meta\":{\"chartId\":47,\"height\":18,\"sliceName\":\"Database Type Filter\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-HOI5ottEp\"],\"type\":\"CHART\"},\"CHART-ECoe9mc9qZ\":{\"children\":[],\"id\":\"CHART-ECoe9mc9qZ\",\"meta\":{\"chartId\":43,\"height\":18,\"sliceName\":\"Country Filter\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-HOI5ottEp\"],\"type\":\"CHART\"},\"CHART-Ktvcah2Rsz\":{\"children\":[],\"id\":\"CHART-Ktvcah2Rsz\",\"meta\":{\"chartId\":67,\"height\":68,\"sliceName\":\"Total Number of Patients\",\"width\":6},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-OYDj7R-s0\"],\"type\":\"CHART\"},\"CHART-XfqzLlRIKE\":{\"children\":[],\"id\":\"CHART-XfqzLlRIKE\",\"meta\":{\"chartId\":82,\"height\":26,\"sliceName\":\"Meta Data\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-zCl7Skz2K\"],\"type\":\"CHART\"},\"DASHBOARD_VERSION_KEY\":\"v2\",\"GRID_ID\":{\"children\":[\"ROW-HOI5ottEp\",\"ROW-OYDj7R-s0\",\"ROW-wM0KShgxh\",\"ROW-blDgrXLRaL\",\"ROW-PwJZx-afY\",\"ROW-zCl7Skz2K\"],\"id\":\"GRID_ID\",\"parents\":[\"ROOT_ID\"],\"type\":\"GRID\"},\"HEADER_ID\":{\"id\":\"HEADER_ID\",\"meta\":{\"text\":\"General\"},\"type\":\"HEADER\"},\"ROOT_ID\":{\"children\":[\"GRID_ID\"],\"id\":\"ROOT_ID\",\"type\":\"ROOT\"},\"ROW-HOI5ottEp\":{\"children\":[\"CHART-DoYAl5inPT\",\"CHART-ECoe9mc9qZ\"],\"id\":\"ROW-HOI5ottEp\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-OYDj7R-s0\":{\"children\":[\"CHART-Ktvcah2Rsz\",\"CHART-7ETPqVcSSq\"],\"id\":\"ROW-OYDj7R-s0\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-PwJZx-afY\":{\"children\":[\"CHART-2fGPCcNp2n\"],\"id\":\"ROW-PwJZx-afY\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-blDgrXLRaL\":{\"children\":[\"CHART-1KwGh2j-y7\"],\"id\":\"ROW-blDgrXLRaL\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-wM0KShgxh\":{\"children\":[\"CHART-9xmshOyUbi\"],\"id\":\"ROW-wM0KShgxh\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-zCl7Skz2K\":{\"children\":[\"CHART-XfqzLlRIKE\"],\"id\":\"ROW-zCl7Skz2K\",\"meta\":{\"0\":\"ROOT_ID\",\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"}}", + "slices": [ + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Untitled Query 5-IExD-Tsxs", + "datasource_type": "table", + "id": 38, + "params": "{\"adhoc_filters\": [], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"source\"], \"contribution\": false, \"datasource\": \"34__table\", \"granularity_sqla\": \"release_date\", \"groupby\": [\"release_date\"], \"label_colors\": {}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"count\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 183, \"is_dttm\": false, \"optionName\": \"_col_count\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": false, \"hasCustomLabel\": false, \"label\": \"SUM(count)\", \"optionName\": \"metric_j73605q0028_v113p5hp1fk\", \"sqlExpression\": null}], \"order_bars\": true, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": true, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": true, \"show_legend\": true, \"slice_id\": 38, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"\", \"remote_id\": 38, \"datasource_name\": \"Untitled Query 5-IExD-Tsxs\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "General - Network Growth by Date", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Untitled Query 2-gUfsW6Np2", + "datasource_type": "table", + "id": 43, + "params": "{\"adhoc_filters\": [], \"datasource\": \"42__table\", \"date_filter\": false, \"filter_configs\": [{\"asc\": true, \"clearable\": true, \"column\": \"country\", \"key\": \"aUpt-p5_Y\", \"label\": \"Country\", \"multiple\": true}], \"granularity_sqla\": null, \"instant_filtering\": true, \"queryFields\": {}, \"show_druid_time_granularity\": false, \"show_druid_time_origin\": false, \"show_sqla_time_column\": false, \"show_sqla_time_granularity\": false, \"slice_id\": 43, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"filter_box\", \"remote_id\": 43, \"datasource_name\": \"Untitled Query 2-gUfsW6Np2\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Country Filter", + "viz_type": "filter_box" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Untitled Query 2-4l_EYigMw", + "datasource_type": "table", + "id": 44, + "params": "{\"adhoc_filters\": [], \"all_columns_x\": \"longitude\", \"all_columns_y\": \"latitude\", \"clustering_radius\": \"60\", \"datasource\": \"43__table\", \"global_opacity\": 1, \"granularity_sqla\": \"release_date\", \"groupby\": [], \"mapbox_color\": \"rgb(0, 122, 135)\", \"mapbox_label\": [], \"mapbox_style\": \"mapbox://styles/mapbox/light-v9\", \"pandas_aggfunc\": \"sum\", \"point_radius\": \"Auto\", \"point_radius_unit\": \"Pixels\", \"queryFields\": {\"groupby\": \"groupby\"}, \"render_while_dragging\": true, \"row_limit\": null, \"slice_id\": 44, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viewport_latitude\": 46.586847765032815, \"viewport_longitude\": -2.091453679580307, \"viewport_zoom\": 5.002977294115867, \"viz_type\": \"mapbox\", \"remote_id\": 44, \"datasource_name\": \"Untitled Query 2-4l_EYigMw\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "General - World Map", + "viz_type": "mapbox" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 2-shJVbL7EX", + "datasource_type": "table", + "id": 45, + "params": "{\"adhoc_filters\": [], \"bar_stacked\": false, \"bottom_margin\": \"auto\", \"color_scheme\": \"d3Category20\", \"columns\": [], \"contribution\": false, \"datasource\": \"44__table\", \"granularity_sqla\": null, \"groupby\": [\"country\"], \"label_colors\": {}, \"metrics\": [{\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"patient_count\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 234, \"is_dttm\": false, \"optionName\": \"_col_patient_count\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Patients\", \"optionName\": \"metric_c7b7cws7pcc_ohfme4oxs4t\", \"sqlExpression\": null}], \"order_bars\": false, \"queryFields\": {\"columns\": \"groupby\", \"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"reduce_x_ticks\": false, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": false, \"show_legend\": false, \"slice_id\": 45, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"Country\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"N\\u00ba of Patients\", \"remote_id\": 45, \"datasource_name\": \"admin user-Untitled Query 2-shJVbL7EX\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "General - Patients per Country", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Untitled Query-Pf9p33tCv", + "datasource_type": "table", + "id": 47, + "params": "{\"adhoc_filters\": [], \"datasource\": \"45__table\", \"date_filter\": false, \"filter_configs\": [{\"asc\": true, \"clearable\": true, \"column\": \"database_type\", \"key\": \"BTgn7F3pm\", \"label\": \"Type\", \"multiple\": true}], \"granularity_sqla\": null, \"instant_filtering\": true, \"show_druid_time_granularity\": false, \"show_druid_time_origin\": false, \"show_sqla_time_column\": false, \"show_sqla_time_granularity\": false, \"slice_id\": 47, \"time_range\": \"No filter\", \"viz_type\": \"filter_box\", \"remote_id\": 47, \"datasource_name\": \"Untitled Query-Pf9p33tCv\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Database Type Filter", + "viz_type": "filter_box" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 3-HNnjlOJDx", + "datasource_type": "table", + "id": 48, + "params": "{\"adhoc_filters\": [], \"all_columns_x\": \"country\", \"all_columns_y\": \"database_type\", \"bottom_margin\": \"auto\", \"canvas_image_rendering\": \"pixelated\", \"datasource\": \"15__table\", \"granularity_sqla\": null, \"left_margin\": 75, \"linear_color_scheme\": \"purples\", \"metric\": {\"aggregate\": \"SUM\", \"column\": {\"column_name\": \"Nr_patients\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 73, \"is_dttm\": false, \"optionName\": \"_col_Nr_patients\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Number of patients\", \"optionName\": \"metric_2yivtqo4lqe_jw393somnp\", \"sqlExpression\": null}, \"normalize_across\": \"heatmap\", \"normalized\": false, \"row_limit\": null, \"show_legend\": true, \"show_perc\": false, \"show_values\": false, \"slice_id\": 48, \"sort_x_axis\": \"alpha_asc\", \"sort_y_axis\": \"alpha_asc\", \"time_range\": \"No filter\", \"url_params\": {}, \"viz_type\": \"heatmap\", \"xscale_interval\": null, \"y_axis_bounds\": [null, null], \"y_axis_format\": \"SMART_NUMBER\", \"yscale_interval\": null, \"remote_id\": 48, \"datasource_name\": \"admin user-Untitled Query 3-HNnjlOJDx\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "General - Database Types per Country", + "viz_type": "heatmap" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Landing Page - Patients Growth query", + "datasource_type": "table", + "id": 67, + "params": "{\"adhoc_filters\": [], \"color_picker\": {\"a\": 1, \"b\": 135, \"g\": 122, \"r\": 0}, \"datasource\": \"66__table\", \"granularity_sqla\": \"release_date\", \"header_font_size\": 0.3, \"metric\": {\"aggregate\": \"MAX\", \"column\": {\"column_name\": \"sum\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 305, \"is_dttm\": false, \"optionName\": \"_col_sum\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": false, \"label\": \"MAX(sum)\", \"optionName\": \"metric_hiuu6ucrfkk_s8053mwxuz\", \"sqlExpression\": null}, \"queryFields\": {\"metric\": \"metrics\"}, \"rolling_type\": \"None\", \"show_trend_line\": true, \"slice_id\": 67, \"start_y_axis_at_zero\": true, \"subheader_font_size\": 0.125, \"time_grain_sqla\": \"P1D\", \"time_range\": \"No filter\", \"time_range_endpoints\": [\"unknown\", \"inclusive\"], \"url_params\": {}, \"viz_type\": \"big_number\", \"y_axis_format\": \"SMART_NUMBER\", \"remote_id\": 67, \"datasource_name\": \"Landing Page - Patients Growth query\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Total Number of Patients", + "viz_type": "big_number" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "null.Peter Rijnbeek-Untitled Query 2-jCYlfS520", + "datasource_type": "table", + "id": 82, + "params": "{\"adhoc_filters\": [], \"all_columns\": [\"name\", \"source_release_date\", \"cdm_release_date\", \"cdm_version\", \"vocabulary_version\"], \"color_pn\": true, \"datasource\": \"83__table\", \"groupby\": [], \"metrics\": [], \"order_by_cols\": [], \"order_desc\": true, \"percent_metrics\": [], \"queryFields\": {\"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"row_limit\": 1000, \"show_cell_bars\": true, \"slice_id\": 82, \"table_timestamp_format\": \"smart_date\", \"time_grain_sqla\": \"P1D\", \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"table\", \"remote_id\": 82, \"datasource_name\": \"Peter Rijnbeek-Untitled Query 2-jCYlfS520\", \"schema\": \"null\", \"database_name\": \"Achilles\"}", + "slice_name": "Meta Data", + "viz_type": "table" + } + } + ], + "slug": "general" + } + }, + { + "__Dashboard__": { + "css": null, + "dashboard_title": "Visit", + "description": null, + "json_metadata": "{\"default_filters\": \"{\\\"13\\\": {\\\"name\\\": [\\\"Integrated Primary Care Information\\\"]}}\", \"expanded_slices\": {}, \"filter_scopes\": {\"13\": {\"name\": {\"scope\": [\"ROOT_ID\"], \"immune\": []}}}, \"refresh_frequency\": 0, \"timed_refresh_immune_slices\": [], \"remote_id\": 12}", + "position_json": "{\"CHART-3MKl_PHkxV\":{\"children\":[],\"id\":\"CHART-3MKl_PHkxV\",\"meta\":{\"chartId\":35,\"height\":88,\"sliceName\":\"Visit - Types\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-rwkC5ilame\"],\"type\":\"CHART\"},\"CHART-hGDF771Xsv\":{\"children\":[],\"id\":\"CHART-hGDF771Xsv\",\"meta\":{\"chartId\":13,\"height\":17,\"sliceName\":\"Data Source Filter\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-_E-RhPvzfA\"],\"type\":\"CHART\"},\"CHART-qRhxIzmh3h\":{\"children\":[],\"id\":\"CHART-qRhxIzmh3h\",\"meta\":{\"chartId\":81,\"height\":42,\"sliceName\":\"Visit Type Table\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-ht1TASs2b\"],\"type\":\"CHART\"},\"DASHBOARD_VERSION_KEY\":\"v2\",\"DIVIDER-QRqyLpi9gr\":{\"children\":[],\"id\":\"DIVIDER-QRqyLpi9gr\",\"meta\":{},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"DIVIDER\"},\"GRID_ID\":{\"children\":[\"ROW--cbqRbtdg\",\"ROW-_E-RhPvzfA\",\"ROW-ht1TASs2b\",\"DIVIDER-QRqyLpi9gr\",\"ROW-rwkC5ilame\"],\"id\":\"GRID_ID\",\"parents\":[\"ROOT_ID\"],\"type\":\"GRID\"},\"HEADER_ID\":{\"id\":\"HEADER_ID\",\"meta\":{\"text\":\"Visit\"},\"type\":\"HEADER\"},\"MARKDOWN-n3XzMJvUv5\":{\"children\":[],\"id\":\"MARKDOWN-n3XzMJvUv5\",\"meta\":{\"code\":\"This dashboard shows the different types of visits per data source (see [Visit Occurence Table](https://ohdsi.github.io/CommonDataModel/cdm531.html#visit_occurrence))\",\"height\":6,\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW--cbqRbtdg\"],\"type\":\"MARKDOWN\"},\"ROOT_ID\":{\"children\":[\"GRID_ID\"],\"id\":\"ROOT_ID\",\"type\":\"ROOT\"},\"ROW--cbqRbtdg\":{\"children\":[\"MARKDOWN-n3XzMJvUv5\"],\"id\":\"ROW--cbqRbtdg\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-_E-RhPvzfA\":{\"children\":[\"CHART-hGDF771Xsv\"],\"id\":\"ROW-_E-RhPvzfA\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-ht1TASs2b\":{\"children\":[\"CHART-qRhxIzmh3h\"],\"id\":\"ROW-ht1TASs2b\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-rwkC5ilame\":{\"children\":[\"CHART-3MKl_PHkxV\"],\"id\":\"ROW-rwkC5ilame\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"}}", + "slices": [ + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.data_source", + "datasource_type": "table", + "id": 13, + "params": "{\"adhoc_filters\": [], \"datasource\": \"60__table\", \"date_filter\": false, \"filter_configs\": [{\"asc\": true, \"clearable\": true, \"column\": \"name\", \"key\": \"jXSVXn3gk\", \"label\": \"Data Source\", \"multiple\": true}], \"granularity_sqla\": null, \"instant_filtering\": true, \"queryFields\": {}, \"show_druid_time_granularity\": false, \"show_druid_time_origin\": false, \"show_sqla_time_column\": false, \"show_sqla_time_granularity\": false, \"slice_id\": 13, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {\"preselect_filters\": \"{\\\"13\\\": {\\\"name\\\": [\\\"Integrated Primary Care Information\\\"]}}\"}, \"viz_type\": \"filter_box\", \"remote_id\": 13, \"datasource_name\": \"data_source\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Data Source Filter", + "viz_type": "filter_box" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.admin user-Untitled Query 2-JMjrFNhp8", + "datasource_type": "table", + "id": 35, + "params": "{\"adhoc_filters\": [], \"bar_stacked\": true, \"bottom_margin\": \"auto\", \"color_scheme\": \"bnbColors\", \"columns\": [\"Observation\"], \"contribution\": true, \"datasource\": \"28__table\", \"granularity_sqla\": null, \"groupby\": [\"name\"], \"label_colors\": {}, \"metrics\": [{\"aggregate\": \"MAX\", \"column\": {\"column_name\": \"Nr_Observations\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 150, \"is_dttm\": false, \"optionName\": \"_col_Nr_Observations\", \"python_date_format\": null, \"type\": \"INT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"fromFormData\": true, \"hasCustomLabel\": true, \"label\": \"Observations\", \"optionName\": \"metric_5sxmx1s2u9j_ugpu7x8q3e\", \"sqlExpression\": null}], \"order_bars\": true, \"reduce_x_ticks\": true, \"row_limit\": null, \"show_bar_value\": false, \"show_controls\": true, \"show_legend\": true, \"slice_id\": 35, \"time_range\": \"No filter\", \"url_params\": {}, \"viz_type\": \"dist_bar\", \"x_axis_label\": \"Databases\", \"x_ticks_layout\": \"auto\", \"y_axis_format\": \"SMART_NUMBER\", \"y_axis_label\": \"\", \"remote_id\": 35, \"datasource_name\": \"admin user-Untitled Query 2-JMjrFNhp8\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Visit - Types", + "viz_type": "dist_bar" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "null.Peter Rijnbeek-Visit Type Table-dQ22vpz3e", + "datasource_type": "table", + "id": 81, + "params": "{\"adhoc_filters\": [], \"all_columns\": [\"name\", \"Type\", \"Count\"], \"color_pn\": true, \"datasource\": \"82__table\", \"groupby\": [], \"metrics\": [], \"order_by_cols\": [], \"order_desc\": true, \"percent_metrics\": [], \"queryFields\": {\"groupby\": \"groupby\", \"metrics\": \"metrics\"}, \"row_limit\": 1000, \"show_cell_bars\": false, \"slice_id\": 81, \"table_timestamp_format\": \"smart_date\", \"time_grain_sqla\": \"P1D\", \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"table\", \"remote_id\": 81, \"datasource_name\": \"Peter Rijnbeek-Visit Type Table-dQ22vpz3e\", \"schema\": \"null\", \"database_name\": \"Achilles\"}", + "slice_name": "Visit Type Table", + "viz_type": "table" + } + } + ], + "slug": "visit" + } + }, + { + "__Dashboard__": { + "css": ".button-container {\r\n display: none !important;\r\n}\r\n.favstar {\r\n display: none !important;\r\n}", + "dashboard_title": "Data Domains", + "description": null, + "json_metadata": "{\"default_filters\": \"{}\", \"expanded_slices\": {}, \"filter_scopes\": {\"13\": {\"name\": {\"immune\": [], \"scope\": [\"ROOT_ID\"]}}}, \"refresh_frequency\": 0, \"timed_refresh_immune_slices\": [], \"remote_id\": 11}", + "position_json": "{\"CHART-HDXeZ20Xer\":{\"children\":[],\"id\":\"CHART-HDXeZ20Xer\",\"meta\":{\"chartId\":13,\"height\":16,\"sliceName\":\"Data Source Filter\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-2QdcSfvQC\"],\"type\":\"CHART\"},\"CHART-KE5LQpz4oP\":{\"children\":[],\"id\":\"CHART-KE5LQpz4oP\",\"meta\":{\"chartId\":17,\"height\":78,\"sliceName\":\"Data domains - Number of records per peson\",\"width\":12},\"parents\":[\"ROOT_ID\",\"GRID_ID\",\"ROW-aQBrShv5F\"],\"type\":\"CHART\"},\"DASHBOARD_VERSION_KEY\":\"v2\",\"GRID_ID\":{\"children\":[\"ROW-2QdcSfvQC\",\"ROW-aQBrShv5F\"],\"id\":\"GRID_ID\",\"parents\":[\"ROOT_ID\"],\"type\":\"GRID\"},\"HEADER_ID\":{\"id\":\"HEADER_ID\",\"meta\":{\"text\":\"Data Domains\"},\"type\":\"HEADER\"},\"ROOT_ID\":{\"children\":[\"GRID_ID\"],\"id\":\"ROOT_ID\",\"type\":\"ROOT\"},\"ROW-2QdcSfvQC\":{\"children\":[\"CHART-HDXeZ20Xer\"],\"id\":\"ROW-2QdcSfvQC\",\"meta\":{\"0\":\"ROOT_ID\",\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"},\"ROW-aQBrShv5F\":{\"children\":[\"CHART-KE5LQpz4oP\"],\"id\":\"ROW-aQBrShv5F\",\"meta\":{\"background\":\"BACKGROUND_TRANSPARENT\"},\"parents\":[\"ROOT_ID\",\"GRID_ID\"],\"type\":\"ROW\"}}", + "slices": [ + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.data_source", + "datasource_type": "table", + "id": 13, + "params": "{\"adhoc_filters\": [], \"datasource\": \"60__table\", \"date_filter\": false, \"filter_configs\": [{\"asc\": true, \"clearable\": true, \"column\": \"name\", \"key\": \"jXSVXn3gk\", \"label\": \"Data Source\", \"multiple\": true}], \"granularity_sqla\": null, \"instant_filtering\": true, \"queryFields\": {}, \"show_druid_time_granularity\": false, \"show_druid_time_origin\": false, \"show_sqla_time_column\": false, \"show_sqla_time_granularity\": false, \"slice_id\": 13, \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {\"preselect_filters\": \"{\\\"13\\\": {\\\"name\\\": [\\\"Integrated Primary Care Information\\\"]}}\"}, \"viz_type\": \"filter_box\", \"remote_id\": 13, \"datasource_name\": \"data_source\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Data Source Filter", + "viz_type": "filter_box" + } + }, + { + "__Slice__": { + "cache_timeout": null, + "datasource_name": "public.Untitled Query 2-QPQHc1uh6", + "datasource_type": "table", + "id": 17, + "params": "{\"adhoc_filters\": [], \"all_columns_x\": \"name\", \"all_columns_y\": \"data_domain\", \"bottom_margin\": \"auto\", \"canvas_image_rendering\": \"pixelated\", \"datasource\": \"14__table\", \"granularity_sqla\": null, \"left_margin\": \"auto\", \"linear_color_scheme\": \"greens\", \"metric\": {\"aggregate\": \"AVG\", \"column\": {\"column_name\": \"records_per_person\", \"description\": null, \"expression\": null, \"filterable\": true, \"groupby\": true, \"id\": 68, \"is_dttm\": false, \"optionName\": \"_col_records_per_person\", \"python_date_format\": null, \"type\": \"OBJECT\", \"verbose_name\": null}, \"expressionType\": \"SIMPLE\", \"hasCustomLabel\": true, \"isNew\": false, \"label\": \"avg records per person\", \"optionName\": \"metric_zx7vov5aux_cmnw1nknahk\", \"sqlExpression\": null}, \"normalize_across\": \"heatmap\", \"normalized\": false, \"queryFields\": {\"metric\": \"metrics\"}, \"row_limit\": null, \"show_legend\": true, \"show_perc\": true, \"show_values\": false, \"slice_id\": 17, \"sort_x_axis\": \"alpha_asc\", \"sort_y_axis\": \"alpha_asc\", \"time_range\": \"No filter\", \"time_range_endpoints\": [\"inclusive\", \"exclusive\"], \"url_params\": {}, \"viz_type\": \"heatmap\", \"xscale_interval\": null, \"y_axis_bounds\": [null, null], \"y_axis_format\": \"SMART_NUMBER\", \"yscale_interval\": null, \"remote_id\": 17, \"datasource_name\": \"Untitled Query 2-QPQHc1uh6\", \"schema\": \"public\", \"database_name\": \"Achilles\"}", + "slice_name": "Average number of records per person", + "viz_type": "heatmap" + } + } + ], + "slug": "data-domains" + } + } + ], + "datasources": [ + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-21T16:47:17" + }, + "column_name": "name", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-21T16:47:17" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 66, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 14, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-21T16:47:17" + }, + "column_name": "data_domain", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-21T16:47:17" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 67, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 14, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-21T16:47:17" + }, + "column_name": "records_per_person", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-21T16:47:17" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 68, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 14, + "type": "OBJECT", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-29T15:29:07" + }, + "column_name": "acronym", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-09-29T15:29:07" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 481, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 14, + "type": "STRING", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-21T16:47:17" + }, + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-21T16:47:17" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 14, + "metric_name": "count", + "metric_type": null, + "table_id": 14, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 14, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "SELECT \r\n source.name,\r\n source.acronym,\r\n case \r\n when analysis_id = 201 then 'Visit'\r\n when analysis_id = 401 then 'Condition'\r\n when analysis_id = 501 then 'Death'\r\n when analysis_id = 601 then 'Procedure'\r\n when analysis_id = 701 then 'Drug Exposure'\r\n when analysis_id = 801 then 'Observation'\r\n when analysis_id = 1801 then 'Measurement'\r\n when analysis_id = 2101 then 'Device'\r\n when analysis_id = 2201 then 'Note'\r\n end as Data_Domain,\r\n SUM(count_value) /AVG(num_persons) as \"records_per_person\"\r\nFROM public.achilles_results AS achilles INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\r\nINNER JOIN (SELECT data_source_id , count_value as num_persons FROM achilles_results WHERE analysis_id = 1) counts\r\nON achilles.data_source_id = counts.data_source_id \r\nGROUP BY analysis_id, source.name, source.acronym\r\nHAVING analysis_id IN (201, 401, 501, 601, 701, 801, 1801, 2101, 2201)", + "table_name": "Untitled Query 2-QPQHc1uh6", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-19T16:14:57" + }, + "column_name": "concept_id", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-24T16:32:05" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 88, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 19, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-19T16:14:57" + }, + "column_name": "concept_name", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-24T16:32:05" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 89, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 19, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-19T16:14:57" + }, + "column_name": "domain_id", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-24T16:32:05" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 90, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 19, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-19T16:14:57" + }, + "column_name": "Occurrence_count", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-24T16:32:05" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 92, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 19, + "type": "OBJECT", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-19T16:14:57" + }, + "column_name": "Person_count", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-24T16:32:05" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 93, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 19, + "type": "OBJECT", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-19T16:14:57" + }, + "column_name": "magnitude_occurrences", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-24T16:32:05" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 94, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 19, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-19T16:16:54" + }, + "column_name": "source_name", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-24T16:32:05" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 91, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 19, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-29T15:37:02" + }, + "column_name": "acronym", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-09-29T15:37:02" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 488, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 19, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-19T16:14:57" + }, + "column_name": "magnitude_persons", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-24T16:32:05" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 95, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 19, + "type": "STRING", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-24T16:32:05" + }, + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-24T16:32:05" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 19, + "metric_name": "count", + "metric_type": null, + "table_id": 19, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 19, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "SELECT\r\n q1.concept_id AS concept_id,\r\n q1.concept_name AS concept_name,\r\n q1.domain_id,\r\n source.name AS source_name,\r\n source.acronym,\r\n sum(q1.count_value) as \"Occurrence_count\",\r\n sum(q1.count_person) as \"Person_count\",\r\n CASE \r\n WHEN sum(q1.count_value)<=10 THEN '<=10'\r\n WHEN sum(q1.count_value)<=100 THEN '11-10\u02c62'\r\n WHEN sum(q1.count_value)<=1000 THEN '10\u02c62-10\u02c63'\r\n WHEN sum(q1.count_value)<=10000 THEN '10\u02c63-10\u02c64'\r\n WHEN sum(q1.count_value)<=100000 THEN '10\u02c64-10\u02c65'\r\n WHEN sum(q1.count_value)<=1000000 THEN '10\u02c65-10\u02c66'\r\n ELSE '>10\u02c66'\r\n END as \"magnitude_occurrences\",\r\n CASE \r\n WHEN sum(q1.count_person)<=10 THEN '<=10'\r\n WHEN sum(q1.count_person)<=100 THEN '11-10\u02c62'\r\n WHEN sum(q1.count_person)<=1000 THEN '10\u02c62-10\u02c63'\r\n WHEN sum(q1.count_person)<=10000 THEN '10\u02c63-10\u02c64'\r\n WHEN sum(q1.count_person)<=100000 THEN '10\u02c64-10\u02c65'\r\n WHEN sum(q1.count_person)<=1000000 THEN '10\u02c65-10\u02c66'\r\n ELSE '>10\u02c66'\r\n END AS \"magnitude_persons\"\r\nFROM (SELECT analysis_id,\r\n stratum_1 concept_id,\r\n data_source_id,\r\n concept_name,\r\n domain_id,\r\n count_value, 0 as count_person\r\n FROM achilles_results\r\n JOIN concept ON cast(stratum_1 AS BIGINT)=concept_id\r\n WHERE analysis_id in (201, 301, 401, 601, 701, 801, 901, 1001, 1801)\r\n UNION (SELECT analysis_id,\r\n stratum_1 concept_id,\r\n data_source_id,\r\n concept_name,\r\n domain_id,\r\n 0 as count_value,\r\n sum(count_value) as count_person\r\n FROM achilles_results\r\n JOIN concept on cast(stratum_1 as BIGINT)=concept_id\r\n WHERE analysis_id in (202, 401, 601, 701, 801, 901, 1001, 1801)\r\n GROUP BY analysis_id,stratum_1,data_source_id,concept_name,domain_id) ) as q1\r\n INNER JOIN public.data_source AS source ON q1.data_source_id=source.id\r\nGROUP BY q1.concept_id,q1.concept_name,q1.domain_id,source.name, acronym\r\nORDER BY \"Person_count\" desc", + "table_name": "admin user-Untitled Query 5-3i9mLe1yw", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-27T12:21:50" + }, + "column_name": "name", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-27T12:20:47" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 458, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 98, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-27T12:21:50" + }, + "column_name": "concept_name", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-27T12:20:47" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 459, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 98, + "type": "STRING", + "verbose_name": "visit_type" + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-27T12:21:50" + }, + "column_name": "num_persons", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-27T12:20:47" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 460, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 98, + "type": "INT", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-27T12:21:50" + }, + "column_name": "percent_persons", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-27T12:20:47" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 461, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 98, + "type": null, + "verbose_name": "persons (%)" + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-27T12:21:50" + }, + "column_name": "records_per_person", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-27T12:20:47" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 462, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 98, + "type": null, + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-29T15:35:52" + }, + "column_name": "acronym", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-09-29T15:35:52" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 487, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 98, + "type": "STRING", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-27T12:20:47" + }, + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-27T12:20:47" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 101, + "metric_name": "count", + "metric_type": null, + "table_id": 98, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 98, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "SELECT\r\n name,\r\n acronym,\r\n concept.concept_name,\r\n ar1.count_value AS num_persons,\r\n round(100.0 * ar1.count_value / denom.count_value, 2) AS percent_persons,\r\n round(1.0 * ar2.count_value / ar1.count_value, 2) AS records_per_person\r\nFROM (\r\n SELECT *\r\n FROM achilles_results WHERE analysis_id = 200) AS ar1\r\n JOIN (\r\n SELECT *\r\n FROM achilles_results WHERE analysis_id = 201) AS ar2\r\n ON ar1.stratum_1 = ar2.stratum_1 AND ar1.data_source_id = ar2.data_source_id\r\n JOIN (\r\n SELECT *\r\n FROM achilles_results WHERE analysis_id = 1) AS denom\r\n ON ar1.data_source_id = denom.data_source_id\r\n JOIN data_source ON data_source.id = ar1.data_source_id\r\n JOIN concept ON CAST(ar1.stratum_1 AS INTEGER) = concept_id\r\nORDER BY ar1.data_source_id, ar1.count_value DESC", + "table_name": "Peter Rijnbeek-Visit Type Table v2-zZU86Qvwj", + "template_params": null + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-29T09:13:59" + }, + "column_name": "acronym", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-07-10T10:48:06" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 320, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 70, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-07-10T11:06:07" + }, + "column_name": "comulative_sum", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-07-10T10:48:06" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 322, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 70, + "type": "OBJECT", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-07-10T11:03:15" + }, + "column_name": "to_date", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-07-10T10:48:06" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 321, + "is_active": null, + "is_dttm": true, + "python_date_format": null, + "table_id": 70, + "type": "DATETIME", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-07-10T10:48:06" + }, + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-07-10T10:48:06" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 70, + "metric_name": "count", + "metric_type": null, + "table_id": 70, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 70, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "SELECT source.acronym,\r\n TO_DATE(stratum_1, 'YYYYMM'),\r\n SUM(count_value) OVER (PARTITION BY source.acronym ORDER BY TO_DATE(stratum_1, 'YYYYMM') ASC) as comulative_sum\r\nFROM public.achilles_results AS achilles INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\r\nWHERE analysis_id = 110", + "table_name": "Months in Observation Period (Cumulative) Query", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-26T15:08:00" + }, + "column_name": "age90", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T15:05:26" + }, + "description": null, + "expression": null, + "filterable": false, + "groupby": true, + "id": 408, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 85, + "type": null, + "verbose_name": "80-90" + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-26T15:08:00" + }, + "column_name": "age90p", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T15:05:26" + }, + "description": null, + "expression": null, + "filterable": false, + "groupby": true, + "id": 409, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 85, + "type": null, + "verbose_name": "90+" + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-29T15:27:38" + }, + "column_name": "acronym", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-09-29T15:27:38" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 479, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 85, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-26T15:08:00" + }, + "column_name": "name", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T15:05:26" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 399, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 85, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-26T15:08:00" + }, + "column_name": "age10", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T15:05:26" + }, + "description": null, + "expression": null, + "filterable": false, + "groupby": true, + "id": 400, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 85, + "type": null, + "verbose_name": "0-10" + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-26T15:08:00" + }, + "column_name": "age20", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T15:05:26" + }, + "description": null, + "expression": null, + "filterable": false, + "groupby": true, + "id": 401, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 85, + "type": null, + "verbose_name": "10-20" + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-26T15:08:00" + }, + "column_name": "age30", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T15:05:26" + }, + "description": null, + "expression": null, + "filterable": false, + "groupby": true, + "id": 402, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 85, + "type": null, + "verbose_name": "20-30" + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-26T15:08:00" + }, + "column_name": "age40", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T15:05:26" + }, + "description": null, + "expression": null, + "filterable": false, + "groupby": true, + "id": 403, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 85, + "type": null, + "verbose_name": "30-40" + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-26T15:08:00" + }, + "column_name": "age50", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T15:05:26" + }, + "description": null, + "expression": null, + "filterable": false, + "groupby": true, + "id": 404, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 85, + "type": null, + "verbose_name": "40-50" + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-26T15:08:00" + }, + "column_name": "age60", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T15:05:26" + }, + "description": null, + "expression": null, + "filterable": false, + "groupby": true, + "id": 405, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 85, + "type": null, + "verbose_name": "50-60" + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-26T15:08:00" + }, + "column_name": "age70", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T15:05:26" + }, + "description": null, + "expression": null, + "filterable": false, + "groupby": true, + "id": 406, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 85, + "type": null, + "verbose_name": "60-70" + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-26T15:08:00" + }, + "column_name": "age80", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T15:05:26" + }, + "description": null, + "expression": null, + "filterable": false, + "groupby": true, + "id": 407, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 85, + "type": null, + "verbose_name": "70-80" + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-26T15:05:26" + }, + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T15:05:26" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 88, + "metric_name": "count", + "metric_type": null, + "table_id": 85, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 85, \"database_name\": \"Achilles\"}", + "schema": "null", + "sql": "SELECT name,\r\n acronym,\r\n SUM(CASE WHEN CAST(stratum_2 AS INTEGER) < 10 THEN count_value END) AS \"age10\",\r\n SUM(CASE WHEN CAST(stratum_2 AS INTEGER) >= 10 AND CAST(stratum_2 AS INTEGER) < 20 THEN count_value END) AS \"age20\",\r\n SUM(CASE WHEN CAST(stratum_2 AS INTEGER) >= 20 AND CAST(stratum_2 AS INTEGER) < 30 THEN count_value END) AS \"age30\",\r\n SUM(CASE WHEN CAST(stratum_2 AS INTEGER) >= 30 AND CAST(stratum_2 AS INTEGER) < 40 THEN count_value END) AS \"age40\",\r\n SUM(CASE WHEN CAST(stratum_2 AS INTEGER) >= 40 AND CAST(stratum_2 AS INTEGER) < 50 THEN count_value END) AS \"age50\",\r\n SUM(CASE WHEN CAST(stratum_2 AS INTEGER) >= 50 AND CAST(stratum_2 AS INTEGER) < 60 THEN count_value END) AS \"age60\",\r\n SUM(CASE WHEN CAST(stratum_2 AS INTEGER) >= 60 AND CAST(stratum_2 AS INTEGER) < 70 THEN count_value END) AS \"age70\",\r\n SUM(CASE WHEN CAST(stratum_2 AS INTEGER) >= 70 AND CAST(stratum_2 AS INTEGER) < 80 THEN count_value END) AS \"age80\",\r\n SUM(CASE WHEN CAST(stratum_2 AS INTEGER) >= 80 AND CAST(stratum_2 AS INTEGER) < 90 THEN count_value END) AS \"age90\",\r\n SUM(CASE WHEN CAST(stratum_2 AS INTEGER) >= 90 THEN count_value END) AS \"age90p\"\r\n FROM (\r\n SELECT source.name,\r\n acronym,\r\n count_value,\r\n stratum_2 \r\n FROM public.achilles_results AS achilles\r\n INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\r\n INNER JOIN public.concept ON stratum_1 = CAST(concept_id AS text)\r\n WHERE analysis_id = 102\r\n ) as sub_query\r\n \r\n GROUP BY name, acronym", + "table_name": "Peter Rijnbeek-Age group at start of first observation-smvSJk6Hw", + "template_params": null + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-29T09:42:24" + }, + "column_name": "name", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-09-29T09:42:24" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 473, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 67, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-27T11:13:17" + }, + "column_name": "data_domain", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-05-27T11:13:17" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 306, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 67, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-27T11:13:17" + }, + "column_name": "count", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-05-27T11:13:17" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 307, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 67, + "type": "OBJECT", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-29T15:29:34" + }, + "column_name": "acronym", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-09-29T15:29:34" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 482, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 67, + "type": "STRING", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-27T11:13:17" + }, + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-05-27T11:13:17" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 67, + "metric_name": "count", + "metric_type": null, + "table_id": 67, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 67, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "SELECT\r\ndata_source.name,\r\ndata_source.acronym,\r\n case \r\n when analysis_id = 201 then 'Visit'\r\n when analysis_id = 401 then 'Condition'\r\n when analysis_id = 501 then 'Death'\r\n when analysis_id = 601 then 'Procedure'\r\n when analysis_id = 701 then 'Drug Exposure'\r\n when analysis_id = 801 then 'Observation'\r\n when analysis_id = 1801 then 'Measurement'\r\n when analysis_id = 2101 then 'Device'\r\n when analysis_id = 2201 then 'Note'\r\n end as Data_Domain,\r\n SUM(count_value) as \"count\"\r\nFROM achilles_results\r\nJOIN data_source ON achilles_results.data_source_id=data_source.id\r\nGROUP BY name, acronym, analysis_id\r\nHAVING analysis_id IN (201, 401, 501, 601, 701, 801, 1801, 2101, 2201)", + "table_name": "Landing Page - Data Domains", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-29T09:12:43" + }, + "column_name": "acronym", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-07-10T14:17:47" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 329, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 72, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-07-10T14:17:47" + }, + "column_name": "to_date", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-07-10T14:17:47" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 330, + "is_active": true, + "is_dttm": true, + "python_date_format": null, + "table_id": 72, + "type": "DATETIME", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-07-10T14:17:47" + }, + "column_name": "count_value", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-07-10T14:17:47" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 331, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 72, + "type": "INT", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-07-10T14:17:47" + }, + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-07-10T14:17:47" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 74, + "metric_name": "count", + "metric_type": null, + "table_id": 72, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 72, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "SELECT acronym,\r\n TO_DATE(stratum_1, 'YYYY'),\r\n count_value\r\nFROM achilles_results JOIN data_source on data_source_id = data_source.id\r\nWHERE analysis_id = 3", + "table_name": "Yeart of Birth Query", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-02T21:25:40" + }, + "column_name": "name", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-02T21:25:40" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 208, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 39, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-02T21:25:40" + }, + "column_name": "year_month", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-02T21:25:40" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 209, + "is_active": true, + "is_dttm": true, + "python_date_format": null, + "table_id": 39, + "type": "DATETIME", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-02T21:25:40" + }, + "column_name": "patient_count", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-02T21:25:40" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 210, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 39, + "type": "INT", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-28T16:06:58" + }, + "column_name": "acronym", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-07-10T14:01:22" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 324, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 39, + "type": "STRING", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-02T21:25:40" + }, + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-02T21:25:40" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 39, + "metric_name": "count", + "metric_type": null, + "table_id": 39, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 39, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "SELECT source.name,\r\n source.acronym,\r\n to_date(stratum_1, 'YYYYMM') as year_month,\r\n count_value as patient_count\r\nFROM public.achilles_results AS achilles INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\r\nwhere analysis_id = 112", + "table_name": "Observation Period End Dates Query", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-29T09:25:24" + }, + "column_name": "name", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-09-29T09:23:07" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 472, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 54, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-29T15:26:29" + }, + "column_name": "acronym", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-09-29T15:26:29" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 477, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 54, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-27T09:44:06" + }, + "column_name": "count_value", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-05-27T09:42:25" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 277, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 54, + "type": "OBJECT", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-27T09:42:25" + }, + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-05-27T09:42:25" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 54, + "metric_name": "count", + "metric_type": null, + "table_id": 54, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 54, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "SELECT achilles_results.count_value,\r\ndata_source.name,\r\ndata_source.acronym\r\nFROM achilles_results\r\nJOIN data_source ON achilles_results.data_source_id=data_source.id\r\nWHERE analysis_id = 1", + "table_name": "Landing Page - Number of Patients query", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-03T21:23:38" + }, + "column_name": "name", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-03T21:23:38" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 231, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 44, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-03T21:23:38" + }, + "column_name": "country", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-03T21:23:38" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 232, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 44, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-03T21:23:38" + }, + "column_name": "database_type", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-03T21:23:38" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 233, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 44, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-03T21:23:38" + }, + "column_name": "patient_count", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-03T21:23:38" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 234, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 44, + "type": "INT", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-28T16:10:21" + }, + "column_name": "acronym", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-03T21:23:38" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 235, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 44, + "type": "STRING", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-03T21:23:38" + }, + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-03T21:23:38" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 44, + "metric_name": "count", + "metric_type": null, + "table_id": 44, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 44, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "-- 1 General - Patients per Country\r\nSELECT source.name,\r\n country.country,\r\n source.database_type,\r\n count_value as patient_count,\r\n source.acronym\r\nFROM public.achilles_results AS achilles INNER JOIN \r\n public.data_source AS source ON achilles.data_source_id=source.id\r\n INNER JOIN public.country AS country ON \r\n source.country_id=country.id\r\nWHERE analysis_id = 1", + "table_name": "admin user-Untitled Query 2-shJVbL7EX", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-28T16:02:53" + }, + "column_name": "acronym", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-20T23:00:58" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 53, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 10, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-20T23:00:58" + }, + "column_name": "name", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-20T23:00:58" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 50, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 10, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-20T23:00:58" + }, + "column_name": "age", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-20T23:00:58" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 51, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 10, + "type": "INT", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-20T23:00:58" + }, + "column_name": "count", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-20T23:00:58" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 52, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 10, + "type": "INT", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-20T23:00:58" + }, + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-20T23:00:58" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 10, + "metric_name": "count", + "metric_type": null, + "table_id": 10, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 10, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "-- 101 Person - Patients by age\r\nSELECT source.name,\r\n cast(stratum_1 as int) as Age,\r\n count_value as count, \r\n source.acronym\r\nFROM public.achilles_results AS achilles INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\r\nwhere analysis_id = 101", + "table_name": "Untitled Query 2-hW_lXt3eU", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-29T20:52:38" + }, + "column_name": "name", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-24T17:13:03" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 136, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 25, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-29T20:52:38" + }, + "column_name": "Nr_patients", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-24T17:13:03" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 138, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 25, + "type": "INT", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-29T20:52:38" + }, + "column_name": "acronym", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-09-29T15:33:04" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 484, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 25, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-29T21:02:23" + }, + "column_name": "date", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-24T17:13:03" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 137, + "is_active": null, + "is_dttm": true, + "python_date_format": "", + "table_id": 25, + "type": "DATETIME", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-24T17:13:03" + }, + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-24T17:13:03" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 25, + "metric_name": "count", + "metric_type": null, + "table_id": 25, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 25, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "-- 110 Population characteristics - Patients in Observation Period per month (whole month)\r\nSELECT source.name, \r\n source.acronym,\r\n to_date(stratum_1, 'YYYYMM') as Date,\r\n count_value as \"Nr_patients\"\r\nFROM public.achilles_results AS achilles INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\r\nWHERE analysis_id = 110", + "table_name": "Patients in Observation Period per month Query", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-10-02T09:30:44" + }, + "column_name": "acronym", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-10-02T09:30:44" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 490, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 51, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-19T16:01:57" + }, + "column_name": "concept_name", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-05-19T16:01:57" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 266, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 51, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-19T16:01:57" + }, + "column_name": "domain_id", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-05-19T16:01:57" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 267, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 51, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-19T16:01:57" + }, + "column_name": "source_name", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-05-19T16:01:57" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 268, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 51, + "type": "STRING", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-19T16:01:57" + }, + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-05-19T16:01:57" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 51, + "metric_name": "count", + "metric_type": null, + "table_id": 51, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 51, \"database_name\": \"Achilles\"}", + "schema": null, + "sql": "SELECT concept_name,\r\n domain_id,\r\n source.name AS source_name,\r\n source.acronym\r\nFROM achilles_results\r\nJOIN concept ON cast(stratum_1 AS BIGINT) = concept_id\r\nINNER JOIN public.data_source AS source ON data_source_id=source.id\r\nWHERE analysis_id in (201, 401, 601, 701, 801, 901, 1001, 1801, 200, 400, 600, 700, 800, 1800)", + "table_name": "Concepts General - Filters", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-02T09:42:28" + }, + "column_name": "name", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-02T09:42:28" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 148, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 28, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-02T09:42:28" + }, + "column_name": "Observation", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-02T09:42:28" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 149, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 28, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-02T09:42:28" + }, + "column_name": "Nr_Observations", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-02T09:42:28" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 150, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 28, + "type": "INT", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-28T16:57:37" + }, + "column_name": "acronym", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-02T09:42:28" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 151, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 28, + "type": "STRING", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-02T09:42:28" + }, + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-02T09:42:28" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 28, + "metric_name": "count", + "metric_type": null, + "table_id": 28, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 28, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "SELECT source.name, \r\n concept_name AS \"Observation\", \r\n count_value AS \"Nr_Observations\",\r\n source.acronym\r\nFROM public.achilles_results AS achilles INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\r\nINNER JOIN public.concept ON stratum_1 = CAST(concept_id AS text)\r\nWHERE analysis_id = 201", + "table_name": "admin user-Untitled Query 2-JMjrFNhp8", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-29T09:13:33" + }, + "column_name": "acronym", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-07-10T14:33:57" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 332, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 73, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-07-10T14:33:57" + }, + "column_name": "concept_name", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-07-10T14:33:57" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 333, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 73, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-07-10T14:33:57" + }, + "column_name": "count_value", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-07-10T14:33:57" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 334, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 73, + "type": "INT", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-07-10T14:33:57" + }, + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-07-10T14:33:57" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 75, + "metric_name": "count", + "metric_type": null, + "table_id": 73, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 73, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "SELECT acronym,\r\n concept_name,\r\n count_value\r\nFROM public.achilles_results\r\n INNER JOIN public.concept\r\n ON stratum_1 = CAST(concept_id AS text)\r\n JOIN public.data_source\r\n ON data_source.id = data_source_id\r\nWHERE analysis_id = 2", + "table_name": "Gender Distribution Query", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-28T16:10:52" + }, + "column_name": "acronym", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-21T17:05:42" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 74, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 15, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-21T17:05:42" + }, + "column_name": "name", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-21T17:05:42" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 70, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 15, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-21T17:05:42" + }, + "column_name": "country", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-21T17:05:42" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 71, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 15, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-21T17:05:42" + }, + "column_name": "Nr_patients", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-21T17:05:42" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 73, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 15, + "type": "INT", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-03-04T10:51:34" + }, + "column_name": "database_type", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-21T17:05:42" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 72, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 15, + "type": "STRING", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-21T17:05:42" + }, + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-21T17:05:42" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 15, + "metric_name": "count", + "metric_type": null, + "table_id": 15, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 15, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "-- 1 General - Database types per country\r\nSELECT source.name, \r\n country.country,\r\n database_type,\r\n count_value as \"Nr_patients\",\r\n source.acronym\r\nFROM public.achilles_results AS achilles INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\r\nINNER JOIN public.country AS country ON source.country_id=country.id\r\nWHERE analysis_id = 1", + "table_name": "admin user-Untitled Query 3-HNnjlOJDx", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-03-04T10:32:38" + }, + "column_name": "name", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-03-04T10:32:38" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 236, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 45, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-03-04T10:32:38" + }, + "column_name": "country", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-03-04T10:32:38" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 237, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 45, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-03-04T10:32:38" + }, + "column_name": "database_type", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-03-04T10:32:38" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 238, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 45, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-28T16:09:13" + }, + "column_name": "acronym", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-03-04T10:32:38" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 239, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 45, + "type": "STRING", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-03-04T10:32:38" + }, + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-03-04T10:32:38" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 45, + "metric_name": "count", + "metric_type": null, + "table_id": 45, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 45, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "-- 1 General - Database types per country\r\nSELECT source.name, \r\n country.country,\r\n source.database_type,\r\n source.acronym\r\nFROM public.data_source AS source INNER JOIN public.country \r\n AS country ON source.country_id=country.id", + "table_name": "Untitled Query-Pf9p33tCv", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-29T15:35:11" + }, + "column_name": "acronym", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-09-29T15:35:11" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 486, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 99, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-27T12:23:45" + }, + "column_name": "name", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-27T12:23:45" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 463, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 99, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-27T12:23:45" + }, + "column_name": "concept_name", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-27T12:23:45" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 464, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 99, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-27T12:23:45" + }, + "column_name": "num_persons", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-27T12:23:45" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 465, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 99, + "type": "INT", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-27T12:23:45" + }, + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-27T12:23:45" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 102, + "metric_name": "count", + "metric_type": null, + "table_id": 99, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 99, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "SELECT\r\n data_source.name,\r\n data_source.acronym,\r\n concept.concept_name,\r\n achilles_results.count_value AS num_persons\r\nFROM (SELECT * FROM achilles_results WHERE analysis_id = 200) as achilles_results\r\nJOIN data_source ON achilles_results.data_source_id = data_source.id\r\nJOIN concept ON CAST(achilles_results.stratum_1 AS INTEGER) = concept.concept_id", + "table_name": "Peter Rijnbeek-Visit Type Table v2-DhXfzMl9M", + "template_params": null + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-28T15:59:16" + }, + "column_name": "name", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T17:36:45" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 410, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 86, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-28T15:59:16" + }, + "column_name": "gender", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T17:36:45" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 412, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 86, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-28T15:59:16" + }, + "column_name": "count_value", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T17:36:45" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 413, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 86, + "type": "INT", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-29T15:27:08" + }, + "column_name": "acronym", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-09-29T15:27:08" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 478, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 86, + "type": "STRING", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-26T17:36:45" + }, + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T17:36:45" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 89, + "metric_name": "count", + "metric_type": null, + "table_id": 86, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 86, \"database_name\": \"Achilles\"}", + "schema": "null", + "sql": "SELECT source.name,\r\n source.acronym,\r\n concept_name as gender,\r\n count_value\r\n FROM public.achilles_results AS achilles\r\n INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\r\n INNER JOIN public.concept ON stratum_1 = CAST(concept_id AS text)\r\n WHERE analysis_id = 2", + "table_name": "Peter Rijnbeek-Untitled Query 2--E1zjg5sW", + "template_params": null + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-10-02T09:37:57" + }, + "column_name": "name", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-03T17:01:36" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 218, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 42, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-10-02T09:37:57" + }, + "column_name": "country", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-03T17:01:36" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 219, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 42, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-10-02T09:37:57" + }, + "column_name": "type", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-03T17:01:36" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 220, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 42, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-10-02T09:37:57" + }, + "column_name": "acronym", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-03T17:01:36" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 221, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 42, + "type": "STRING", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-03T17:01:36" + }, + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-03T17:01:36" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 42, + "metric_name": "count", + "metric_type": null, + "table_id": 42, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 42, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "-- 1 General - Database types per country\r\nSELECT source.name, \r\n country.country as Country, \r\n source.database_type,\r\n source.acronym\r\nFROM public.data_source AS source INNER JOIN public.country \r\n AS country ON source.country_id=country.id", + "table_name": "Untitled Query 2-gUfsW6Np2", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-27T11:19:47" + }, + "column_name": "name", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-27T11:19:47" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 449, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 96, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-27T11:19:47" + }, + "column_name": "xlengthofobservation", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-27T11:19:47" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 451, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 96, + "type": "INT", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-27T11:19:47" + }, + "column_name": "ypercentpersons", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-27T11:19:47" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 452, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 96, + "type": null, + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-29T15:33:49" + }, + "column_name": "acronym", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-09-29T15:33:49" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 485, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 96, + "type": "STRING", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-27T11:19:47" + }, + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-27T11:19:47" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 99, + "metric_name": "count", + "metric_type": null, + "table_id": 96, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 96, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "SELECT\r\n name,\r\n acronym,\r\n xLengthOfObservation,\r\n round(cumulative_sum / total, 5) as yPercentPersons\r\nFROM (\r\n SELECT data_source_id, CAST(stratum_1 AS INTEGER) * 30 AS xLengthOfObservation, SUM(count_value) OVER (PARTITION BY data_source_id ORDER BY CAST(stratum_1 AS INTEGER) DESC) as cumulative_sum\r\n FROM achilles_results\r\n WHERE analysis_id = 108\r\n) AS cumulative_sums\r\nJOIN (\r\n SELECT data_source_id, count_value as total\r\n FROM achilles_results\r\n WHERE analysis_id = 1\r\n) AS totals\r\nON cumulative_sums.data_source_id = totals.data_source_id\r\nJOIN data_source ON cumulative_sums.data_source_id = data_source.id\r\nORDER BY name, xLengthOfObservation", + "table_name": "Cumulative Observation Period 2-L74hsau_K", + "template_params": null + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-10-02T09:43:06" + }, + "column_name": "cdm_release_date", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T12:20:02" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 388, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 83, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-10-02T09:43:06" + }, + "column_name": "cdm_version", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T12:20:02" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 389, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 83, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-10-02T09:43:06" + }, + "column_name": "vocabulary_version", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T12:20:02" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 390, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 83, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-10-02T09:43:06" + }, + "column_name": "acronym", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-09-29T15:38:40" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 489, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 83, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-10-02T09:43:06" + }, + "column_name": "database_type", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-10-02T09:35:34" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 491, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 83, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-10-02T09:43:06" + }, + "column_name": "name", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T12:20:02" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 386, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 83, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-10-02T09:43:06" + }, + "column_name": "source_release_date", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T12:20:02" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 387, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 83, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-10-02T09:43:19" + }, + "column_name": "country", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-10-02T09:43:19" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 494, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 83, + "type": "STRING", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-26T12:20:02" + }, + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T12:20:02" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 86, + "metric_name": "count", + "metric_type": null, + "table_id": 83, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 83, \"database_name\": \"Achilles\"}", + "schema": "null", + "sql": "-- Note: Unless you save your query, these tabs will NOT persist if you clear your cookies or change browsers.\r\n\r\nSELECT\r\n acronym,\r\n stratum_1 as \"name\",\r\n database_type,\r\n country,\r\n stratum_2 as \"source_release_date\",\r\n stratum_3 as \"cdm_release_date\",\r\n stratum_4 as \"cdm_version\",\r\n stratum_5 as \"vocabulary_version\"\r\nFROM achilles_results\r\nJOIN data_source ON achilles_results.data_source_id = data_source.id\r\nJOIN country ON data_source.country_id = country.id\r\nWHERE analysis_id=5000", + "table_name": "Peter Rijnbeek-Untitled Query 2-jCYlfS520", + "template_params": null + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-02T14:46:22" + }, + "column_name": "source", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-02T14:46:22" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 178, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 34, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-02T14:46:22" + }, + "column_name": "country", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-02T14:46:22" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 179, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 34, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-02T14:46:22" + }, + "column_name": "database_type", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-02T14:46:22" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 180, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 34, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-02T14:46:22" + }, + "column_name": "release_date", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-02T14:46:22" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 181, + "is_active": true, + "is_dttm": true, + "python_date_format": null, + "table_id": 34, + "type": "DATETIME", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-02T14:46:22" + }, + "column_name": "gender", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-02T14:46:22" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 182, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 34, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-02T14:46:22" + }, + "column_name": "count", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-02T14:46:22" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 183, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 34, + "type": "INT", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-02T14:46:22" + }, + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-02T14:46:22" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 34, + "metric_name": "count", + "metric_type": null, + "table_id": 34, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 34, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "SELECT data.source,\n data.country,\n data.database_type,\n data.release_date,\n concept_name AS gender,\n count_value AS count\nFROM (\n SELECT source.name AS source,\n achilles.analysis_id AS analysis_id,\n achilles.stratum_1,\n achilles.stratum_2,\n achilles.stratum_3,\n achilles.stratum_4,\n achilles.stratum_5,\n achilles.count_value,\n country.country,\n source.database_type, \n source.release_date\n FROM public.achilles_results AS achilles INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\n INNER JOIN public.country AS country ON source.country_id=country.id\n ) data\nJOIN (SELECT '8507' AS concept_id, 'Male' AS concept_name UNION SELECT '8532' AS concept_id, 'Female' AS concept_name) AS concepts ON data.stratum_1 = concept_id\nWHERE analysis_id =2", + "table_name": "Untitled Query 5-IExD-Tsxs", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-28T17:26:32" + }, + "column_name": "acronym", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-05-27T10:40:23" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 287, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 60, + "type": "VARCHAR(50)", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-27T10:40:23" + }, + "column_name": "id", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-05-27T10:40:23" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 285, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 60, + "type": "INTEGER", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-27T10:40:23" + }, + "column_name": "name", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-05-27T10:40:23" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 286, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 60, + "type": "VARCHAR(40)", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-27T10:40:23" + }, + "column_name": "release_date", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-05-27T10:40:23" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 288, + "is_active": true, + "is_dttm": true, + "python_date_format": null, + "table_id": 60, + "type": "DATE", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-27T10:40:23" + }, + "column_name": "database_type", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-05-27T10:40:23" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 289, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 60, + "type": "VARCHAR(40)", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-27T10:40:23" + }, + "column_name": "latitude", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-05-27T10:40:23" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 290, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 60, + "type": "DOUBLE PRECISION", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-27T10:40:23" + }, + "column_name": "longitude", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-05-27T10:40:23" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 291, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 60, + "type": "DOUBLE PRECISION", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-27T10:40:23" + }, + "column_name": "link", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-05-27T10:40:23" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 292, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 60, + "type": "VARCHAR(200)", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-27T10:40:23" + }, + "column_name": "country_id", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-05-27T10:40:23" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 293, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 60, + "type": "INTEGER", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": "release_date", + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-27T10:40:23" + }, + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-05-27T10:40:23" + }, + "d3format": null, + "description": null, + "expression": "COUNT(*)", + "id": 60, + "metric_name": "count", + "metric_type": "count", + "table_id": 60, + "verbose_name": "COUNT(*)", + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 60, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": null, + "table_name": "data_source", + "template_params": null + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-20T23:05:51" + }, + "column_name": "name", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-20T23:05:51" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 54, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 11, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-20T23:05:51" + }, + "column_name": "Birth_year", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-20T23:05:51" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 55, + "is_active": true, + "is_dttm": true, + "python_date_format": null, + "table_id": 11, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-20T23:05:51" + }, + "column_name": "count", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-20T23:05:51" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 56, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 11, + "type": "INT", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-29T15:28:23" + }, + "column_name": "acronym", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-09-29T15:28:23" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 480, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 11, + "type": "STRING", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-20T23:05:51" + }, + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-20T23:05:51" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 11, + "metric_name": "count", + "metric_type": null, + "table_id": 11, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 11, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "-- 3 Person - Births by year\r\nSELECT source.name,\r\n source.acronym,\r\n stratum_1 as \"Birth_year\",\r\n count_value as count\r\nFROM public.achilles_results AS achilles INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\r\nwhere analysis_id = 3", + "table_name": "Untitled Query 3-OTisQhOu9", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-27T11:52:28" + }, + "column_name": "name", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-27T11:52:28" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 140, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 26, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-27T11:52:28" + }, + "column_name": "domain_name", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-27T11:52:28" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 141, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 26, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-27T11:52:28" + }, + "column_name": "concept_name", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-27T11:52:28" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 142, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 26, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-27T11:52:28" + }, + "column_name": "num_records", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-27T11:52:28" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 143, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 26, + "type": "OBJECT", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-29T15:32:32" + }, + "column_name": "acronym", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-09-29T15:32:32" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 483, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 26, + "type": "STRING", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-27T11:52:28" + }, + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-27T11:52:28" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 26, + "metric_name": "count", + "metric_type": null, + "table_id": 26, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 26, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "-- Concepts Domains\r\nselect source.name,\r\n source.acronym,\r\n case when analysis_id = 405 then 'Condition'\r\n when analysis_id = 605 then 'Procedure'\r\n when analysis_id = 705 then 'Drug'\r\n when analysis_id = 805 then 'Observation'\r\n when analysis_id = 1805 then 'Measurement'\r\n when analysis_id = 2105 then 'Device'\r\n else 'Other' end as domain_name,\r\n concept_name, sum(count_value) as num_records\r\nFROM public.achilles_results AS achilles INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\r\nINNER JOIN public.concept AS c1 ON stratum_2 = CAST(concept_id AS text)\r\nWHERE analysis_id in (405,605,705,805,1805,2105)\r\nGROUP BY source.name, source.acronym, concept_name, \r\n case when analysis_id = 405 then 'Condition'\r\n when analysis_id = 605 then 'Procedure'\r\n when analysis_id = 705 then 'Drug'\r\n when analysis_id = 805 then 'Observation'\r\n when analysis_id = 1805 then 'Measurement'\r\n when analysis_id = 2105 then 'Device'\r\n else 'Other' end", + "table_name": "admin user-Untitled Query 3-_1-hZtmZL", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-28T16:16:29" + }, + "column_name": "acronym", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-09-28T16:16:20" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 471, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 82, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-26T11:31:42" + }, + "column_name": "Type", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T11:31:08" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 383, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 82, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-26T11:31:42" + }, + "column_name": "name", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T11:31:08" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 384, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 82, + "type": "STRING", + "verbose_name": "Data Source" + } + }, + { + "__TableColumn__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-26T11:31:42" + }, + "column_name": "Count", + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T11:31:08" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 385, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 82, + "type": "INT", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 8, + "changed_on": { + "__datetime__": "2020-09-26T11:31:08" + }, + "created_by_fk": 8, + "created_on": { + "__datetime__": "2020-09-26T11:31:08" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 85, + "metric_name": "count", + "metric_type": null, + "table_id": 82, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 82, \"database_name\": \"Achilles\"}", + "schema": "null", + "sql": "-- Note: Unless you save your query, these tabs will NOT persist if you clear your cookies or change browsers.\r\n\r\nSELECT \"concept_name\" AS \"Type\",\r\n name,\r\n max(\"count_value\") AS \"Count\",\r\n acronym\r\nFROM\r\n (SELECT source.name,\r\n concept_name,\r\n count_value,\r\n source.acronym\r\n FROM public.achilles_results AS achilles\r\n INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\r\n INNER JOIN public.concept ON stratum_1 = CAST(concept_id AS text)\r\n WHERE analysis_id = 201) AS expr_qry\r\nGROUP BY \"Type\",\r\n name,\r\n acronym\r\nORDER BY \"Count\" DESC\r\nLIMIT 50000", + "table_name": "Peter Rijnbeek-Visit Type Table-dQ22vpz3e", + "template_params": null + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-28T17:01:49" + }, + "column_name": "acronym", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-20T16:53:27" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 47, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 8, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-20T16:53:27" + }, + "column_name": "name", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-20T16:53:27" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 45, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 8, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-20T16:53:27" + }, + "column_name": "count", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-20T16:53:27" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 46, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 8, + "type": "INT", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-20T16:53:27" + }, + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-20T16:53:27" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 8, + "metric_name": "count", + "metric_type": null, + "table_id": 8, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 8, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "-- 501\tDeath - number of records\r\nSELECT source.name,\r\n count_value as count, \r\n source.acronym\r\nFROM public.achilles_results AS achilles INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\r\nwhere analysis_id = 501", + "table_name": "Untitled Query 4-O04EF2u8N", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-10-02T09:39:21" + }, + "column_name": "sum", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-05-27T11:03:50" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 305, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 66, + "type": "OBJECT", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-10-02T09:39:53" + }, + "column_name": "country", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-10-02T09:39:53" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 493, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 66, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-10-02T09:39:21" + }, + "column_name": "release_date", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-05-27T11:03:50" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 304, + "is_active": null, + "is_dttm": true, + "python_date_format": null, + "table_id": 66, + "type": "DATETIME", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-10-02T09:39:42" + }, + "column_name": "database_type", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-10-02T09:39:42" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 492, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 66, + "type": "STRING", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-27T11:03:50" + }, + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-05-27T11:03:50" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 66, + "metric_name": "count", + "metric_type": null, + "table_id": 66, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 66, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "SELECT\r\n country,\r\n database_type,\r\n release_date,\r\n sum(count_value) OVER (ORDER BY release_date ASC)\r\nFROM achilles_results\r\nJOIN data_source ON data_source_id = data_source.id\r\nJOIN country ON data_source.country_id = country.id\r\nWHERE analysis_id = 1", + "table_name": "Landing Page - Patients Growth query", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-03T17:06:51" + }, + "column_name": "name", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-03T17:06:51" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 222, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 43, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-03T17:06:51" + }, + "column_name": "latitude", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-03T17:06:51" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 226, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 43, + "type": "FLOAT", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-03T17:06:51" + }, + "column_name": "longitude", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-03T17:06:51" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 227, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 43, + "type": "FLOAT", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-03T17:06:51" + }, + "column_name": "country", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-03T17:06:51" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 229, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 43, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-28T16:11:26" + }, + "column_name": "acronym", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-03T17:06:51" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 223, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 43, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-03-04T11:08:59" + }, + "column_name": "database_type", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-03T17:06:51" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 225, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 43, + "type": "STRING", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-03T17:06:51" + }, + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-03T17:06:51" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 43, + "metric_name": "count", + "metric_type": null, + "table_id": 43, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 43, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "SELECT name,\r\n acronym,\r\n database_type,\r\n latitude,\r\n longitude,\r\n country\r\nFROM public.data_source AS source INNER JOIN public.country \r\n AS country ON source.country_id=country.id", + "table_name": "Untitled Query 2-4l_EYigMw", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-28T16:05:23" + }, + "column_name": "acronym", + "created_by_fk": 2, + "created_on": { + "__datetime__": "2020-07-10T13:57:07" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 323, + "is_active": true, + "is_dttm": false, + "python_date_format": null, + "table_id": 40, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-07-10T11:54:57" + }, + "column_name": "name", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-02T21:29:43" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 211, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 40, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-07-10T11:54:57" + }, + "column_name": "year_month", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-02T21:29:43" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 212, + "is_active": null, + "is_dttm": true, + "python_date_format": null, + "table_id": 40, + "type": "DATETIME", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-07-10T11:54:57" + }, + "column_name": "patient_count", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-02T21:29:43" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 213, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 40, + "type": "INT", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-02T21:29:43" + }, + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-03-02T21:29:43" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 40, + "metric_name": "count", + "metric_type": null, + "table_id": 40, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 40, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "-- 111 Population characteristics - Observation Period End Dates\r\nSELECT source.name,\r\n source.acronym,\r\n to_date(stratum_1, 'YYYYMM') as year_month,\r\n count_value as patient_count\r\nFROM public.achilles_results AS achilles INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\r\nwhere analysis_id = 111", + "table_name": "Observation Period Start Dates Query", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-28T17:02:28" + }, + "column_name": "acronym", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-20T16:41:12" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 44, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 7, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-19T17:04:35" + }, + "column_name": "name", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-20T16:41:12" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 41, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 7, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-19T17:04:35" + }, + "column_name": "date", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-20T16:41:12" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 42, + "is_active": null, + "is_dttm": true, + "python_date_format": null, + "table_id": 7, + "type": "DATETIME", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-05-19T17:04:35" + }, + "column_name": "count", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-20T16:41:12" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 43, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 7, + "type": "INT", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-20T16:41:12" + }, + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-20T16:41:12" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 7, + "metric_name": "count", + "metric_type": null, + "table_id": 7, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 7, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "-- 502\tDeath - by month per thousand people\r\nSELECT source.name,\r\n cast(extract(year from to_date(stratum_1, 'YYYYMM')) as INTEGER) as Date,\r\n count_value as count, \r\n source.acronym\r\nFROM public.achilles_results as achilles INNER JOIN public.data_source as source ON achilles.data_source_id=source.id\r\nwhere analysis_id = 502", + "table_name": "admin user-Untitled Query 2-2r83mvJTx", + "template_params": "{}" + } + }, + { + "__SqlaTable__": { + "cache_timeout": null, + "columns": [ + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-02T14:52:43" + }, + "column_name": "name", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-20T23:12:36" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 58, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 12, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-02T14:52:43" + }, + "column_name": "gender", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-20T23:12:36" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 59, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 12, + "type": "STRING", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-03-02T14:52:43" + }, + "column_name": "number_of_persons", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-20T23:12:36" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 60, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 12, + "type": "INT", + "verbose_name": null + } + }, + { + "__TableColumn__": { + "changed_by_fk": 2, + "changed_on": { + "__datetime__": "2020-09-28T16:07:44" + }, + "column_name": "acronym", + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-20T23:12:36" + }, + "description": null, + "expression": null, + "filterable": true, + "groupby": true, + "id": 61, + "is_active": null, + "is_dttm": false, + "python_date_format": null, + "table_id": 12, + "type": "STRING", + "verbose_name": null + } + } + ], + "database_id": 2, + "default_endpoint": null, + "description": null, + "fetch_values_predicate": null, + "filter_select_enabled": false, + "main_dttm_col": null, + "metrics": [ + { + "__SqlMetric__": { + "changed_by_fk": 1, + "changed_on": { + "__datetime__": "2020-02-20T23:12:36" + }, + "created_by_fk": 1, + "created_on": { + "__datetime__": "2020-02-20T23:12:36" + }, + "d3format": null, + "description": null, + "expression": "count(*)", + "id": 12, + "metric_name": "count", + "metric_type": null, + "table_id": 12, + "verbose_name": null, + "warning_text": null + } + } + ], + "offset": 0, + "params": "{\"remote_id\": 12, \"database_name\": \"Achilles\"}", + "schema": "public", + "sql": "-- 2 Person - Gender distribution\r\nSELECT source.name,\r\n concept_name AS Gender, \r\n count_value AS Number_of_persons,\r\n source.acronym\r\nFROM public.achilles_results AS achilles INNER JOIN public.data_source AS source ON achilles.data_source_id=source.id\r\nJOIN (SELECT '8507' AS concept_id, 'Male' AS concept_name UNION SELECT '8532' AS concept_id, 'Female' AS concept_name) AS concepts ON achilles.stratum_1 = concept_id\r\nwhere analysis_id = 2", + "table_name": "admin user-Untitled Query 4-Rh4xC8sII", + "template_params": "{}" + } + } + ] +} \ No newline at end of file diff --git a/docker/superset/one_time_run_scripts/load-dashboards.sh b/docker/superset/one_time_run_scripts/load-dashboards.sh new file mode 100755 index 00000000..0ce615cf --- /dev/null +++ b/docker/superset/one_time_run_scripts/load-dashboards.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +set -e + +echo_step() { +cat <