SecondaryUse開発日記

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

DB参照ツール、SecondaryUse(二次利用) DWHと帳票印刷を兼ね備える便利ツール

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

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

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

その為、DWHと同様の使い方が出来、DWH専用DBを必要としません

※CSV、XMLへの出力も可能です

 

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

 

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

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

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

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

 

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

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

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

 

SecondaryUse、SimpleUse、MedicalUse、VariousUseの違いを整理して教えて

1. SecondaryUse(セカンダリーユース) ― 全体のベース

コンセプトと目的
既存のデータを再利用するための「1.5次利用」や「二次利用」を目的として開発されたツールで、膨大なデータを有効活用するために、高額なデータウェアハウス(DWH)を用いることなく、安価で手軽にデータの活用を可能にすることを狙っています。中小企業でも使いやすいインターフェース設計と自由度の高いカスタマイズ機能により、既存のデータベースをそのまま活用しつつ業務効率の改善を図れる点が特徴です。 ShinobiShinobi

動作環境
主にWindows 10およびWindows 11で動作し、開発には.NET Framework 4.8を採用しています。 Shinobi

データベース接続
Oracle、PostgreSQL、SQL Server、ODBC接続など様々なデータベースに接続でき、SOAPを利用しているためOracleなどではクライアントのインストールが不要。SSL/TLSプロトコル(https)を使えばインターネット経由でのデータベース接続も可能です。 Yasteq

データ抽出・共有
SQLでデータを抽出し、作成したSQLはサーバーに保存して利用者全員で共有したり、ローカルファイルとして端末ごとに保存・実行したりできる仕組みになっています。 Yasteq

出力・帳票機能
Excelをテンプレートとして利用し、抽出データ項目を埋め込むことで請求書などの帳票を柔軟に作成できるほか、Excelへのエクスポート(自動グラフ表示も可能)、Wordへの差し込み印刷、CSVやXML形式での出力に対応しています。 Yasteq

現在の提供状況
現在「SecondaryUse」という名称では公開されておらず、「MedicalUse」または「SimpleUse」という派生バージョンを使用するよう案内されています。 Yasteq


2. SimpleUse ― 汎用軽量版

SecondaryUseからランチャー起動のアプリを除いたバージョンです。 Yasteq

技術的には、MedicalUseとSimpleUseは姉妹アプリで、EXEファイルのリソースを少し変えているだけという関係にあります。ランチャーMenuはSQLiteに定義されているため、SQLiteの定義を書き換えればMedicalUseをSimpleUseに変身させることも可能(同じVersion同士であれば SecondaryUse.db をコピーして環境定義を変更するだけ)という、内部的にかなり共通化された作りになっています。医療業界に限らず一般業務でデータベースを二次利用したい層向けの、機能を絞ったシンプル版という位置づけです。 HatenablogHatenablog


3. MedicalUse ― 医療機関向けフル装備版

医療施設向けの病院情報管理ソフトウェアで、SimpleUseをベースに医療特有の機能を追加した構成です。主な機能は次の通りです。 Hatenablog

  • 電子カルテ管理:患者の診療記録、処方箋、検査結果などのデータを電子的に管理し、簡単にアクセスできる Hatenablog
  • 予約・受付管理:患者の予約情報を管理し、確認・変更・キャンセルなどを容易に行える Hatenablog
  • 医薬品管理:医薬品の在庫管理や処方箋作成、薬剤情報の参照が可能で、相互作用や副作用のチェックもサポート Hatenablog
  • 会計・請求管理:診療費の計算や保険請求など会計業務を支援し、明細作成や支払い管理も行える Hatenablog
  • 電子カルテ検索の強化:標準病名検索機能や、ICD10に対応した検索機能を搭載 Hatenablog
  • 文書関連:紹介状(診療情報提供書)作成機能、試薬管理、文書管理機能などをプラグイン的に追加 Hatenablog

さらに、SOAP通信やSSL/TLSプロトコルを活用したセキュアなデータ共有により、医療データの活用範囲を広げ、病院運営の最適化や診療の質向上に貢献するとされています。 Shinobi

なお、クラウド接続に特化した派生版としてOracle DB対応のクラウド版であるMedicalOra(Wi-Fi接続QRコード作成なども可能)も別途存在します。 Hatenablog


4. VariousUse ― 医療機能の「つまみ食い」フリー版

MedicalUseが医療機関の業務全体をカバーするフル装備型なのに対し、VariousUseはその中の一部機能だけを個別に有効化して手軽に使うための位置づけです。

機能の個別切替
INIファイルの設定を変更することで、医薬品情報(DI情報)、毒劇物・麻薬等危険薬品の在庫管理、診療情報提供書、診断書の作成といった機能を個別に切り替えて単体利用できる仕組みになっています。つまり、必要な機能だけをオンにして、それ以外は使わない、という柔軟な運用が可能です。 hatenablog

データ活用・連携機能(ここはSecondaryUse系共通の強み)

  • データベース内のデータを簡単に抽出・二次利用可能 hatenablog
  • SQLでデータベース内のデータを一覧表示できる hatenablog
  • 表示データをCSVやWord(差し込み印刷)へ外部出力できる hatenablog
  • 抽出データをExcelに出力し、統計データのグラフ化などを容易に実施できる hatenablog
  • 複数のデータベースに同時に接続できるマルチDB接続に対応 hatenablog

提供形態
フリーソフト版パッケージとして提供されており、「まず試してみたい」「特定の1〜2機能だけ欲しい」というニーズに向いています。


まとめ表(機能の重さで比較)

製品 対象 機能範囲 提供形態
SecondaryUse 汎用(全業種) データ二次利用のフルエンジン 現在は単体非公開
SimpleUse 汎用(軽量) ランチャーなしの基本機能のみ 一般配布(Vector等)
MedicalUse 医療機関 電子カルテ・会計・薬剤管理等をフルセット搭載 医療機関向け導入パッケージ
VariousUse 医療機関(お試し・部分利用) MedicalUse機能をINIで個別選択して利用 フリーソフト版

一言でいうと、SecondaryUse=土台のデータ活用エンジン、SimpleUse=その軽量版、MedicalUse=医療機能フルセット、VariousUse=そのフルセットから必要な機能だけ選んで気軽に試せる版、という段階的な広がり方をしている製品群です。

VariousUse の主な特徴・機能

Vectorの製品説明によると、主な概要は以下の通りです。

  1. MedicalUse機能の個別切替(単体利用) INI ファイルの設定を変更することで、以下の各機能を切り替えて利用できます。

    • 医薬品情報(DI情報)

    • 毒劇物・麻薬等危険薬品の在庫管理

    • 診療情報提供書

    • 診断書の作成

  2. データ活用・連携機能

    • データの二次利用: データベース内のデータを簡単に抽出・二次利用可能。

    • SQLでのデータ抽出: データベース内のデータをSQLで一覧表示。

    • 外部出力: 表示データを CSV / Word(差し込み印刷)へ出力。

    • Excel連携: 抽出データをExcelに出力し、統計データのグラフ化などを容易に実施。

    • マルチDB接続: 複数のデータベースに同時に接続可能。

位置づけ

MedicalUseが包括的なシステム構成であるのに対し、VariousUseは「必要な機能に絞って手軽に試す・利用する」ためのフリーソフト版パッケージとして提供されています。

標準でCSVやWordへの差し込み印刷、Excel出力機能を備えているため、医療現場での帳票作成やデータ加工の手間を減らすツールとして設計されているようです。

Facebookページをcopilotに纏めてもらいました

🧩 syskobo(システム巧房)Facebookページの概要

医療機関向けの データ活用ツール「SecondaryUse」シリーズ を中心に、 病院業務の効率化・医療DX・データ二次利用に関する情報を発信しているページ。

主に以下のテーマが継続的に投稿されている。

 

🔧 主な発信内容(要約)

1. SecondaryUse / MedicalUse の紹介とアップデート

  • 医療データを簡単に抽出・加工できるツールとしての特徴

  • SQL不要で使える点、Excel・Word連携、複数DB対応などの利点

  • 新機能追加や改善情報の告知

  • 医療現場での活用例(症例抽出、DPC分析、感染症モニタリングなど)

2. 医療DX・データ二次利用の重要性

  • 病院内に蓄積されたデータを「現場が使える形」にする必要性

  • パッケージシステムでは補えない部分を自作ツールで補完する考え方

  • 現場の業務効率化につながる具体的な事例紹介

3. 展示会(ホスピタルショウ等)への出展情報

  • 出展告知

  • 展示内容(SecondaryUseシリーズのデモ)

  • 来場者向けの案内やリーフレット紹介

4. 医療現場の課題と改善アイデア

  • 手書き・手作業の多い業務の効率化

  • 名札印刷、患者一覧作成、チェックシート自動化などの改善例

  • 病院SE視点での「現場の困りごと」へのアプローチ

 

🧠 ページの特徴

  • 医療機関の情報システム担当者(病院SE)にとって実務的で役立つ内容が多い

  • SecondaryUseシリーズの思想である「データの民主化」を強く反映

  • 技術的な話題だけでなく、現場の課題・改善事例が豊富

  • 展示会やイベント情報も随時更新されている

 

📌 まとめ

syskoboのFacebookページは、 医療データ活用・業務効率化・医療DXの実践例を知りたい人に最適な情報源

SecondaryUseシリーズの最新情報や、病院現場のリアルな課題解決のヒントが得られる。

 

SecondaryUseサポーターとは?

「SecondaryUseサポーター」は、医療用データ活用ツール「SecondaryUse」のユーザー向けコミュニティ・サポート窓口 [1, 2]です。Facebookグループとして運営されており、ユーザー同士の情報交換や最新版ツールの確認、機能説明書の公開などが行われています。 [1, 2, 3, 4]
「SecondaryUseサポーター」を活用するための重要なポイントは以下の通りです。
  • 最新版の入手: 「SimpleUse」や「MedicalUse」などの関連ツールの最新版ダウンロードが提供されています。
  • マニュアル・手引きの閲覧: 起動方法や機能、ODBC設定などの具体的な活用ノウハウや設定サンプルが公開されています。
  • 情報交換: Facebookのグループ機能を通じて、他のユーザーとノウハウの共有や疑問点の相談を行うことができます。 [1, 2, 3, 4]
     

    バッチファイルから start した時にウィンドウが背面に隠れてしまう問題に対処する

    同じ内容で悩んだ方がいらっしゃいました

    stakiran.hatenablog.com

     

    上記サイトを参考にバッチファイルを修正しましたが、私の環境では前面表示が出来ませんでした

    vbscriptを使用する方法もありましたが、廃止が分かっているのにどうかなと思い

    powershellで試したところ前面に表示するようになりましたのでご紹介します


    下記の例は、最新のバージョンで実行させたいので、実行前にプログラムを共有フォルダからローカルフォルダにモジュールをコピーし実行させています

     

    バッチファイル

    @echo off

    xcopy   プログラムの共有フォルダ     プログラムのローカルフォルダ

    powershell -ExecutionPolicy Bypass -File D:\folder\Script.ps1 %1 %2 %3 %4

     

    Script.ps1

    $LocalStartupDir = 'プログラムのローカルフォルダ'
    Start-Process -FilePath ($LocalStartupDir, 'プログラム.exe' -join '\') -ArgumentList "$args"