Mimic-code: 如何在概念文件夹中运行 .sh 文件来构建相关表?

创建于 2020-09-18  ·  13评论  ·  资料来源: MIT-LCP/mimic-code

先决条件

  • [X] 如果您已完成以下所有操作,请在此行的括号之间添加 X:

    • 查看在线文档: https :

    • 检查您的问题是否尚未解决: https :

描述

非常感谢你的伟大项目!
我是一个新的 SQL/psql 初学者。 我已经很努力地尝试在 shell (psql) 中安装 [postgres_make_concepts.sh],但失败了。 我不知道如何启动文件。 但是,按照说明,我可以运行单个 .sql 文件。
整个文件夹都下载到了我的电脑上。
更多,我已经解决了所有问题(包括关闭),但我仍然无法弄清楚如何在本地进行。

[如何启动postgres_make_concepts.sh?]

希望得到您的帮助,谢谢!

最有用的评论

好的,我设法编写了一个 .bat 文件来在 Windows 上生成概念。 它需要 WSL,但可能是生成概念最免提的方式。 它适用于除 CCS 诊断以外的所有疾病。 README 中有教程: https :

让我知道它是否适合你们所有人!

所有13条评论

你运行的是什么操作系统? 该文件是一个 shell 脚本,因此只能在 Mac OS X 或 Linux 上运行。 如果您使用的是 Windows,那么我不确定最佳方法。 SQL 文件可以使用 PostgreSQL 安装附带的 psql (shell) 程序运行,但有一个正则表达式应用于某些文件,以用 PostgreSQL 语法替换 BigQuery 语法。 在 Windows 上模拟它的最简单方法可能是手动完成。

你运行的是什么操作系统? 该文件是一个 shell 脚本,因此只能在 Mac OS X 或 Linux 上运行。 如果您使用的是 Windows,那么我不确定最佳方法。 SQL 文件可以使用 PostgreSQL 安装附带的 psql (shell) 程序运行,但有一个正则表达式应用于某些文件,以用 PostgreSQL 语法替换 BigQuery 语法。 在 Windows 上模拟它的最简单方法可能是手动完成。

非常感谢! 我正在使用Win7。 是的,我可以使用 PostgreSQL 运行单个 .sql 文件。 我想知道是否有办法在 cmd 或 psql 中运行 postgres_make_concepts.sh 来设置所有表。
顺便问一下,您是否愿意提供 .sql 格式的 make_concepts 文件,就像 sepsis-3-mimic 代码中的文件一样?
或者我希望有人可以为我提供在 Windows 中运行 .sh 的算法。 我花了很多时间去谷歌,但一无所获。
谢谢!

好的,这是相当具有挑战性的,因为我在将脚本传递给 psql 客户端之前使用 Unix 实用程序来更改脚本。 .sh 脚本 (1) 使用正则表达式修改 SQL 文件,使它们与 postgres 兼容,(2) 创建一个与使用脚本内容的文件同名的表,以及 (3) 以正确的方式运行 SQL 脚本命令。 因此,您必须手动重现这些步骤。

不幸的是,因为我使用了sed实用程序,所以无法像以前一样将其设为 SQL 文件。 您可以使用 GNU for Windows在 Windows 上安装sed并使用该程序替换文本。 有可能得到它在命令提示符下运行,如果您还安装GNU核心utils的用于Windows

或者,您可以尝试在 Windows 子系统 Linux (WSL) 中安装 postgres -教程在这里。 如果您这样做了,那么 .sh 脚本将在 Linux 环境中运行。

亲爱的 alistair 和 smartniko
我遇到了类似的问题。
我已经按照说明运行了 postgres-funtions.sql,但现在我无法手动运行每个 .sql....我做错了第一步吗? 我怎么能撤消第一步...

谢谢

第一步不是绝对必需的,而是在您需要的 postgresql 上创建函数。 您可以测试它是否适用于:

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

应该返回123 。 如果您收到消息No function matches the given name and argument types. ,那么您还没有在数据库上创建函数。

完成后,您需要在所有 SQL 文件中执行以下文本替换:

  1. physionet-data.mimiciii_clinical.<table_name>physionet-data.mimiciii_derived.<table_name>physionet-data.mimiciii_notes.<table_name>替换<table_name> 。 这是通过 shell 脚本中的REGEX_SCHEMA调用完成的。
  2. DATETIME_DIFF(date1, date2, DATE_PART)替换DATETIME_DIFF(date1, date2, 'DATE_PART') ,即DATE_PART需要用单引号引用。 这是通过 shell 脚本中的REGEX_DATETIME_DIFF调用完成的。
  3. 在文件顶部添加一条创建表语句,例如,如果文件名为echo_data.sql ,则在文件顶部添加CREATE TABLE echo_data AS 。 这是由 shell 脚本中的echo调用完成的。

以上三个步骤复制了在 shell 脚本 (postgres_make_concepts.sh) 中所做的事情。 当然,自动化它们是最好的,所以如果你知道如何在 Windows 中做到这一点,那就去做吧(并在这里发布你的解决方案!)。

image

亲爱的 alistair 和 smartniko
我是一名医学生,不太擅长 SQL/psql。 我努力手动运行 make_concepts.sh 但失败了。 我的系统也是windows。
我在 postgresql 上创建了函数,它们已经出现但不能被使用。 (我在 SELECT REGEXP_EXTRACT('test 它获取数字 123', '[0-9]+') 之后得到'没有函数匹配给定的名称和参数类型');)
当我复制 sql 并尝试创建通风视图时,它说“没有函数与给定的名称和参数类型匹配”,但是在我用类似的词替换 SQL 中的函数后,它成功创建。
我的问题是如何处理这些功能?

我在 postgresql 上创建了函数,它们已经出现但不能被使用。 (我在 SELECT REGEXP_EXTRACT('test 它获取数字 123', '[0-9]+') 之后得到'没有函数匹配给定的名称和参数类型');)
当我复制 sql 并尝试创建通风视图时,它说“没有函数与给定的名称和参数类型匹配”,但是在我用类似的词替换 SQL 中的函数后,它成功创建。
我的问题是如何处理这些功能?

函数是在特定模式上创建的。 因此,函数可能是在列出的模式上创建的,但是当您尝试使用该函数时,它不再位于搜索路径中。 我不确定您使用的是什么程序,但我通过运行set search_path to mimiciii,public;配置我的搜索路径。

好的,我设法编写了一个 .bat 文件来在 Windows 上生成概念。 它需要 WSL,但可能是生成概念最免提的方式。 它适用于除 CCS 诊断以外的所有疾病。 README 中有教程: https :

让我知道它是否适合你们所有人!

好的,我设法编写了一个 .bat 文件来在 Windows 上生成概念。 它需要 WSL,但可能是生成概念最免提的方式。 它适用于除 CCS 诊断以外的所有疾病。 README 中有教程: https :

让我知道它是否适合你们所有人!

感谢您的指导! 现在我已经通过使用“set search_path to mimiciii,public”创建了函数并成功创建了一些视图,直到

好的,我设法编写了一个 .bat 文件来在 Windows 上生成概念。 它需要 WSL,但可能是生成概念最免提的方式。 它适用于除 CCS 诊断以外的所有疾病。 README 中有教程: https :

让我知道它是否适合你们所有人!

感谢您的指导! 我改变了函数的路径,然后就可以使用了。 之后,我按照 make_concepts.sh 的顺序手动构建了视图,并且大部分都成功了。 但是,我遇到了两个问题。

  1. 当我尝试构建'weight_durations'时,它失败并说'无法找到从未知到文本的转换',这影响了'heightweight'、'kdigo_uo'和其他一些视图的创建。
  2. 当我尝试构建“ccs_dx”时,它失败并说“关系“mimiciii.ccs_multi_dx”不存在”。 我应该先创建这个表吗?
    除这两部分外,所有视图均已成功构建。
  1. 当我尝试构建'weight_durations'时,它失败并说'无法找到从未知到文本的转换',这影响了'heightweight'、'kdigo_uo'和其他一些视图的创建。

这很奇怪 - 我构建的weight_durations完美无缺。 您使用的是什么版本的 PostgreSQL?

  1. 当我尝试构建“ccs_dx”时,它失败并说“关系“mimiciii.ccs_multi_dx”不存在”。 我应该先创建这个表吗?

是的 - 这是我所期望的。 它尝试使用 gzip 解压缩 .gz 文件,但默认情况下 Windows 不附带 gzip,因此该表的构建失败。 它只需要手动解压这个表,并使用\COPY命令将它们导入到表中。

除这两部分外,所有视图均已成功构建。

伟大的!

  1. 当我尝试构建'weight_durations'时,它失败并说'无法找到从未知到文本的转换',这影响了'heightweight'、'kdigo_uo'和其他一些视图的创建。

这很奇怪 - 我构建的weight_durations完美无缺。 您使用的是什么版本的 PostgreSQL?

我使用 PostgreSQL 9.6 和 pgAdmin4。 在我将 LINE69: 'echo' AS weight_type, 更改为 'echo'::text AS weight_type, 后,视图已成功创建。 起初,我认为我的视图“echo_data”有问题,因为它是在我尝试手动创建视图之前自动构建的。 当我尝试使用最新代码构建另一个新代码以查找它们是否不同时,我创建的新代码在身高、体重、bsa 等列中显示“空”。 所以我保留第一个。

  1. 当我尝试构建“ccs_dx”时,它失败并说“关系“mimiciii.ccs_multi_dx”不存在”。 我应该先创建这个表吗?

是的 - 这是我所期望的。 它尝试使用 gzip 解压缩 .gz 文件,但默认情况下 Windows 不附带 gzip,因此该表的构建失败。 它只需要手动解压这个表,并使用\COPY命令将它们导入到表中。

我已经创建了表ccs_multi_dx,然后构建了视图ccs_dx,但它说'错误:错误:无效的正则表达式:括号()不平衡上下文:返回第3行的PL/pgSQL函数regexp_contains(文本,文本)' ?

除这两部分外,所有视图均已成功构建。

伟大的!

亲爱的阿利斯泰尔:
谢谢大家的帮助! 我注意到在 mimi-code v1.4.2 中有一个“make-concepts.sql”文件。 我运行了它并且运行良好。
你能告诉我这两个“make-concepts.sh”和“make-concepts.sql”文件有什么区别吗? 我在此消息中附加了 .sql 文件。
make-concepts.zip
我完全是 sql 的局外人。 编码并为所有的打扰感到抱歉。
再次感谢。

你能告诉我这两个“make-concepts.sh”和“make-concepts.sql”文件有什么区别吗? 我在此消息中附加了 .sql 文件。

xxx.sh文件适用于类 Unix 和 MacOS 系统,不能在 Windows 下运行。 xxx.sql文件是一个 PostgreSQL 脚本,只要您在 PostgreSQL 中运行它就可以工作,您使用的系统在这里无关紧要。

此页面是否有帮助?
0 / 5 - 0 等级