Mimic-code: Conselhos sobre como executar scripts SQL complicados transmitidos de outros projetos / estudos?

Criado em 2 set. 2017  ·  4Comentários  ·  Fonte: MIT-LCP/mimic-code

Olá, sou novo no MIMIC-3 e no postgeSQL / pgAdmin 4.

Tenho trabalhado no bloco de notas do tutorial de seleção de coorte e acho que entendo o básico agora.

Recebi dois "blobs" de consultas SQL, um usado para definição de coorte e outro blob usado para extração de dados subsequente de um projeto anterior. Tentei executar blocos separados de consultas de ambos os "blobs" no pgAdmin4 e acho que entendo partes deles.

Eu estava simplesmente me perguntando como poderia executar tudo para gerar tabelas no formato csv para cada encontro de um paciente na UTI.

Minha tarefa final seria extrair 47 recursos predefinidos de cada um desses arquivos csv, (e alguns outros pré-processamento), e então juntá-los em uma série temporal multivariada, o que eu deveria ser capaz de fazer em Matlab ou Python usando pandas.

O conjunto de dados para o estudo que estou tentando reproduzir é detalhado nas seções 8.1 e 8.2 deste artigo

Acho que talvez este não seja o lugar certo para pedir conselhos como este. Portanto, há algum outro lugar que você possa recomendar para iniciantes que desejam aprender como executar scripts SQL herdados de outros projetos / estudos? Imagino que seja uma pergunta / tarefa bastante comum, mas não consegui encontrar nenhum lugar que ajudasse?

Muito obrigado pela ajuda!

Comentários muito úteis

Excelente! Boa sorte!

Todos 4 comentários

Bem, aqui estão algumas dicas para novatos que podem ter o mesmo problema,

  • Para executar vários blocos de consultas, usando query tool em pgAdmin4, tente terminar cada bloco com um ponto e vírgula;

O problema é que parece que apenas a última consulta é realmente executada no Data Output Panel - eu acho que você precisa usar uma cláusula UNION ou JOIN para mesclá-los de alguma forma?

cohort_definition

  • Para salvar sua mesa final, ou seja, para exportar do Postgres para CSV, você pode usar a instrução COPY , consulte # 214

Não acho que posso fornecer uma solução geral, mas talvez possa apontar a direção certa. Minha maneira favorita de trabalhar é escrever scripts SQL modulares que criam visualizações materializadas dos dados para conceitos específicos (por exemplo, ventilação). Eu, então, combino todas essas visualizações no final para fazer uma grande tabela, e produzo em CSV ou leio diretamente em Python. Se você está procurando aprender SQL, tenho certeza de que existem muitos tutoriais online para ajudar nisso. Particularmente, eu leria sobre visões materializadas, pois são muito úteis para criar tabelas intermediárias que você pode usar mais tarde (acho que é disso que você precisa em sua última pergunta).

Se você olhar a subpasta aline (https://github.com/MIT-LCP/mimic-code/tree/master/notebooks/aline), poderá ver um exemplo de um estudo clínico totalmente reproduzível. Eu recomendaria fazer algo parecido com o que é feito nessa pasta. Existem vários arquivos SQL modulares que geram tabelas subjacentes - você pode ver que primeiro eu aline_cohort.sql - que diz "estes são os icustay_id s nos quais estou interessado". Em seguida, executo vários outros scripts para gerar conceitos para esses icustay_id s. Finalmente, o caderno extrai todos os dados dessas tabelas (no aline.ipynb @ [7]). O notebook deu um passo adiante e realmente executa todas as consultas acima diretamente do Python. No mínimo, deve dar uma ideia de como você pode construir uma coorte / conjunto de dados a partir de várias consultas SQL. Espero que ajude!

Olá Alistair @alistairewj , muito obrigado por esta grande ajuda é muito apreciado: +1:

Estou investindo algum tempo para fazer o estudo do cateter arterial de demora (estudo de linha) e seus cadernos de sepsis3-mimet .

Uma curva de aprendizado um pouco íngreme, mas está começando a fazer sentido :) A análise secundária de registros eletrônicos de saúde também está se mostrando muito útil :)

Excelente! Boa sorte!

Esta página foi útil?
0 / 5 - 0 avaliações