Category Archive: 未分類

post by yamamoto | | Closed | 31 views

閉域網の電子カルテにJitsiを稼働してみた!

Jitsi.org - develop and deploy full-featured video conferencing

閉域網の電子カルテにZoom等をオンプレミスで入れるのは、ある程度予算がないとできないので、Jitsiのようなオープンソースのビデオ会議システムは非常に助かる。IE8しかない端末はネックでしたが、Chromeをいれるのは抵抗感があるので、ChromiumベースのMicrosoft Edge がリリースされるのは、丁度いいですね。 工夫すれば、インストールしなくてもインストール済みのWindows 7からコピーしてちょっとしたショットカット等の設定をすれば、ポータルバージョンのように電子カルテシステムへの影響も最小限にできる。しかもPure Debian をいれている古い2011 macmini(弁当箱みたいなパソコン)に稼働しているので新たな投資は0円で済む。三密を避ける少人数が3~4か所から音声と画面の共有でのカンファレンスなら全然余裕でしょうね。 残念なのは、CTやレントゲンの画像の画面共有はmacminiのCPU使用率が50%以下なのに貧弱のクライアントでは綺麗な共有画面が得られませんでした。高画質のカメラが2つオンした場合、macminiのCPUが80%以上上がってしまいました。       JITSI.ORG Jitsi.org - develop and deploy full-featured video conferencing Free open-source video conferencing for web & mobil

post by yamamoto | | Closed | 35 views

Mongodb タイトルなしの汎用インポートコマンド

なんだこれ!と思われそうですが、タイトルがないや使えないCSV、しかもカラムが256以下の汎用Mongodbインポートのコマンドとして紹介しようと思います。もっといい書き方あってもいい気がしますが。。。 しかし、実際はデータのあるC137までしかインポートされませんでした。 C:\Users\user\Desktop>mongoimport /db:dpc /collection:mdc01ope256c  /type:csv /file:MDC01_OPE.csv /fields:C001,C002,C003,C004,C005,C006,C007,C008,C009,C010,C011,C012,C013,C014,C015,C016,C017,C018,C019,C020,C021,C022,C023,C024,C025,C026,C027,C028,C029,C030,C031,C032,C033,C034,C035,C036,C037,C038,C039,C040,C041,C042,C043,C044,C045,C046,C047,C048,C049,C050,C051,C052,C053,C054,C055,C056,C057,C058,C059,C060,C061,C062,C063,C064,C065,C066,C067,C068,C069,C070,C071,C072,C073,C074,C075,C076,C077,C078,C079,C080,C081,C082,C083,C084,C085,C086,C087,C088,C089,C090,C091,C092,C093,C094,C095,C096,C097,C098,C099,C100,C101,C102,C103,C104,C105,C106,C107,C108,C109,C110,C111,C112,C113,C114,C115,C116,C117,C118,C119,C120,C121,C122,C123,C124,C125,C126,C127,C128,C129,C130,C131,C132,C133,C134,C135,C136,C137,C138,C139,C140,C141,C142,C143,C144,C145,C146,C147,C148,C149,C150,C151,C152,C153,C154,C155,C156,C157,C158,C159,C160,C161,C162,C163,C164,C165,C166,C167,C168,C169,C170,C171,C172,C173,C174,C175,C176,C177,C178,C179,C180,C181,C182,C183,C184,C185,C186,C187,C188,C189,C190,C191,C192,C193,C194,C195,C196,C197,C198,C199,C200,C201,C202,C203,C204,C205,C206,C207,C208,C209,C210,C211,C212,C213,C214,C215,C216,C217,C218,C219,C220,C221,C222,C223,C224,C225,C226,C227,C228,C229,C230,C231,C232,C233,C234,C235,C236,C237,C238,C239,C240,C241,C242,C243,C244,C245,C246,C247,C248,C249,C250,C251,C252,C253,C254,C255,C256 2020-09-01T19:59:05.061+0900    connected to: localhost 2020-09-01T19:59:05.636+0900    [#####...................] dpc.mdc01ope256c     364KB/1.52MB (23.4%) 2020-09-01T19:59:08.610+0900    [#####...................] dpc.mdc01ope256c     364KB/1.52MB (23.4%) 2020-09-01T19:59:11.610+0900    [##########..............] dpc.mdc01ope256c     696KB/1.52MB (44.7%) 2020-09-01T19:59:14.610+0900    [###############.........] dpc.mdc01ope256c     1012KB/1.52MB (65.0%) 2020-09-01T19:59:17.611+0900    [####################....] dpc.mdc01ope256c     1.30MB/1.52MB (85.3%) 2020-09-01T19:59:20.610+0900    [#######################.] dpc.mdc01ope256c     1.52MB/1.52MB (100.0%) 2020-09-01T19:59:21.348+0900    [#######################.] dpc.mdc01ope256c     1.52MB/1.52MB (100.0%) 2020-09-01T19:59:21.349+0900    imported 4768 ...

post by yamamoto | | Closed | 33 views

Spotfire からMongoDBのデータを分析する(DPC公開データをサンプルに)

MongoDBはスキーマを定義しなくても下記のように簡単にコマンド一行でCSVをインポートできます。 C:\Users\user\Desktop>mongoimport /db:dpc /collection:facilities /type:csv /file:facilities.csv /headerline 2020-09-01T14:49:28.410+0900    connected to: localhost 2020-09-01T14:49:29.428+0900    [#####...................] dpc.facilities       144KB/659KB (21.9%) 2020-09-01T14:49:30.485+0900    [#######################.] dpc.facilities       659KB/659KB (100.0%) 2020-09-01T14:49:30.486+0900    imported 4764 documents MongoDBシェルで二つのコレクションをJOINさせるのもいいのですが、データのJOINに強いBIツール、Spotfireを使えば、複雑なシェルやSqlを書く必要もなくなります。 MongoDBは普通のSqlを使うデータベースのようにBIツールから接続するには、有償のODBCドライバーもありますが、こちらは無償のBIコネクターを使います。 ただ、このコネクターは、MySQL ODBC Unicode Driverに依存しているのと、Mysqlのドライバーのインストールは、Visual Studio 2015、2017、および 2019 用 Microsoft Visual C++ 再頒布可能パッケージが必要なので、両方も用意しましょう。 MongoDBがインストールされている前提で話を進みたいので、インストールは下記のページを参考してください。個人的にTB単位の外付けSSDをMongoDBを持ち歩くので、ポータルバージョンを使っています。 Node.js & MongoDB portable 持ち歩くポータブルバージョン for windows   まず、BIコネクターに下記のコマンドでschema.drdlを作ります。(コレクションが増えた場合、作り直す必要があるようです)   C:\Program Files\MongoDB\Connector for BI\2.14\bin>mongodrdl.exe --host localhost --db dpc --out schema.drdl   そして、下記のコマンドでlocalhost 3307   C:\Program Files\MongoDB\Connector for BI\2.14\bin>mongosqld.exe   うまくリスナーが待機状態になる場合は、下記のようにコマンドプロンプトに吐き出されます。   2020-09-01T17:42:24.887+0900 ...

post by yamamoto | | Closed | 74 views

DPC公開データを処理してみよう(テキストエディターの利活用)

 テキストエディターはいろいろありますが、個人的に使い慣れているのはEmEditorのフリーバージョンです。なければ、生きていけないほどではないが、かなり手間をかけてデータを処理しなければならないことは間違いありません。 一つの例として、厚労省DPC公開データの 施設概要表(Excel:533KB)にしてみましょう。これをCSVに吐き出して、MongoDBにいれてみたいと思いますが、タイトルの米印※と改行が邪魔ですね。分析としてはいけてないデータです。(https://www.mhlw.go.jp/stf/shingi2/0000196043_00003.html) なぜなら、CSVに保存しなおすと中身が下記の形になってしまいますから。。。 "告示番号※1","通番※2",市町村番号,"都道府県",施設名,病院類型,"DPC算定病床数※3","DPC算定病床の入院基本料※4","DPC算定病床割合※5",回復期リハビリテーション病棟入院料病床数,地域包括ケア病棟入院料病床数,"精神病床数※6",療養病床数,結核病床数,"病床総数※7","平成30年度提出月数※8"10001,10001,01101,北海道,札幌医科大学附属病院,平成15年度DPC参加病院,832,特定機能7対1,94.5%,0,0,42,0,6,880,1210002,10002,01102,北海道,北海道大学病院,平成15年度DPC参加病院,869,特定機能7対1,92.5%,0,0,70,0,0,939,1210003,10003,01204,北海道,旭川医科大学病院,平成15年度DPC参加病院,571,特定機能7対1,94.9%,0,0,31,0,0,602,12 では、「正規表現」で置換しましょう。まずは、正規表現 \n※[1-9] を使います。これは改行米印数字を空っぽに置換することになります。     すると、下記の画像のように改行米印数字が消えました。   それから、今度は「正規表現」で置換の抽出方法です。正規表現」(".*)\n(.*") から $1$2 を抽出します。最初の括弧は$1の範囲でダブルクォーテーションと任意の文字.* があてはまることです。$2は二番目の括弧が範囲で任意の文字.*とダブルクォーテーションがあてはまることです。改行\nは括弧ないではないので抽出の対象外となります。     ダブルクォーテーション内、ひとつ以上の改行があれば、もう一回、「すべて置換」をクリックすれば、綺麗なタイトルが得られます。 これで綺麗なデータを下記のコマンドで簡単にMongodbにインポートできます。     C:\Users\user\Desktop>mongoimport /db:dpc /collection:facilities /type:csv /file:facilities.csv /headerline 2020-09-01T14:49:28.410+0900    connected to: localhost 2020-09-01T14:49:29.428+0900    [#####...................] dpc.facilities       144KB/659KB (21.9%) 2020-09-01T14:49:30.485+0900    [#######################.] dpc.facilities       659KB/659KB (100.0%)   2020-09-01T14:49:30.486+0900    imported 4764 documents ミラーサイト: https://shyunsei.blogspot.com/2020/09/dpc.html

post by yamamoto | | Closed | 37 views

処理中のファイルを二重処理しないように

ラズベリーパイやLinux、Macのターミナル、WindowsのUbutuなど、大きな動画ファイルを変換するとき、特にブラウザから処理するプログラムが二重起動されてしまうことを防ぐ。 #!/bin/bash echo $1 check=`lsof ~/mypath/* 2>&1|awk '{gsub(" ","\\ ",$0); print $0}'|grep -c $1` if [ $check -lt 1 ]then MP4Box -fps 30 -quiet -add "$1" "$1.mp4"mv "$1" ~/mypath/finished/rm "$1"chmod a+w "$1.mp4" else echo "$1 using..."fi なお、ファイル名にスペースが入っている場合は、awkのところを修正する必要があるかもしれない。

post by yamamoto | | 0 | 21 views

攻撃者と思われるIP一覧

84.38.130.141 178.137.165.245 178.137.90.95 37.115.218.222 37.115.196.27 62.210.79.179 62.210.79.233 46.119.191.49 89.35.39.180

post by yamamoto | | 0 | 21 views

攻撃者と思われるIP一覧(8月30日時点)

85.204.246.240 213.217.225.176 89.35.39.180

post by yamamoto | | 0 | 18 views

bash ファイル名に半角スペースが入っているファイル一覧の取得

シュルはループをしなくても下記の例のように、ファイル一覧から、ファイル名をパラメーターにして、自分のプログラムに渡して順番に実行することができます。まあ、一番いい方法かどうかは置いといて、やりたいことができるならわるくないとは思います。 #!/bin/bash TD=/tmp/all2mp4-$$ ls -l ~/myfiles/*.anyext | awk '{print "bash ~/myprogram.sh " gsub(/ /,"\\ ",$9)}'> $TD bash $TD sleep 1 rm $TD しかし、ファイル名にスペースが入っている場合、上記のawkからちゃんとファイルを取得することができなかったので、下記に書き直しました。それから、自分のプログラムに渡した場合、スペースを¥(バックスラッシュ)でエスケープしないとちゃんとパラメーターとして渡せない点を注意する必要がありますね。 #!/bin/bash TD=/tmp/all2mp4-$$  ls -l ~/myfiles/*.anyext | awk '{tmp=$1;for (i = 2; i <= 8; i++) tmp=tmp " " $i;gsub(" "," ",$0);gsub(tmp " ","",$0); gsub(" ","\\ ",$0); print "bash ~/myprogram.sh " $0}'> $TD bash $TD sleep 1 rm $TD 【註】$$ 実行されたシェル自身のプロセスIDです。 (日付が一桁のとき、2連スペースになるため、2連スペースを一つスペースに置換する修正しました)   ミラーサイト: https://shyunsei.blogspot.com/2020/08/bash.html

post by yamamoto | | 0 | 52 views

DPC公開データのクレンジング(汎用性のある横持ち表を縦持ちデータに変換するツールとしてのつもり^^;)

(※このバージョンは件数と在院日数の値が同じくカラム数しか対応できないため、近々カラム数の異なるバージョンも公開します)  厚労省が公開したデータがいけていない(さらに複雑な分析ができない)からDPC公開データのクレンジングのためにExcel のVBAプログラミングで簡単なツールを作りました。 https://www.mhlw.go.jp/stf/shingi2/0000196043_00003.html 抽出手順               1.データの範囲を検知(行数、列数)         2.表頭を値として取得           3.値が2種類(件数、在院日数。8/4=2)があるから同時に2列を書き出す   4.次の表頭グループからデータを抽出       Excelファイルを下記からダウンロードできます。  Excel xlsm 公開するか未定ですが、自動的に厚労省のURLからダウンロードして、表側と表頭を自動的に判別してCSVに吐き出すか、データベースに入れる拡張をする予定です。 ミラーサイト: https://shyunsei.blogspot.com/2020/08/dpc.html

post by yamamoto | | 0 | 27 views

Excel VBAワークシートActiveせずにCellの行番と列番で範囲コピペ

ワークシートを配列(左からのワークシートの順番)か、あるいはワークシート名で指定し、コピー元を特定できる Range(Worksheets(1).Cells(1, 1), Worksheets(1).Cells(6, 6)).Copy貼り付け先もRange(cells(1,1),Cells(6,6)).Addressで行番と列番で指定できる (1) 配列指定 Worksheets(3).Paste Destination:=Worksheets(3).Range(Range(Cells(1, 1), Cells(1, 100)).Address)' (2) ワークシート名指定Worksheets("出力").Paste Destination:=Worksheets(3).Range(Range(Cells(1, 1), Cells(1, 100)).Address) (3) ワークシートのオブジェクト名指定 Sheet4.Paste Destination:=Worksheets(3).Range(Range(Cells(1, 1), Cells(1, 100)).Address) https://shyunsei.blogspot.com/2020/08/excel-vbaactivecell.html