PrimeKarte > PkReport

概要 †

各種ツールを用いて、各種印刷物を出力します。

↑

ソース †

↑

新たに帳票を作るとき †

  1. レイアウトを確認しましょう。
    用紙サイズ、使用するプリンタ等
  2. どの操作から印刷を行うか確認しましょう。
    オーダ発行時に印刷するか。→発行オプションはどうするか
    指示歴から印刷するか。
    あるボタンから印刷するか。
  3. 帳票コードの採番
    →PkEnum.PhChohyoCodeに定義を追加
  4. 帳票マスタの作成
    →CONTROL[00020017][00020018].CODE=帳票コードレコードの追加
  5. レポートファイルの作成
    →PkReportFileプロジェクトで行います。
  6. 印刷処理の実装
    →PkReportプロジェクトで行います。
↑

データ取得SQLについて †

オーダ発行時と指示歴からの印刷の場合は共通処理でKANJA_IDとGROUP_NO指定となりますので基本ORDER_JOURNALテーブルからデータを取得します。
他の場合は各トランザクションテーブルからデータを取得します。
例えばオーダ発行時と部門システム両方から印刷を行いたい場合はSQLを2種類用意する必要があります。

例:処方箋のデータ取得SQLは3種類ある。

↑

帳票ファイル名命名規則 †

こちら

↑

設定ファイル †

  1. Config(0821.xml)
↑

関連マスタ †

  1. CHOHYO
    帳票マスタ(1帳票に必ず1つ)
  2. REPORT
    印刷情報マスタ(1帳票に複数)
  3. TANMATSU_CHOHYO
    印刷先プリンタ情報マスタ
  4. DOCUMENT_SETTINGS
    汎用印刷情報マスタ
↑

関連もの †

  1. 各種帳票印刷ダイアログ
  2. テスト印刷アプリ
  3. 一括発行ダイアログ
  4. 病棟一括印刷
  5. FAX送信
↑

帳票一覧 †

↑

印刷ログ †

正常終了するとPrimeKarteのLogには以下のように残ります。

--印刷先取得
15:38:58.488 [ INFO]PK - RptCommonTool - 【SosaPrint.SetChohyoCode】810001の印刷先情報の取得開始
15:38:58.503 [ INFO] -  - 【SosaPrint.SetDefaultValue】new PrinterSettings() 開始
15:38:59.042 [ INFO] -  - 【SosaPrint.SetDefaultValue】new PrinterSettings() 終了
15:38:59.042 [ INFO] -  - 【SosaPrint.SetDefaultValue】SJ17077

--印刷処理
15:38:59.146 [ INFO]PK - RptCommonTool - 【SosaCrep】印刷キュー開始 帳票コード:810001
15:38:59.146 [ INFO]PK - RptCommonTool - 【CrpeThread】印刷スレッド開始(PrintToPrinter) 帳票コード:810001
15:39:00.425 [ INFO]PK - RptCommonTool - 【CrpeThread】印刷開始(PrintToPrinter) 帳票コード:810001 プリンタ:Microsoft Print to PDF
15:39:04.583 [ INFO]PK - RptCommonTool - 【CrpeThread】印刷終了(PrintToPrinter) 帳票コード:810001 プリンタ:Microsoft Print to PDF
↑

用紙サイズとコード(リンク) †

主に使用する用紙サイズとコードの対応表

↑

プリンタについて †

  1. ページプリンタ
    一般的なA4プリンタです。トレイを変えてA5やB5等も印刷します。
  2. ラベル(チビ)プリンタ
    1. Star TSP700 Raster Printer
      主にオーダ控え等シールで使用されています。
      設定手順
      フォルダ:\\eagle01b\SEC2\作業履歴\kawamura\11_セットアップ\ラベルプリンタ設定\TSP
    2. ip-66 SATOレスプリ
      主に注射ボトルラベルで使用されています。
      設定手順
      フォルダ:\\eagle01b\SEC2\作業履歴\kawamura\11_セットアップ\ラベルプリンタ設定
      ファイル:ip-66設定手順.xls
  1. NEC MultiCoder
    BSN様案件のシール印刷で使用されています。
    プリンタドライバ
    フォルダ:\\eagle01b\free\113301\作業用\NEC MultiCoder 502L
    設定手順
    フォルダ:\\eagle01b\SEC2\作業履歴\kawamura\11_セットアップ\ラベルプリンタ設定
    ファイル:NEC MultiCoder 502L3.xlsx
↑

各オーダ種トピックス †

特に作業の多い帳票です。

↑

処方 †

↑

処方箋 †

↑

院外処方箋(帳票コード:110006) †

↑

再診予約 †

↑

予約票(帳票コード:810001) †

↑

受診案内(帳票コード:810015) †

↑

病診連携 †

↑

診療情報提供書(帳票コード:3110001) †

↑

バーコードタッチリーダについて †

  1. 型名:FMV-BCR212
  2. 設定シートはこちら → filebar-code-menu.pdf
  3. バーコードを読み込んだ値の最後に6がついてしまう現象について・・・。
    → 設定シートの出力バーコード種別(読み取りコード番号)を「出力しない」に設定してみましょう。
↑

ロゴの表示 †

※下記の方法は、もっといい方法が発見されたため、お蔵入りです
C:\Program Files\PrimeKarte\Report\LOGOフォルダ内(固定)にBMPファイルを置くことで、帳票にロゴを表示させることができる。

↑

ファイル制御 †

  1. C:\Program Files\PrimeKarte\Report\(病院コード)\LOGO内のBMPファイルを検索
    1. ファイルが存在すれば、C:\Program Files\PrimeKarte\Report\LOGOにコピーして終了
  2. C:\Program Files\PrimeKarte\Report\000\LOGO内のBMPファイルを検索
    1. ファイルが存在すれば、C:\Program Files\PrimeKarte\Report\LOGOにコピーして終了
↑

目的 †

  1. 各病院で、固定のロゴ等を帳票に印字したいという要望に対応するため。
  2. 使用するイメージファイルパスを動的に変更することが現状、困難なため
     ⇒内部的に使用しているDataset変更により可能らしいが、この変更による   他の帳票への影響が【計り知れない強さです】
  3. ロゴ表示の要望が無い環境で、前回のイメージが表示されないように、
    デフォルトで病院コード000のものを使用。
     ⇒上記より、000フォルダには、何も描画の無いイメージを入れておくこと
     ⇒デモでイメージを貼ることを考慮すると、まったく別のフォルダを   デフォルトとした方が良いかもしれない(別途相談)
↑

使用BMPリスト †

ファイルが存在すれば、規定の位置に配置されます

帳票名ファイル名用途
予約票LOGO_SMALL.bmp帳票の左上に、ロゴとして
↑

PDF出力 †

2パターンの出力方法あり。しかし、1パターンのみしか使わないと思う。

  1. 0821.xmlのRptReportPdfPrintFlg(9051)に1を設定する。
    印刷物が容赦なくPDFで出力される。
    おまけに出力PDFが表示される。
    出力PDFは、『C:\CRP\帳票名称\YYYYMMDD_印刷カウント』で保存される。
    デフォルトプリンタによっては出力されない場合もあり。
    テスト用にしか使えない。。。
  2. SosaPrintのプロパティに設定する。
    指定ファイルパス・ファイル名称でPDF出力ができる。
    読影レポートで必要になったために実装してみた。
    プロパティ型詳細備考
    PdfFlgintPDF出力フラグ0:通常印刷/1:PDF表示
    FilePathstring保存先パス
    FileNamestringファイル名称
    StartPdfbool出力後に表示・非表示の設定true:表示/false:非表示
↑

QRコードの印刷 †

なんとなくやってみたらできたっぽい。。。
やり方としては、クリレポに【BlobFieldObject】を貼り付けてデータを入れるだけでできるっぽい。

  1. RptDataset.xsdに DataType ⇒ System.Byte[] を追加。(Name ⇒ BLOB にしてみました)
  2. クリレポに BLOBを貼り付ける。
  3. DataRowオブジェクトにバーコードデータを入れる。
    ☆↓サンプル↓☆
    sample.png
    ※ヘッダー部以外では印刷されない。
      フッター部に印刷する場合はサブレポートを貼り、その中のヘッダー部にBLOBを貼り付ける。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS