OHDSI Home | Forums | Wiki | Github

Most reports in Atlas show no data or error

Sorry, not sure what you mean. The ones in the logs have all numbers ranging from 0 to 2201.

log_achilles.txt (222.8 KB)

Here is a overview of which analysis_ids are in the Achilles logs, and which are in the analysis_results table:

analysis_ids.xlsx (13.2 KB)

So, as far as I understand it, all 194 default analyses were executed, but only 62 of them ended up in the database.

Right,t his is a hint. Maybe there is something about the analysis query that is not returning results. If you are missing analysisIDs in your results, it could be that they weren’t run, or that the analysis returned no data.

This is the folder of the analyses, named after their ID. From your XLS, the 103 analysis wasn’t found in your results. Go to 103.sql and run that query (after replacign the place holders with your CDM info), and see why you’re not getting results. My guess there’s somethign up with your observation period table.

Thanks. Are those analyses script only available in SQL Server, not in PostgreSQL?

All Achilles scripts are written in SQL Server (aka “OHDSql” in OHDSI). But you can use SqlRender to translate them. Here’s the shiny app you can use interactively: https://data.ohdsi.org/SqlDeveloper/.

1 Like

Query 103.sql seems to be executed fine:

Ah! Right, some of the queries are ‘distribution’ queries that get stored in achilles_results_dist.

At this point, I’m not sure why you’re getting zero results in your reports. Can you confirm the version of WebAPI you are running?

1 Like

How do I see the version of the WebAPI?

It should be on the home screen of atlas, or if you just want to poll WebAPI directly, you can access /WebAPI/info endpoint through the browser.

2.13.0 (as part of Broadsea)

Ok, thanks. It hink you mentioned Broadsea.

So, I still am not sure how I can debug this remotely…@Ajit_Londhe : is there any way to run a debugging session on Broadsea? The strange part of this puzzle is that the achilles_cache table is empty even tho there are some reports that are showing data (which should be cached in the cache table). We’d need to set a break point in the code where we can see the query that is beign executed against the CDM to fetch the results . And also the part where it queries to cache for the cached results.

Hi @bertoverduin, to summarize:

  1. Achilles analyses executed and results in achilles_results / achilles_results_dist :white_check_mark:
  2. achilles_cache table has no records for that source :white_check_mark:
  3. local cache cleared :white_check_mark:
  4. The chrome console shows empty result sets on its API requests :white_check_mark:

Are there any errors in the ohdsi-webapi container? There should be something especially the bad SQL grammar exception you shared earlier.

@bertoverduin - just back to the achilles analyses, can you run this query?

SELECT distinct A.analysis_id, A.analysis_name
FROM @resultsDatabaseSchema.achilles_analysis A
where not exists
(
  select 1
  from 
  (
    select distinct analysis_id from @resultsDatabaseSchema.achilles_results
    union all
    select distinct analysis_id from @resultsDatabaseSchema.achilles_results_dist
  ) AR
  where A.analysis_id = AR.analysis_id
) and A.is_default = 1;

207;“Number of visit records with invalid person_id”
209;“Number of visit records with invalid care_site_id”
210;“Number of visit_occurrence records outside a valid observation period”
300;“Number of providers”
301;“Number of providers by specialty concept_id”
303;“Number of providers records by specialty_concept_id and visit_concept_id”
325;“Number of provider records by specialty_source_concept_id”
400;“Number of persons with at least one condition occurrence, by condition_concept_id”
401;“Number of condition occurrence records, by condition_concept_id”
402;“Number of persons by condition occurrence start month, by condition_concept_id”
403;“Number of distinct condition occurrence concepts per person”
404;“Number of persons with at least one condition occurrence, by condition_concept_id by calendar year by gender by age decile”
405;“Number of condition occurrence records, by condition_concept_id by condition_type_concept_id”
406;“Distribution of age by condition_concept_id”
414;“Number of condition occurrence records, by condition_status_concept_id”
415;“Number of condition occurrence records, by condition_type_concept_id”
416;“Number of condition occurrence records, by condition_status_concept_id, condition_type_concept_id”
420;“Number of condition occurrence records by condition occurrence start month”
425;“Number of condition_occurrence records by condition_source_concept_id”
500;“Number of persons with death, by cause_concept_id”
501;“Number of records of death, by cause_concept_id”
502;“Number of persons by death month”
504;“Number of persons with a death, by calendar year by gender by age decile”
505;“Number of death records, by death_type_concept_id”
506;“Distribution of age at death by gender”
511;“Distribution of time from death to last condition”
512;“Distribution of time from death to last drug”
513;“Distribution of time from death to last visit”
514;“Distribution of time from death to last procedure”
515;“Distribution of time from death to last observation”
525;“Number of death records by cause_source_concept_id”
600;“Number of persons with at least one procedure occurrence, by procedure_concept_id”
601;“Number of procedure occurrence records, by procedure_concept_id”
602;“Number of persons by procedure occurrence start month, by procedure_concept_id”
603;“Number of distinct procedure occurrence concepts per person”
604;“Number of persons with at least one procedure occurrence, by procedure_concept_id by calendar year by gender by age decile”
605;“Number of procedure occurrence records, by procedure_concept_id by procedure_type_concept_id”
606;“Distribution of age by procedure_concept_id”
620;“Number of procedure occurrence records by procedure occurrence start month”
625;“Number of procedure_occurrence records by procedure_source_concept_id”
630;“Number of procedure_occurrence records inside a valid observation period”
691;“Percentage of total persons that have at least x procedures”
700;“Number of persons with at least one drug exposure, by drug_concept_id”
701;“Number of drug exposure records, by drug_concept_id”
702;“Number of persons by drug exposure start month, by drug_concept_id”
703;“Number of distinct drug exposure concepts per person”
704;“Number of persons with at least one drug exposure, by drug_concept_id by calendar year by gender by age decile”
705;“Number of drug exposure records, by drug_concept_id by drug_type_concept_id”
706;“Distribution of age by drug_concept_id”
715;“Distribution of days_supply by drug_concept_id”
716;“Distribution of refills by drug_concept_id”
717;“Distribution of quantity by drug_concept_id”
720;“Number of drug exposure records by drug exposure start month”
725;“Number of drug_exposure records by drug_source_concept_id”
791;“Percentage of total persons that have at least x drug exposures”
900;“Number of persons with at least one drug era, by drug_concept_id”
901;“Number of drug era records, by drug_concept_id”
902;“Number of persons by drug era start month, by drug_concept_id”
903;“Number of distinct drug era concepts per person”
904;“Number of persons with at least one drug era, by drug_concept_id by calendar year by gender by age decile”
906;“Distribution of age by drug_concept_id”
907;“Distribution of drug era length, by drug_concept_id”
920;“Number of drug era records by drug era start month”
1000;“Number of persons with at least one condition era, by condition_concept_id”
1001;“Number of condition era records, by condition_concept_id”
1002;“Number of persons by condition era start month, by condition_concept_id”
1003;“Number of distinct condition era concepts per person”
1004;“Number of persons with at least one condition era, by condition_concept_id by calendar year by gender by age decile”
1006;“Distribution of age by condition_concept_id”
1007;“Distribution of condition era length, by condition_concept_id”
1020;“Number of condition era records by condition era start month”
1100;“Number of persons by location 3-digit zip”
1101;“Number of persons by location state”
1102;“Number of care sites by location 3-digit zip”
1103;“Number of care sites by location state”
1200;“Number of persons by place of service”
1201;“Number of visits by place of service”
1202;“Number of care sites by place of service”
1203;“Number of visits by place of service discharge type”
1300;“Number of persons with at least one visit detail, by visit_detail_concept_id”
1301;“Number of visit detail records, by visit_detail_concept_id”
1302;“Number of persons by visit detail start month, by visit_detail_concept_id”
1303;“Number of distinct visit detail concepts per person”
1304;“Number of persons with at least one visit detail, by visit_detail_concept_id by calendar year by gender by age decile”
1306;“Distribution of age by visit_detail_concept_id”
1312;“Number of persons with at least one visit detail, by calendar year by gender by age decile”
1313;“Distribution of length of stay by visit_detail_concept_id”
1320;“Number of visit detail records by visit detail start month”
1321;“Number of persons by visit start year”
1325;“Number of visit_detail records by visit_detail_source_concept_id”
1406;“Length of payer plan (days) of first payer plan period by gender”
1407;“Length of payer plan (days) of first payer plan period by age decile”
1408;“Number of persons by length of payer plan period, in 30d increments”
1409;“Number of persons with continuous payer plan in each year”
1410;“Number of persons with continuous payer plan in each month”
1411;“Number of persons by payer plan period start month”
1412;“Number of persons by payer plan period end month”
1413;“Number of persons by number of payer plan periods”
1425;“Number of payer_plan_period records by payer_source_concept_id”
1814;“Number of measurement records with no value (numeric, string, or concept)”
1816;“Distribution of low range, by measurement_concept_id and unit_concept_id”
1817;“Distribution of high range, by measurement_concept_id and unit_concept_id”
1818;“Number of measurement records below/within/above normal range, by measurement_concept_id and unit_concept_id”
1900;“Source values mapped to concept_id 0 by table, by column, by source_value”
2000;“Number of patients with at least 1 Dx and 1 Rx”
2001;“Number of patients with at least 1 Dx and 1 Proc”
2002;“Number of patients with at least 1 Meas, 1 Dx and 1 Rx”
2100;“Number of persons with at least one device exposure, by device_concept_id”
2101;“Number of device exposure records, by device_concept_id”
2102;“Number of persons by device records start month, by device_concept_id”
2104;“Number of persons with at least one device exposure, by device_concept_id by calendar year by gender by age decile”
2105;“Number of device exposure records, by device_concept_id by device_type_concept_id”
2106;“Distribution of age by device_concept_id”
2120;“Number of device_exposure records by device_exposure start month”
2125;“Number of device_exposure records by device_source_concept_id”
2191;“Percentage of total persons that have at least x device exposures”
2200;“Number of persons with at least one note by note_type_concept_id”
2201;“Number of note records, by note_type_concept_id”

And these are the only ERRORs I see in the Docker WebAPI logs:

2023-09-21 21:50:19.368 ERROR main org.apache.juli.logging.DirectJDKLog - [] - Unable to create initial connections of pool.
2023-09-21 21:50:19.390 ERROR main org.springframework.boot.SpringApplication - [] - Application startup failed
2023-09-21 21:50:27.087 ERROR main org.apache.juli.logging.DirectJDKLog - [] - Unable to create initial connections of pool.
2023-09-21 21:50:27.110 ERROR main org.springframework.boot.SpringApplication - [] - Application startup failed
2023-09-21 21:50:34.708 ERROR main org.apache.juli.logging.DirectJDKLog - [] - Unable to create initial connections of pool.
2023-09-21 21:50:34.730 ERROR main org.springframework.boot.SpringApplication - [] - Application startup failed
2023-09-21 21:50:43.446 ERROR main org.apache.juli.logging.DirectJDKLog - [] - Unable to create initial connections of pool.
2023-09-21 21:50:43.469 ERROR main org.springframework.boot.SpringApplication - [] - Application startup failed
2023-09-21 21:50:51.546 ERROR main org.apache.juli.logging.DirectJDKLog - [] - Unable to create initial connections of pool.
2023-09-21 21:50:51.569 ERROR main org.springframework.boot.SpringApplication - [] - Application startup failed
2023-09-21 21:51:00.574 ERROR main org.apache.juli.logging.DirectJDKLog - [] - Unable to create initial connections of pool.
2023-09-21 21:51:00.626 ERROR main org.springframework.boot.SpringApplication - [] - Application startup failed
2023-09-21 21:51:27.765 ERROR main org.ohdsi.webapi.vocabulary.solr.SolrSearchProvider - [] - SOLR Core Initialization Error: WebAPI was unable to obtain the list of available cores.

@Chris_Knoll @Ajit_Londhe Do you have any suggestions how to proceed? I’m really stuck and one of the requirements for our EHDEN project is to have Atlas working …

Hi @bertoverduin let’s chat directly. I’ll DM you. Once we resolve it, we’ll share the answer here

1 Like

@Ajit_Londhe @Chris_Knoll Update: This issue has been fixed now. I was told by people from the EHDEN project that they had ‘solved’ similar cases in the past by creating a new data source (pointing to the same database). So, that is what I did. I created entries in the webapi source and source_daimon tables for a new data source, and now Atlas shows Data Density, Measurement, and Observation reports for my data. No idea why this worked, but it does … :thinking:

1 Like

Ty for this. I was losing what little I hair I had left over this issue.

Probably works because there’s caching done at the sourceID level, and by adding a new source, it will by default have nothing cached.

We’ll be working on making a cleaner approach to ‘refresh cache’ directly int he Atlas UI for 2.15…which should hopefully relieve some of these pain points.

1 Like

I tried a number of variations adding new sources after a clean Achilles run, and I am still not seeing most reports in ATLAS. I’m on v2.13. And using Achilles v1.7.2. My last attempt was with a 250k population of synthea v.2.7.0.

t