Mimic-code: ¿Cómo ejecutar el archivo .sh en la carpeta de conceptos para construir la tabla relevante?

Creado en 18 sept. 2020  ·  13Comentarios  ·  Fuente: MIT-LCP/mimic-code

Prerrequisitos

Descripción

¡Muchas gracias por el gran proyecto!
Soy un nuevo principiante de SQL / psql. He intentado con todas mis fuerzas instalar [postgres_make_concepts.sh] en el shell (psql), pero fallé. No sé cómo iniciar el archivo. Sin embargo, siguiendo las instrucciones, puedo ejecutar el archivo .sql individual.
La carpeta completa se descargó en mi computadora.
Más, he pasado por todos los problemas (incluidos los cerrados), pero todavía no puedo averiguar cómo hacerlo localmente.

[¿Cómo iniciar postgres_make_concepts.sh?]

Espero tu ayuda, gracias!

Comentario más útil

OK, logré escribir un archivo .bat para generar los conceptos en Windows. Requiere WSL pero es probablemente la forma más manos libres de generar los conceptos. Funciona para todos menos los diagnósticos CCS. Hay un tutorial en el README: https://github.com/MIT-LCP/mimic-code/tree/master/concepts

¡Avíseme si funciona para todos ustedes!

Todos 13 comentarios

¿Qué sistema operativo estás ejecutando? El archivo es un script de shell, por lo que solo funcionará en Mac OS X o Linux. Si está en Windows, no estoy seguro de cuál es el mejor enfoque. Los archivos SQL se pueden ejecutar con el programa psql (shell) que vino con la instalación de PostgreSQL, pero hay una expresión regular aplicada a algunos archivos para reemplazar la sintaxis de BigQuery con la sintaxis de PostgreSQL. Probablemente la forma más sencilla de emular eso en Windows es hacerlo manualmente.

¿Qué sistema operativo estás ejecutando? El archivo es un script de shell, por lo que solo funcionará en Mac OS X o Linux. Si está en Windows, no estoy seguro de cuál es el mejor enfoque. Los archivos SQL se pueden ejecutar con el programa psql (shell) que vino con la instalación de PostgreSQL, pero hay una expresión regular aplicada a algunos archivos para reemplazar la sintaxis de BigQuery con la sintaxis de PostgreSQL. Probablemente la forma más sencilla de emular eso en Windows es hacerlo manualmente.

¡Muchas gracias! Estoy usando Win7. Sí, puedo ejecutar el archivo .sql individual con PostgreSQL. Me pregunto si hay alguna forma de ejecutar postgres_make_concepts.sh en cmd o psql para configurar todas las tablas.
Por cierto, ¿le gustaría proporcionar el archivo make_concepts en formato .sql, al igual que el archivo en el código sepsis-3-mimic?
O me gustaría que alguien pudiera proporcionarme el algoritmo para ejecutar .sh en Windows. Me tomó mucho tiempo buscar en Google, pero no obtuve nada.
¡Gracias!

De acuerdo, es bastante desafiante porque utilizo las utilidades de Unix para alterar los scripts antes de pasarlos al cliente psql. El script .sh (1) modifica los archivos SQL usando una expresión regular para hacerlos compatibles con Postgres, (2) crea una tabla con el mismo nombre que el archivo usando el contenido del script y (3) ejecuta los scripts SQL en la forma correcta. pedido. Entonces tendrías que reproducir los pasos manualmente.

Desafortunadamente, debido a que uso la utilidad sed , no hay forma de convertirlo en un archivo SQL como antes. Puede instalar sed en Windows usando GNU para Windows y usar ese programa para reemplazar el texto. Podría ser posible conseguir que se ejecute en el símbolo del sistema si también instalar las utilidades principales de GNU para Windows .

Alternativamente, puede intentar instalar postgres en el Subsistema de Windows para Linux (WSL) - tutorial aquí . Si hiciera eso, el script .sh se ejecutaría en el entorno Linux.

querida alistair y smartniko
Me encontré con un problema similar.
Seguí las instrucciones y ejecuté postgres-funtions.sql, pero ahora no pude ejecutar cada .sql manualmente ... ¿Hice mal el primer paso? ¿Cómo podría deshacer el primer paso ...

Gracias

No, el primer paso es absolutamente necesario y crea funciones en postgresql que necesitará. Puede probar si funcionó con:

SELECT REGEXP_EXTRACT('test it grabs the number 123', '[0-9]+');

debería devolver 123 . Si recibe un mensaje No function matches the given name and argument types. , entonces no ha creado las funciones en la base de datos.

Una vez hecho esto, debe realizar los siguientes reemplazos de texto en todos los archivos SQL:

  1. Reemplace physionet-data.mimiciii_clinical.<table_name> , physionet-data.mimiciii_derived.<table_name> y physionet-data.mimiciii_notes.<table_name> con solo <table_name> . Esto se hace mediante la llamada REGEX_SCHEMA en el script de shell.
  2. Reemplace DATETIME_DIFF(date1, date2, DATE_PART) con DATETIME_DIFF(date1, date2, 'DATE_PART') , es decir, DATE_PART debe estar entre comillas simples. Esto se hace mediante la llamada REGEX_DATETIME_DIFF en el script de shell.
  3. Agregue una declaración de creación de tabla en la parte superior del archivo, por ejemplo, si el archivo se llama echo_data.sql , agregue CREATE TABLE echo_data AS en la parte superior del archivo. Esto se hace mediante las llamadas echo en el script de shell.

Los tres pasos anteriores replican lo que se hace en el script de shell (postgres_make_concepts.sh). Por supuesto, automatizarlos es lo mejor, así que si sabe cómo hacerlo en Windows, hágalo (¡y publique su solución aquí!).

image

querida alistair y smartniko
Soy estudiante de medicina y no soy muy bueno en SQL / psql. Intenté ejecutar make_concepts.sh manualmente pero fallé. Y mi sistema también es Windows.
He creado funciones en postgresql y han aparecido pero no se han podido uesd. (Obtuve 'Ninguna función coincide con el nombre dado y los tipos de argumento' después de SELECT REGEXP_EXTRACT ('prueba que toma el número 123', '[0-9] +');)
Cuando copié el sql e intenté crear una vista de ventilación, dijo 'Ninguna función coincide con el nombre dado y los tipos de argumentos', pero se creó con éxito después de que reemplacé la función en el SQL con palabras similares.
¿Y mi pregunta cómo lidiar con las funciones?

He creado funciones en postgresql y han aparecido pero no se han podido uesd. (Obtuve 'Ninguna función coincide con el nombre dado y los tipos de argumento' después de SELECT REGEXP_EXTRACT ('prueba que toma el número 123', '[0-9] +');)
Cuando copié el sql e intenté crear una vista de ventilación, dijo 'Ninguna función coincide con el nombre dado y los tipos de argumentos', pero se creó con éxito después de que reemplacé la función en el SQL con palabras similares.
¿Y mi pregunta cómo lidiar con las funciones?

Las funciones se crean en un esquema específico. Por lo tanto, es posible que las funciones se creen en el esquema enumerado, pero cuando intenta utilizar la función, ya no se encuentra en la ruta de búsqueda. No estoy seguro de qué programa estás usando, pero configuro mi ruta de búsqueda ejecutando set search_path to mimiciii,public; .

OK, logré escribir un archivo .bat para generar los conceptos en Windows. Requiere WSL pero es probablemente la forma más manos libres de generar los conceptos. Funciona para todos menos los diagnósticos CCS. Hay un tutorial en el README: https://github.com/MIT-LCP/mimic-code/tree/master/concepts

¡Avíseme si funciona para todos ustedes!

OK, logré escribir un archivo .bat para generar los conceptos en Windows. Requiere WSL pero es probablemente la forma más manos libres de generar los conceptos. Funciona para todos menos los diagnósticos CCS. Hay un tutorial en el README: https://github.com/MIT-LCP/mimic-code/tree/master/concepts

¡Avíseme si funciona para todos ustedes!

¡Gracias por tu orientación! Ahora he creado funciones usando 'set search_path to mimiciii, public' y he creado con éxito alguna vista hasta

OK, logré escribir un archivo .bat para generar los conceptos en Windows. Requiere WSL pero es probablemente la forma más manos libres de generar los conceptos. Funciona para todos menos los diagnósticos CCS. Hay un tutorial en el README: https://github.com/MIT-LCP/mimic-code/tree/master/concepts

¡Avíseme si funciona para todos ustedes!

¡Gracias por tu orientación! Cambié la ruta de las funciones y luego se puede uesd. Después de eso, construí vistas manualmente siguiendo el orden de make_concepts.sh y la mayoría tuvo éxito. Sin embargo, aquí hay dos problemas que encontré.

  1. Cuando intenté construir 'weight_durations', falló y dijo 'no se pudo encontrar la conversión de unkonw a text', lo que afectó la creación de 'heightweight', 'kdigo_uo' y algunas otras vistas.
  2. Cuando intenté construir 'ccs_dx', falló y dijo 'La relación "mimiciii.ccs_multi_dx" no existe'. ¿Debería crear esta tabla primero?
    Excepto estas dos partes, todas las vistas se han creado correctamente.
  1. Cuando intenté construir 'weight_durations', falló y dijo 'no se pudo encontrar la conversión de unkonw a text', lo que afectó la creación de 'heightweight', 'kdigo_uo' y algunas otras vistas.

Eso es extraño, construí weight_durations perfectamente bien. ¿Qué versión de PostgreSQL estás usando?

  1. Cuando intenté construir 'ccs_dx', falló y dijo 'La relación "mimiciii.ccs_multi_dx" no existe'. ¿Debería crear esta tabla primero?

Sí, eso esperaba. Intenta descomprimir el archivo .gz con gzip, pero Windows no viene con gzip por defecto, por lo que la construcción de esta tabla falla. Solo requiere descomprimir manualmente esta tabla e importarla a la tabla con un comando \COPY .

Excepto estas dos partes, todas las vistas se han creado correctamente.

¡Excelente!

  1. Cuando intenté construir 'weight_durations', falló y dijo 'no se pudo encontrar la conversión de unkonw a text', lo que afectó la creación de 'heightweight', 'kdigo_uo' y algunas otras vistas.

Eso es extraño, construí weight_durations perfectamente bien. ¿Qué versión de PostgreSQL estás usando?

Utilicé PostgreSQL 9.6 y pgAdmin4. La vista se ha creado correctamente después de cambiar LINE69: 'echo' AS weight_type, a 'echo' :: text AS weight_type ,. Al principio, pensé que era un problema con mi vista 'echo_data', ya que se construyó automáticamente antes de intentar crear la vista manualmente. Y cuando trato de usar el último código para construir otro nuevo y descubrir si son diferentes, el nuevo que creé muestra 'nulo' en columnas de altura, peso, bsa, etc. Así que me quedo con el primero.

  1. Cuando intenté construir 'ccs_dx', falló y dijo 'La relación "mimiciii.ccs_multi_dx" no existe'. ¿Debería crear esta tabla primero?

Sí, eso esperaba. Intenta descomprimir el archivo .gz con gzip, pero Windows no viene con gzip por defecto, por lo que la construcción de esta tabla falla. Solo requiere descomprimir manualmente esta tabla e importarla a la tabla con un comando \COPY .

Creé la tabla ccs_multi_dx, y luego construí la vista ccs_dx, pero decía 'Error: Error: expresión regular no válida: los paréntesis () no están equilibrados Contexto: La función PL / pgSQL regexp_contains (texto, texto) en la línea 3 de RETURN' ?

Excepto estas dos partes, todas las vistas se han creado correctamente.

¡Excelente!

Estimado alistaire:
¡Gracias por toda tu ayuda! Me di cuenta de que hay un archivo "make-concept.sql" en el código mímico v1.4.2. Lo ejecuté y funcionó bien.
¿Puede decirme si hay alguna diferencia entre los dos archivos "make-concepts.sh" y "make-concept.sql"? Adjunté el archivo .sql con este mensaje.
make-concepts.zip
Soy totalmente un extraño para sql. codificación y perdón por todas las molestias.
Gracias de nuevo.

¿Puede decirme si hay alguna diferencia entre los dos archivos "make-concepts.sh" y "make-concept.sql"? Adjunté el archivo .sql con este mensaje.

un archivo xxx.sh es para sistemas tipo Unix y MacOS y no se ejecutará en Windows. un archivo xxx.sql es un script de PostgreSQL y funciona siempre que lo ejecutes en PostgreSQL, el sistema que uses no importa aquí.

¿Fue útil esta página
0 / 5 - 0 calificaciones