çŽ æŽããããããžã§ã¯ããããããšãããããŸããïŒ
ç§ã¯æ°ããSQL / psqlã®åå¿è
ã§ãã [postgres_make_concepts.sh]ãã·ã§ã«ïŒpsqlïŒã«ã€ã³ã¹ããŒã«ããããšæžåœã«åªåããŸãããã倱æããŸããã ãã¡ã€ã«ã®èµ·åæ¹æ³ãããããŸããã ãã ããæ瀺ã«åŸã£ãŠãåã
ã®.sqlãã¡ã€ã«ãå®è¡ã§ããŸãã
ãã©ã«ãå
šäœãç§ã®ã³ã³ãã¥ãŒã¿ã«ããŠã³ããŒããããŸããã
ããã«ãç§ã¯ãã¹ãŠã®åé¡ïŒã¯ããŒãºãå«ãïŒãçµéšããŸããããããã§ãããŒã«ã«ã§ãããè¡ãæ¹æ³ãç解ã§ããŸããã
[postgres_make_concepts.shãéå§ããæ¹æ³ã¯ïŒ]
ããªãã®å©ããé¡ã£ãŠããŸããããããšãïŒ
ã©ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãå®è¡ããŠããŸããïŒ ãã®ãã¡ã€ã«ã¯ã·ã§ã«ã¹ã¯ãªããã§ãããããMac OSXãŸãã¯Linuxã§ã®ã¿æ©èœããŸãã Windowsã䜿çšããŠããå Žåãæåã®ã¢ãããŒãã¯ããããŸããã SQLãã¡ã€ã«ã¯PostgreSQLã€ã³ã¹ããŒã«ã«ä»å±ã®psqlïŒã·ã§ã«ïŒããã°ã©ã ã䜿çšããŠå®è¡ã§ããŸãããBigQueryæ§æãPostgreSQLæ§æã«çœ®ãæããããã«äžéšã®ãã¡ã€ã«ã«æ£èŠè¡šçŸãé©çšãããŠããŸãã ãããããWindowsã§ããããšãã¥ã¬ãŒãããæãç°¡åãªæ¹æ³ã¯ãæåã§è¡ãããšã§ãã
ã©ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãå®è¡ããŠããŸããïŒ ãã®ãã¡ã€ã«ã¯ã·ã§ã«ã¹ã¯ãªããã§ãããããMac OSXãŸãã¯Linuxã§ã®ã¿æ©èœããŸãã Windowsã䜿çšããŠããå Žåãæåã®ã¢ãããŒãã¯ããããŸããã SQLãã¡ã€ã«ã¯PostgreSQLã€ã³ã¹ããŒã«ã«ä»å±ã®psqlïŒã·ã§ã«ïŒããã°ã©ã ã䜿çšããŠå®è¡ã§ããŸãããBigQueryæ§æãPostgreSQLæ§æã«çœ®ãæããããã«äžéšã®ãã¡ã€ã«ã«æ£èŠè¡šçŸãé©çšãããŠããŸãã ãããããWindowsã§ããããšãã¥ã¬ãŒãããæãç°¡åãªæ¹æ³ã¯ãæåã§è¡ãããšã§ãã
ã©ããããããšãïŒ ç§ã¯Win7ã䜿çšããŠããŸãã ã¯ããPostgreSQLã§åã
ã®.sqlãã¡ã€ã«ãå®è¡ã§ããŸãã cmdãŸãã¯psqlã§postgres_make_concepts.shãå®è¡ããŠããã¹ãŠã®ããŒãã«ãèšå®ããæ¹æ³ããããã©ããçåã«æã£ãŠããŸãã
ã¡ãªã¿ã«ãsepsis-3-mimicã³ãŒãã®ãã¡ã€ã«ãšåãããã«ãmake_conceptsãã¡ã€ã«ã.sql圢åŒã§æäŸããŸããïŒ
ãŸãã¯ã誰ããWindowsã§.shãå®è¡ããããã®ã¢ã«ãŽãªãºã ãæäŸããŠãããããšãæã¿ãŸãã ã°ãŒã°ã«ããã®ã«ããªãã®æéãããããŸããããäœãåŸãããŸããã§ããã
ããããšãããããŸããïŒ
OKãç§ã¯UnixãŠãŒãã£ãªãã£ã䜿çšããŠã¹ã¯ãªãããpsqlã¯ã©ã€ã¢ã³ãã«æž¡ãåã«å€æŽããã®ã§ãããªãé£ããã§ãã .shã¹ã¯ãªããã¯ãïŒ1ïŒæ£èŠè¡šçŸã䜿çšããŠSQLãã¡ã€ã«ãå€æŽããpostgresãšäºææ§ãæãããŸããïŒ2ïŒã¹ã¯ãªããã®å 容ã䜿çšããŠãã¡ã€ã«ãšåãååã®ããŒãã«ãäœæããïŒ3ïŒSQLã¹ã¯ãªãããæ£ããæ¹æ³ã§å®è¡ããŸãã泚æã ãããã£ãŠãæé ãæåã§åçŸããå¿ èŠããããŸãã
æ®å¿µãªãããç§ã¯sed
ãŠãŒãã£ãªãã£ã䜿çšããŠããããã以åã®ããã«SQLãã¡ã€ã«ã«ããæ¹æ³ã¯ãããŸããã GNU for Windowsã䜿çšããŠsed
ãã€ã³ã¹ããŒã«ãããã®ããã°ã©ã ã䜿çšããŠããã¹ãã眮ãæããããšãã§ããŸãã Windowsçšã®GNUã³ã¢ãŠãŒãã£ãªãã£ãã€ã³ã¹ããŒã«ãããšãã³ãã³ãããã³ããã§å®è¡ã§ããå¯èœæ§ããããŸãã
ãŸãã¯ãWindows Subsystem for LinuxïŒWSLïŒã«postgresãã€ã³ã¹ããŒã«ããŠã¿ãããšãã§ããŸã-ãã¥ãŒããªã¢ã«ã¯ãã¡ãã ãããè¡ããšã.shã¹ã¯ãªããã¯Linuxç°å¢ã§å®è¡ãããŸãã
芪æãªãã¢ãªã¹ãã¢ãš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ãã¡ã€ã«ã§æ¬¡ã®ããã¹ã眮æãè¡ãå¿ èŠããããŸãã
physionet-data.mimiciii_clinical.<table_name>
ã physionet-data.mimiciii_derived.<table_name>
ãããã³physionet-data.mimiciii_notes.<table_name>
ã<table_name>
ã ãã«çœ®ãæããŸãã ããã¯ãã·ã§ã«ã¹ã¯ãªããã®REGEX_SCHEMA
åŒã³åºãã«ãã£ãŠè¡ãããŸããDATETIME_DIFF(date1, date2, DATE_PART)
ãDATETIME_DIFF(date1, date2, 'DATE_PART')
ã«çœ®ãæããŸããã€ãŸãã DATE_PART
ã¯äžéåŒçšç¬Šã§å²ãå¿
èŠããããŸãã ããã¯ãã·ã§ã«ã¹ã¯ãªããã®REGEX_DATETIME_DIFF
åŒã³åºãã«ãã£ãŠè¡ãããŸããecho_data.sql
å Žåã¯ããã¡ã€ã«ã®å
é ã«CREATE TABLE echo_data AS
ãè¿œå ããŸãã ããã¯ãã·ã§ã«ã¹ã¯ãªããã®echo
åŒã³åºãã«ãã£ãŠè¡ãããŸããäžèšã®3ã€ã®æé ã¯ãã·ã§ã«ã¹ã¯ãªããïŒpostgres_make_concepts.shïŒã§è¡ãããããšãè€è£œããŸãã ãã¡ãããããããèªååããã®ãæåã§ãããããã£ãŠãWindowsã§ãããè¡ãæ¹æ³ãç¥ã£ãŠããå Žåã¯ããããå®è¡ããŠãã ããïŒãããŠãããã«ãœãªã¥ãŒã·ã§ã³ãæçš¿ããŠãã ããïŒïŒã
芪æãªãã¢ãªã¹ãã¢ãšsmartniko
ç§ã¯å»åŠçã§ãSQL / psqlã¯ããŸãåŸæã§ã¯ãããŸããã make_concepts.shãæåã§å®è¡ããããšããŸãããã倱æããŸããã ãããŠç§ã®ã·ã¹ãã ããŠã£ã³ããŠãºã§ãã
postgresqlã§é¢æ°ãäœæããŸãããã衚瀺ãããŸãããã䜿çšã§ããŸããã§ããã ïŒSELECT REGEXP_EXTRACTïŒ 'test it grabs the number 123'ã '[0-9] +'ïŒ;ïŒã®åŸã«ã 'æå®ãããååãšåŒæ°ã®åã«äžèŽããé¢æ°ããããŸãã'ãååŸããŸããã
SQLãã³ããŒããŠææ°ãã¥ãŒãäœæããããšãããšããæå®ãããååãšåŒæ°ã®ã¿ã€ãã«äžèŽããé¢æ°ã¯ãããŸããããšè¡šç€ºãããŸããããSQLã®é¢æ°ãåæ§ã®åèªã«çœ®ãæããåŸãæ£åžžã«äœæãããŸããã
ãããŠãç§ã®è³ªåã¯ã©ã®ããã«é¢æ°ãæ±ãã®ã§ããïŒ
postgresqlã§é¢æ°ãäœæããŸãããã衚瀺ãããŸãããã䜿çšã§ããŸããã§ããã ïŒSELECT REGEXP_EXTRACTïŒ 'test it grabs the number 123'ã '[0-9] +'ïŒ;ïŒã®åŸã«ã 'æå®ãããååãšåŒæ°ã®åã«äžèŽããé¢æ°ããããŸãã'ãååŸããŸããã
SQLãã³ããŒããŠææ°ãã¥ãŒãäœæããããšãããšããæå®ãããååãšåŒæ°ã®ã¿ã€ãã«äžèŽããé¢æ°ã¯ãããŸããããšè¡šç€ºãããŸããããSQLã®é¢æ°ãåæ§ã®åèªã«çœ®ãæããåŸãæ£åžžã«äœæãããŸããã
ãããŠãç§ã®è³ªåã¯ã©ã®ããã«é¢æ°ãæ±ãã®ã§ããïŒ
é¢æ°ã¯ç¹å®ã®ã¹ããŒãã§äœæãããŸãã ãããã£ãŠãé¢æ°ã¯ãªã¹ããããã¹ããŒãã§äœæãããŠããå¯èœæ§ããããŸãããé¢æ°ã䜿çšããããšãããšãæ€çŽ¢ãã¹ã«å«ãŸããªããªããŸãã 䜿çšããŠããããã°ã©ã ãããããŸãããã set search_path to mimiciii,public;
å®è¡ããŠæ€çŽ¢ãã¹ãæ§æããŸãã
OKãWindowsã§ã³ã³ã»ãããçæããããã«.batãã¡ã€ã«ãæžãããšãã§ããŸããã WSLãå¿ èŠã§ãããããããæããã³ãºããªãŒãªæ¹æ³ã§æŠå¿µãçæã§ããŸãã ããã¯ãCCS蚺æ以å€ã®ãã¹ãŠã§æ©èœããŸãã READMEã«ãã¥ãŒããªã¢ã«ããããŸãïŒ https ïŒ
ãããããªãå šå¡ã®ããã«åããã©ããç§ã«ç¥ãããŠãã ããïŒ
OKãWindowsã§ã³ã³ã»ãããçæããããã«.batãã¡ã€ã«ãæžãããšãã§ããŸããã WSLãå¿ èŠã§ãããããããæããã³ãºããªãŒãªæ¹æ³ã§æŠå¿µãçæã§ããŸãã ããã¯ãCCS蚺æ以å€ã®ãã¹ãŠã§æ©èœããŸãã READMEã«ãã¥ãŒããªã¢ã«ããããŸãïŒ https ïŒ
ãããããªãå šå¡ã®ããã«åããã©ããç§ã«ç¥ãããŠãã ããïŒ
ãæå°ããããšãããããŸãïŒ ããã§ããset search_path to mimiciiiãpublicãã䜿çšããŠé¢æ°ãäœæãã次ã®ãŸã§ãã¥ãŒãæ£åžžã«äœæããŸããã
OKãWindowsã§ã³ã³ã»ãããçæããããã«.batãã¡ã€ã«ãæžãããšãã§ããŸããã WSLãå¿ èŠã§ãããããããæããã³ãºããªãŒãªæ¹æ³ã§æŠå¿µãçæã§ããŸãã ããã¯ãCCS蚺æ以å€ã®ãã¹ãŠã§æ©èœããŸãã READMEã«ãã¥ãŒããªã¢ã«ããããŸãïŒ https ïŒ
ãããããªãå šå¡ã®ããã«åããã©ããç§ã«ç¥ãããŠãã ããïŒ
ãæå°ããããšãããããŸãïŒ é¢æ°ã®ãã¹ãå€æŽãããšãããã䜿çšã§ããŸãã ãã®åŸãmake_concepts.shããã®é åºã«åŸã£ãŠæåã§ãã¥ãŒãäœæããŸããããã»ãšãã©ãæåããŸããã ããããããã«ç§ãééãã2ã€ã®åé¡ããããŸãã
- ãweight_durationsããäœæããããšãããšå€±æãããunkonwããtextãžã®å€æãèŠã€ãããŸããã§ããããšè¡šç€ºããããheightweightãããkdigo_uoããããã³ãã®ä»ã®ãã¥ãŒã®äœæã«åœ±é¿ããŸããã
ããã¯å¥åŠã§ã-ç§ã¯weight_durations
å®å
šã«ããŸãæ§ç¯ããŸããã ã©ã®ããŒãžã§ã³ã®PostgreSQLã䜿çšããŠããŸããïŒ
- ãccs_dxãããã«ãããããšãããšå€±æãããé¢ä¿ãmimiciii.ccs_multi_dxãã¯ååšããŸããããšè¡šç€ºãããŸããã æåã«ãã®ããŒãã«ãäœæããå¿ èŠããããŸããïŒ
ã¯ã-ç§ãæåŸ
ããããšã .gzãã¡ã€ã«ãgzipã§è§£åããããšããŸãããWindowsã«ã¯ããã©ã«ãã§gzipãä»å±ããŠããªãããããã®ããŒãã«ã®äœæã¯å€±æããŸãã ãã®ããŒãã«ãæåã§è§£åãã \COPY
ã³ãã³ãã䜿çšããŠããŒãã«ã«ã€ã³ããŒãããã ãã§ãã
ãããã®2ã€ã®éšåãé€ããŠããã¹ãŠã®ãã¥ãŒãæ£åžžã«æ§ç¯ãããŠããŸãã
çŽ æŽãããïŒ
- ãweight_durationsããäœæããããšãããšå€±æãããunkonwããtextãžã®å€æãèŠã€ãããŸããã§ããããšè¡šç€ºããããheightweightãããkdigo_uoããããã³ãã®ä»ã®ãã¥ãŒã®äœæã«åœ±é¿ããŸããã
ããã¯å¥åŠã§ã-ç§ã¯
weight_durations
å®å šã«ããŸãæ§ç¯ããŸããã ã©ã®ããŒãžã§ã³ã®PostgreSQLã䜿çšããŠããŸããïŒPostgreSQL9.6ãšpgAdmin4ã䜿çšããŸããã LINE69ïŒ 'echo' ASweight_typeã 'echo' :: text AS weight_typeããã«å€æŽããåŸããã¥ãŒã¯æ£åžžã«äœæãããŸããã ãã¥ãŒ 'echo_data'ã¯ãæåã§ãã¥ãŒãäœæããåã«èªåçã«äœæããããããæåã¯åé¡ããããšæããŸããã ãŸããææ°ã®ã³ãŒãã䜿çšããŠå¥ã®æ°ããã³ãŒããäœæããããããç°ãªããã©ããã確èªããããšãããšãäœæããæ°ããã³ãŒãã§ã¯ãé«ããééãbsaãªã©ã®åã«ãnullãã衚瀺ãããŸãã ã ããç§ã¯æåã®ãã®ãä¿æããŸãã
- ãccs_dxãããã«ãããããšãããšå€±æãããé¢ä¿ãmimiciii.ccs_multi_dxãã¯ååšããŸããããšè¡šç€ºãããŸããã æåã«ãã®ããŒãã«ãäœæããå¿ èŠããããŸããïŒ
ã¯ã-ç§ãæåŸ ããããšã .gzãã¡ã€ã«ãgzipã§è§£åããããšããŸãããWindowsã«ã¯ããã©ã«ãã§gzipãä»å±ããŠããªãããããã®ããŒãã«ã®äœæã¯å€±æããŸãã ãã®ããŒãã«ãæåã§è§£åãã
\COPY
ã³ãã³ãã䜿çšããŠããŒãã«ã«ã€ã³ããŒãããã ãã§ããããŒãã«ccs_multi_dxãäœæãããã¥ãŒccs_dxãäœæããŸããããããšã©ãŒïŒãšã©ãŒïŒç¡å¹ãªæ£èŠè¡šçŸïŒæ¬åŒ§ïŒïŒã®ãã©ã³ã¹ãåããŠããŸããã³ã³ããã¹ãïŒRETURNã®3è¡ç®ã®PL / pgSQLé¢æ°regexp_containsïŒtextãtextïŒã ïŒ
ãããã®2ã€ã®éšåãé€ããŠããã¹ãŠã®ãã¥ãŒãæ£åžžã«æ§ç¯ãããŠããŸãã
çŽ æŽãããïŒ
芪æãªãã¢ãªã¹ãã¢ïŒ
ãããããé¡ãããŸãïŒ mimic-codev1.4.2ã«ãmake-concepts.sqlããã¡ã€ã«ãããããšã«æ°ã¥ããŸããã ç§ã¯ãããå®è¡ããŸããããããŠããã¯ããŸããããŸããã
2ã€ã®ãmake-concepts.shããã¡ã€ã«ãšãmake-concepts.sqlããã¡ã€ã«ã«éãã¯ãããŸããïŒ ãã®ã¡ãã»ãŒãžã.sqlãã¡ã€ã«ã«æ·»ä»ããŸããã
make-concepts.zip
ç§ã¯å®å
šã«SQLã®éšå€è
ã§ãã ã³ãŒãã£ã³ã°ããŠãè¿·æããããããŠç³ãèš³ãããŸããã
å床ãæè¬ããŸãã
2ã€ã®ãmake-concepts.shããã¡ã€ã«ãšãmake-concepts.sqlããã¡ã€ã«ã«éãã¯ãããŸããïŒ ãã®ã¡ãã»ãŒãžã.sqlãã¡ã€ã«ã«æ·»ä»ããŸããã
xxx.sh
ãã¡ã€ã«ã¯UNIXã©ã€ã¯ãªMacOSã·ã¹ãã çšã§ãããWindowsã§ã¯å®è¡ãããŸããã xxx.sql
ãã¡ã€ã«ã¯PostgreSQLã¹ã¯ãªããã§ãããPostgreSQLã§å®è¡ããŠããéãæ©èœããŸããããã§ã¯ã䜿çšããã·ã¹ãã ã¯é¢ä¿ãããŸããã
æãåèã«ãªãã³ã¡ã³ã
OKãWindowsã§ã³ã³ã»ãããçæããããã«.batãã¡ã€ã«ãæžãããšãã§ããŸããã WSLãå¿ èŠã§ãããããããæããã³ãºããªãŒãªæ¹æ³ã§æŠå¿µãçæã§ããŸãã ããã¯ãCCS蚺æ以å€ã®ãã¹ãŠã§æ©èœããŸãã READMEã«ãã¥ãŒããªã¢ã«ããããŸãïŒ https ïŒ
ãããããªãå šå¡ã®ããã«åããã©ããç§ã«ç¥ãããŠãã ããïŒ