OHDSI Home | Forums | Wiki | Github

Achiles functionalities

Hello, I have some questions about Achiles, which I see enables the user to query the database of the CDM.

As fas as I have seen, Achiles lets one to query using a dropdown menu in a web interface but I don’t see how that works. Does Achiles find the DB tables and decides what to put in the dropdown menu? is there the possibility of edditing that menu and how? is it possible to configure Achiles so it is able to done faceted search, (using some checkboxes and text entry for ranges), on patients with respect to their variables/atributes?
For example: patiens with gender male and age > 50.
That would be something like a phpmyadmin/phppgadmin but having a faceted search in the UI instead of having to write SQL statements. That would facilitate a lot in our company for users who don’t know SQL, to query what do we have in the DDBB.
Are there any examples of how to use Achiles with R?

Also regarding the posterior data analyzes I see there are other tools for that purpose. Is there any document that explains in detail the different analyzes that can be done by having the data in OMOP CDM? what tools and/or pipelines to use.

thank you in advance,
David

Achilles is for database characterization, so it inspects the database as a whole (ie: no sub-groups like men, age > 50). Those dropdowns are static, they are based on the domains of the CDM.

The reports you find in Achilles UI are pre-canned analysis reports (such as the gender breakdown, or the condition drilldowns) which simply read from a static .json file and render the reports as HTML. There’s nothing to query there, tho it’s technically possible to do some client-side filtering, but I don’t think it would get the effect you want.

If you are interested in exploring a cohort’s baseline characteristics, I suggest you define your cohort (for your example you could create a cohort of 'visit occurrence, gender is male, age is > 50, limit to earliest per person), and then use the ‘generate with features’ function in Atlas, and then you can see things like conditions, drug exposures, age groups (which would be, in this case, only the 50-55 group).

But if you are looking to work with the functionality directly out of Achilles, you should review the queries that are executed (they are grouped by an analysis_id range, example: 1-12 is general counts, 101-120 is some demographic statistics, etc). The raw queries are here: https://github.com/OHDSI/Achilles/blob/master/inst/sql/sql_server/Achilles_v5.sql. The ‘raw results’ that get inserted into achilles_results should be granular enough that if you wanted to create your own reports, you can query those results tables directly, looking for the specific analysis_id that contains the statistic you require, and then do the appropriate aggregations. Of course, this requires SQL knowledge. If you wanted to make it easier for your users to not know SQL, you could create your own php-based web application that queries those tables on the user’s behalf.

But, I think you should try out the ‘feature generation’ functionality; Here’s an example on the public site: http://www.ohdsi.org/web/atlas/#/cohortdefinition/3134. Just navigate to the ‘generation’ tab, and then you can click ‘view reports’. The baseline characteristics is under the ‘Chort Features’ tab at the bottom.

1 Like
t