SecondaryUse開発日記

データベース参照ツールを開発しています。そのツールの開発、利用方法秘話などなどの紹介

データベース参照ツール、SecondaryUse(二次利用)

SecondaryUseとは任意のデータをデータベースからSQLで取得し表示します
SQLをサーバに保存すれば、利用者全員で共有が出来ます。またローカルファイルとして登録すれば端末ごとに任意のSQLを実行することも可能です

表示したデータはエクセルへのエクスポートも簡単にできますし、ワードへの差し込み印刷も可能です

エクセルへのエクスポートでは自動でグラフ表示も可能です

CSVXMLへの出力も可能です

 

SecondaryUseはデータの二次利用を簡単に実現します

 f:id:syskobo:20190422155018j:plain

本来DBBrowserはエディタ上に入力したSQLを実行しデータを表示していましたが、誰でも簡単にデータ抽出出来るようにSQLを外部に保存し実行できるようにしたのがSecondaryUseです

DBBrowser同様、サーバとの通信はSOAPを利用していますので、ORACLEなどはClientのインストールが不要です。

さらに、SSL/TLSプロトコル(https)を使用してインターネット経由でもデータベースとの接続が可能です。

また、ODBCでの接続も出来るのでローカルネットワーク環境ではサーバなしでも利用できます

syskobo.hatenablog.com

http://syskobo.html.xdomain.jp/SecondaryUse_simple_manual.pdf

 

SimpleUse は SecondaryUseと同じですがランチャー起動のアプリを外したバージョンです

MedicalUseSimpleUse に 医療機能を追加したバージョンになります

現在は SecondaryUse としては公開していませんので、MedicalUseSimpleUse を使用してください

一般病棟用の重症度、医療・看護必要度A・C項目に係るレセプト電算処理システム用コード一覧の変更

一般病棟用の重症度、医療・看護必要度A・C項目に係るレセプト電算処理システム用コード一覧の変更がありました

 

000638415.xlsx → 000665999.xlsx

○は追加、×は削除になります

新しいコード一覧で集計しましたが、変更は見られませんでした

比較的新しい薬剤が追加されたようです

  

MedicalUseSimpleUse で利用する最新版のコードデータは以下に置いておきます

http://syskobo.html.xdomain.jp/v_master_000665999.zip

今後の更新を考慮し、配布するコードデータをXMLからEXCELファイルに変更してあります

また、MedicalUse 4.20.8.25SimpleUse 4.20.8.25 は最新版のコードデータが同梱してあります

No

変更区分

項目区分

項目名称

レセプトコード

診療項目名称

1

×

A71

専門的な治療・処置(① 抗悪性腫瘍剤の使用 注射剤のみ)

622239101

プラリア皮下注60mgシリンジ

2

A71

専門的な治療・処置(① 抗悪性腫瘍剤の使用 注射剤のみ)

622351402

ゾレドロン酸点滴静注4mg/100mLバッグ「KCC」

3

×

A71

専門的な治療・処置(① 抗悪性腫瘍剤の使用 注射剤のみ)

622518601

リクラスト点滴静注液5mg

4

A71

専門的な治療・処置(① 抗悪性腫瘍剤の使用 注射剤のみ)

622607302

ガザイバ点滴静注1000mg

5

A71

専門的な治療・処置(① 抗悪性腫瘍剤の使用 注射剤のみ)

622622401

ベスポンサ点滴静注用1mg

6

A71

専門的な治療・処置(① 抗悪性腫瘍剤の使用 注射剤のみ)

622654901

ビーリンサイト点滴静注用35μg

7

A71

専門的な治療・処置(① 抗悪性腫瘍剤の使用 注射剤のみ)

622797601

ステボロニン点滴静注バッグ9000mg/300mL

8

A71

専門的な治療・処置(① 抗悪性腫瘍剤の使用 注射剤のみ)

622808601

オニバイド点滴静注43mg

9

A71

専門的な治療・処置(① 抗悪性腫瘍剤の使用 注射剤のみ)

629907101

エンハーツ点滴静注用100mg

10

A72

専門的な治療・処置(② 抗悪性腫瘍剤の内服の管理)

620536801

クロルマジノン酢酸エステル錠25mg「NSKK」

11

A72

専門的な治療・処置(② 抗悪性腫瘍剤の内服の管理)

622586501

イブランスカプセル25mg

12

A72

専門的な治療・処置(② 抗悪性腫瘍剤の内服の管理)

622586601

イブランスカプセル125mg

13

A72

専門的な治療・処置(② 抗悪性腫瘍剤の内服の管理)

622606901

リムパーザ錠100mg

14

A72

専門的な治療・処置(② 抗悪性腫瘍剤の内服の管理)

622607001

リムパーザ錠150mg

15

A72

専門的な治療・処置(② 抗悪性腫瘍剤の内服の管理)

622653801

ベージニオ錠50mg

16

A72

専門的な治療・処置(② 抗悪性腫瘍剤の内服の管理)

622653901

ベージニオ錠100mg

17

A72

専門的な治療・処置(② 抗悪性腫瘍剤の内服の管理)

622654001

ベージニオ錠150mg

18

A72

専門的な治療・処置(② 抗悪性腫瘍剤の内服の管理)

622703401

イブランス錠25mg

19

A72

専門的な治療・処置(② 抗悪性腫瘍剤の内服の管理)

622703501

イブランス錠125mg

20

A72

専門的な治療・処置(② 抗悪性腫瘍剤の内服の管理)

622794101

テプミトコ錠250mg

21

A72

専門的な治療・処置(② 抗悪性腫瘍剤の内服の管理)

622796301

ニュベクオ錠300mg

22

A72

専門的な治療・処置(② 抗悪性腫瘍剤の内服の管理)

622796901

カボメティクス錠20mg

23

A72

専門的な治療・処置(② 抗悪性腫瘍剤の内服の管理)

622797001

カボメティクス錠60mg

24

A72

専門的な治療・処置(② 抗悪性腫瘍剤の内服の管理)

622803301

ベレキシブル錠80mg

25

A74

専門的な治療・処置(④ 麻薬の内服・貼付、坐剤の管理)

622802101

オキシコドン錠2.5mgNX「第一三共

26

A74

専門的な治療・処置(④ 麻薬の内服・貼付、坐剤の管理)

622802201

オキシコドン錠5mgNX「第一三共

27

A74

専門的な治療・処置(④ 麻薬の内服・貼付、坐剤の管理)

622802301

オキシコドン錠10mgNX「第一三共

28

A74

専門的な治療・処置(④ 麻薬の内服・貼付、坐剤の管理)

622802401

オキシコドン錠20mgNX「第一三共

29

A81

緊急に入院を必要とする状態

190221350

救急医療管理加算(診療報酬上臨時的取扱)

30

A81

緊急に入院を必要とする状態

190225850

救急医療管理加算(診療報酬上臨時的取扱)

31

C191

骨の手術(11日間)

310006710

口腔、顎、顔面悪性腫瘍切除術

32

C191

骨の手術(11日間)

310007110

頬粘膜悪性腫瘍手術

33

C191

骨の手術(11日間)

310007710

上顎骨切除術

34

C191

骨の手術(11日間)

310007810

上顎骨悪性腫瘍手術(掻爬)

35

C191

骨の手術(11日間)

310007910

上顎骨悪性腫瘍手術(切除)

36

C191

骨の手術(11日間)

310008010

上顎骨悪性腫瘍手術(全摘)

37

C191

骨の手術(11日間)

310008110

下顎骨部分切除術

38

C191

骨の手術(11日間)

310008210

下顎骨離断術

39

C191

骨の手術(11日間)

310008310

下顎骨悪性腫瘍手術(切除)

40

C191

骨の手術(11日間)

310008410

下顎骨悪性腫瘍手術(切断)(その他のもの)

41

C191

骨の手術(11日間)

310008510

顎骨腫瘍摘出術(歯根嚢胞を除く。)(長径3センチメートル未満)

42

C191

骨の手術(11日間)

310008610

顎骨腫瘍摘出術(歯根嚢胞を除く。)(長径3センチメートル以上)

43

C191

骨の手術(11日間)

310012410

骨移植術(軟骨移植術を含む。)(自家骨移植(簡単なもの))

44

C191

骨の手術(11日間)

310012510

骨移植術(軟骨移植術を含む。)(自家骨移植(困難なもの))

45

C191

骨の手術(11日間)

310012610

骨移植術(軟骨移植術を含む。)(同種骨移植)(生体)

46

C191

骨の手術(11日間)

310034710

骨移植術(軟骨移植術を含む。)(同種骨移植)(非生体)(特殊なもの)

47

C191

骨の手術(11日間)

310034810

骨移植術(軟骨移植術を含む。)(同種骨移植)(非生体)(その他の場合)

48

C191

骨の手術(11日間)

310036610

下顎骨悪性腫瘍手術(切断)(おとがい部を含むもの)

49

C241

別に定める手術(6日間)

310003810

口腔底悪性腫瘍手術

50

C241

別に定める手術(6日間)

310004110

舌悪性腫瘍手術(切除)

51

C241

別に定める手術(6日間)

310004210

舌悪性腫瘍手術(亜全摘

52

C241

別に定める手術(6日間)

310004910

顎・口蓋裂形成手術(硬口蓋に及ぶもの)

53

C241

別に定める手術(6日間)

310005010

顎・口蓋裂形成手術(顎裂を伴うもの)(片側)

54

C241

別に定める手術(6日間)

310005510

口唇裂形成手術(片側)(鼻腔底形成を伴う場合)

55

C241

別に定める手術(6日間)

310005710

口唇裂形成手術(両側)(口唇裂鼻形成を伴う場合)

56

C241

別に定める手術(6日間)

310005810

口唇裂形成手術(両側)(鼻腔底形成を伴う場合)

57

C241

別に定める手術(6日間)

310006010

鼻咽腔閉鎖術

58

C241

別に定める手術(6日間)

310006610

口唇悪性腫瘍手術

59

C241

別に定める手術(6日間)

310010910

顎下腺悪性腫瘍手術

60

C241

別に定める手術(6日間)

310011010

耳下腺腫瘍摘出術(耳下腺浅葉摘出術)

61

C241

別に定める手術(6日間)

310011110

耳下腺腫瘍摘出術(耳下腺深葉摘出術)

62

C241

別に定める手術(6日間)

310011210

耳下腺悪性腫瘍手術(切除)

63

C241

別に定める手術(6日間)

310011310

耳下腺悪性腫瘍手術(全摘)

64

C241

別に定める手術(6日間)

310014110

上顎骨形成術(単純な場合)

65

C241

別に定める手術(6日間)

310014210

上顎骨形成術(複雑な場合及び2次的再建の場合)

66

C241

別に定める手術(6日間)

310014410

頬骨変形治癒骨折矯正術

67

C241

別に定める手術(6日間)

310014810

下顎骨折観血的手術(両側)

68

C241

別に定める手術(6日間)

310015810

下顎骨形成術(短縮又は伸長の場合)

69

C241

別に定める手術(6日間)

310015910

下顎骨形成術(再建の場合)

70

C241

別に定める手術(6日間)

310016110

顔面多発骨折観血的手術

71

C241

別に定める手術(6日間)

310016310

顎関節脱臼観血的手術

72

C241

別に定める手術(6日間)

310016710

顎関節授動術(開放授動術)

73

C241

別に定める手術(6日間)

310020410

分層植皮術(200平方センチメートル以上)

74

C241

別に定める手術(6日間)

310020710

全層植皮術(100平方センチメートル以上200平方センチメートル未満)

75

C241

別に定める手術(6日間)

310020810

全層植皮術(200平方センチメートル以上)

76

C241

別に定める手術(6日間)

310021310

皮弁作成術、移動術、切断術、遷延皮弁術(100平方センチメートル以上)

77

C241

別に定める手術(6日間)

310021410

動脈(皮)弁術、筋(皮)弁術

78

C241

別に定める手術(6日間)

310021510

遊離皮弁術(顕微鏡下血管柄付きのもの)

79

C241

別に定める手術(6日間)

310021710

自家遊離複合組織移植術(顕微鏡下血管柄付きのもの)

80

C241

別に定める手術(6日間)

310022110

動脈形成術、吻合術

81

C241

別に定める手術(6日間)

310022310

血管移植術、バイパス移植術(頭、頸部動脈)

82

C241

別に定める手術(6日間)

310022410

血管移植術、バイパス移植術(その他の動脈)

83

C241

別に定める手術(6日間)

310022710

神経移植術

84

C241

別に定める手術(6日間)

310023810

顔面神経麻痺形成手術(動的なもの)

85

C241

別に定める手術(6日間)

310030510

顎・口蓋裂形成手術(顎裂を伴うもの)(両側)

86

C241

別に定める手術(6日間)

310031810

上顎骨形成術(骨移動を伴う場合)

87

C241

別に定める手術(6日間)

310031910

下顎骨形成術(骨移動を伴う場合)

 

 

実は簡単、看護必要度集計 - 複数月(3か月平均)の集計

看護必要度は3か月ごとの提出が必要とかで、3か月平均を求めるのにVIEWを利用します

 

EFファイルの結合

CREATE VIEW EFN_000000000_2000 as
select * from EFN_000000000_2006 union
select * from EFN_000000000_2005 union
select * from EFN_000000000_2004;

 

EFファイル(展開データ)の結合

CREATE VIEW EFT_000000000_2000 as
select * from EFT_000000000_2006 union
select * from EFT_000000000_2005 union
select * from EFT_000000000_2004;

 

Hファイルの結合

CREATE VIEW HN_000000000_2000 as
select * from HN_000000000_2006 union
select * from HN_000000000_2005 union
select * from HN_000000000_2004;

 

集計SQLは月単位のSQLで可能で、年月に”2000”を入力すれば3か月の平均が取得できます

 

f:id:syskobo:20200715135528p:plain

 

新型コロナウイルス陽性患者発表のCSVデータの活用

都内 新型コロナウイルス陽性患者の詳細データが以下のサイトよりダウンロード可能でしたので試しました

catalog.data.metro.tokyo.lg.jp

1.CSVデータのインポート

ローカルSQLのインポートよりダウンロードしたCSVデータを読み込みます

f:id:syskobo:20200709150238p:plain

 インポートの詳細説明は何回も行っているので省略します

 

2.実行環境設定

ドキュメント > SimpleUse に LocalSQL.ini ファイルを作成し、下記の内容を入力します

[DataSource6]
DBtype=5
ConnectType=3
Database=@ReplacePersonal@\covid19.sqlite3

 

3.集計SQL

サンプルSQL 「600.新型コロナウイルス陽性患者クロス集計.sql

select

患者_年代

,sum(case when 患者_性別 = '男性' then 1 else 0 end) 男性
,sum(case when 患者_性別 = '女性' then 1 else 0 end) 女性

,sum(case when 曜日 = '日' then 1 else 0 end) 日
,sum(case when 曜日 = '月' then 1 else 0 end) 月
,sum(case when 曜日 = '火' then 1 else 0 end) 火
,sum(case when 曜日 = '水' then 1 else 0 end) 水
,sum(case when 曜日 = '木' then 1 else 0 end) 木
,sum(case when 曜日 = '金' then 1 else 0 end) 金
,sum(case when 曜日 = '土' then 1 else 0 end) 土

,sum(case when 退院済フラグ = '1' then 1 else 0 end) 退院済
,sum(case when 退院済フラグ = '1' then 0 else 1 end) 入院中

,count(*) 合計人数

from [130001_TOKYO_COVID19_PATIENTS]
group by 患者_年代

union

select

'合計'

,sum(case when 患者_性別 = '男性' then 1 else 0 end) 男性
,sum(case when 患者_性別 = '女性' then 1 else 0 end) 女性

,sum(case when 曜日 = '日' then 1 else 0 end) 日
,sum(case when 曜日 = '月' then 1 else 0 end) 月
,sum(case when 曜日 = '火' then 1 else 0 end) 火
,sum(case when 曜日 = '水' then 1 else 0 end) 水
,sum(case when 曜日 = '木' then 1 else 0 end) 木
,sum(case when 曜日 = '金' then 1 else 0 end) 金
,sum(case when 曜日 = '土' then 1 else 0 end) 土

,sum(case when 退院済フラグ = '1' then 1 else 0 end) 退院済
,sum(case when 退院済フラグ = '1' then 0 else 1 end) 入院中

,count(*) 合計人数
from [130001_TOKYO_COVID19_PATIENTS]

union

select

'割合(%)' 患者_年代

,round(cast(sum(case when 患者_性別 = '男性' then 1 else 0 end) as real) / cast(count(*) as real) * 100,2) 男性
,round(cast(sum(case when 患者_性別 = '女性' then 1 else 0 end) as real) / cast(count(*) as real) * 100,2) 女性

,round(cast(sum(case when 曜日 = '日' then 1 else 0 end) as real) / cast(count(*) as real) * 100,2) 日
,round(cast(sum(case when 曜日 = '月' then 1 else 0 end) as real) / cast(count(*) as real) * 100,2) 月
,round(cast(sum(case when 曜日 = '火' then 1 else 0 end) as real) / cast(count(*) as real) * 100,2) 火
,round(cast(sum(case when 曜日 = '水' then 1 else 0 end) as real) / cast(count(*) as real) * 100,2) 水
,round(cast(sum(case when 曜日 = '木' then 1 else 0 end) as real) / cast(count(*) as real) * 100,2) 木
,round(cast(sum(case when 曜日 = '金' then 1 else 0 end) as real) / cast(count(*) as real) * 100,2) 金
,round(cast(sum(case when 曜日 = '土' then 1 else 0 end) as real) / cast(count(*) as real) * 100,2) 土

,round(cast(sum(case when 退院済フラグ = '1' then 1 else 0 end) as real) / cast(count(*) as real) * 100,2) 退院済
,round(cast(sum(case when 退院済フラグ = '1' then 0 else 1 end) as real) / cast(count(*) as real) * 100,2) 入院中

,count(*) 合計人数
from [130001_TOKYO_COVID19_PATIENTS]

 

f:id:syskobo:20200709152556p:plain

 

 

個人保護のため、報告曜日、性別、患者年代、退院済みフラグ のみのデータです

その中で、年代ごとのクロス集計を行いました

その内容からの独自の解析

・女性の患者割合が、若い年代の方が多い

 (80代以上女性患者が多いのは人口比に応じて)

・週末に向けて患者数が多くなる

・20、30代の感染者が多い

 終息を願うばかりです

 

活用手順を動画にしましたので良ければ見てください

youtu.be