Mimic-code: Des conseils sur la façon d'exécuter des scripts SQL complexes transmis par d'autres projets/études ?

Créé le 2 sept. 2017  ·  4Commentaires  ·  Source: MIT-LCP/mimic-code

Bonjour, je suis nouveau sur MIMIC-3 et postgeSQL/pgAdmin 4.

J'ai travaillé sur le bloc -

On m'a donné deux "blobs" de requêtes SQL, l'un utilisé pour la définition de la cohorte et l'autre utilisé pour l'extraction de

Je me demandais simplement comment je pouvais tout exécuter pour générer des tableaux au format csv pour chaque rencontre en soins intensifs d'un patient ?

Ma tâche finale serait alors d'extraire 47 fonctionnalités prédéfinies de chacun de ces fichiers csv (et d'autres prétraitements), puis de les joindre dans une série chronologique multivariée, ce que je devrais pouvoir faire dans Matlab ou Python à l'aide de pandas.

L'ensemble de données pour l'étude que j'essaie de reproduire est détaillé dans les sections 8.1 et 8.2 de cet article

Je suppose que ce n'est peut-être pas le bon endroit pour demander des conseils comme celui-ci? Ainsi, existe-t-il un autre endroit que vous pourriez recommander aux novices souhaitant apprendre à exécuter des scripts SQL hérités d'autres projets/études ? Je suppose que c'est une question/tâche assez courante, mais je n'ai trouvé aucun endroit qui m'ait aidé ?

Merci beaucoup pour votre aide!

Commentaire le plus utile

Super! Bonne chance!

Tous les 4 commentaires

Eh bien, voici quelques conseils pour les novices qui pourraient avoir le même problème,

  • Pour exécuter plusieurs blocs de requêtes, en utilisant le query tool dans pgAdmin4, essayez de terminer chaque bloc avec un point-virgule ;

Le problème est qu'il semble que seule la dernière requête soit réellement exécutée dans le Data Output Panel - je suppose que vous devez utiliser une clause UNION ou JOIN pour les fusionner d'une manière ou d'une autre ?

cohort_definition

  • Pour enregistrer votre table finale, c'est-à-dire pour exporter de Postgres vers CSV, vous pouvez utiliser l'instruction COPY , voir #214

Je ne pense pas pouvoir fournir une solution générale, mais je peux peut-être vous orienter dans la bonne direction. Ma façon de travailler préférée est d'écrire des scripts SQL modulaires qui créent des vues matérialisées des données pour des concepts particuliers (par exemple la ventilation). Je combine ensuite toutes ces vues à la fin pour créer une grande table, et je la sors au format CSV ou je la lis directement dans Python. Si vous cherchez à apprendre SQL, je suis sûr qu'il existe de nombreux tutoriels en ligne pour vous aider. En particulier, je me renseignerais sur les vues matérialisées car elles sont très utiles pour créer des tables intermédiaires que vous pourrez ensuite utiliser plus tard (je pense que c'est ce dont vous avez besoin dans votre dernière question).

Si vous regardez le sous-dossier aline (https://github.com/MIT-LCP/mimic-code/tree/master/notebooks/aline), vous pouvez voir un exemple d'une étude clinique entièrement reproductible. Je recommanderais de faire quelque chose comme ce qui est fait dans ce dossier. Il existe un tas de fichiers SQL modulaires qui génèrent des tables sous-jacentes - vous pouvez voir que je génère d'abord une table de "cohorte" aline_cohort.sql - qui dit "ce sont les icustay_id m'intéressent". Ensuite, j'exécute un certain nombre d'autres scripts pour générer des concepts pour ces icustay_id s. Enfin, le notebook extrait toutes les données de ces tables (dans le aline.ipynb @ [7]). Le notebook est allé plus loin et exécute toutes les requêtes ci-dessus directement à partir de Python. À tout le moins, cela devrait vous donner une idée de la façon dont vous pouvez créer une cohorte/un ensemble de données à partir de plusieurs requêtes SQL. J'espère que ça aide !

Salut Alistair @alistairewj , merci beaucoup pour cette aide

J'investis un peu de temps pour parcourir l'étude du cathéter artériel à demeure (étude aline) et vos cahiers sepsis3-mimic .

La courbe d'apprentissage est un peu raide, mais cela commence à avoir du sens :) L' analyse secondaire des dossiers de santé électroniques s'avère également très utile :)

Super! Bonne chance!

Cette page vous a été utile?
0 / 5 - 0 notes