/**
   * カルテを開く。
   *
   * @param value 対象患者
   */
  public void openKarte() {

    if (canOpen(getSelectedPatinet())) {

      // 来院情報を生成する
      PatientVisitModel pvt = new PatientVisitModel();
      pvt.setId(0L);
      pvt.setNumber(number++);
      pvt.setPatientModel(getSelectedPatinet());

      // --------------------------------------------------------
      // 受け付けを通していないのでログイン情報及び設定ファイルを使用する
      // 診療科名、診療科コード、医師名、医師コード、JMARI
      // 2.0
      // ---------------------------------------------------------
      pvt.setDeptName(Project.getUserModel().getDepartmentModel().getDepartmentDesc());
      pvt.setDeptCode(Project.getUserModel().getDepartmentModel().getDepartment());
      pvt.setDoctorName(Project.getUserModel().getCommonName());
      if (Project.getUserModel().getOrcaId() != null) {
        pvt.setDoctorId(Project.getUserModel().getOrcaId());
      } else {
        pvt.setDoctorId(Project.getUserModel().getUserId());
      }
      pvt.setJmariNumber(Project.getString(Project.JMARI_CODE));

      // 来院日
      pvt.setFacilityId(Project.getUserModel().getFacilityModel().getFacilityId());
      pvt.setPvtDate(ModelUtils.getDateTimeAsString(new Date()));

      // カルテコンテナを生成する
      getContext().openKarte(pvt);
    }
  }
  /** リストで選択された患者を受付に登録する。 */
  public void addAsPvt() {

    // 来院情報を生成する
    PatientVisitModel pvt = new PatientVisitModel();
    pvt.setId(0L);
    pvt.setNumber(number++);
    pvt.setPatientModel(getSelectedPatinet());

    // --------------------------------------------------------
    // 受け付けを通していないのでログイン情報及び設定ファイルを使用する
    // 診療科名、診療科コード、医師名、医師コード、JMARI
    // 2.0
    // ---------------------------------------------------------
    pvt.setDeptName(Project.getUserModel().getDepartmentModel().getDepartmentDesc());
    pvt.setDeptCode(Project.getUserModel().getDepartmentModel().getDepartment());
    pvt.setDoctorName(Project.getUserModel().getCommonName());
    if (Project.getUserModel().getOrcaId() != null) {
      pvt.setDoctorId(Project.getUserModel().getOrcaId());
    } else {
      pvt.setDoctorId(Project.getUserModel().getUserId());
    }
    pvt.setJmariNumber(Project.getString(Project.JMARI_CODE));

    // 来院日
    pvt.setPvtDate(ModelUtils.getDateTimeAsString(new Date()));

    final PatientVisitModel fPvt = pvt;

    SimpleWorker worker =
        new SimpleWorker<Void, Void>() {

          @Override
          protected Void doInBackground() throws Exception {
            PVTDelegater1 pdl = new PVTDelegater1();
            pdl.addPvt(fPvt);
            return null;
          }

          @Override
          protected void succeeded(Void result) {}

          @Override
          protected void failed(Throwable cause) {}

          @Override
          protected void startProgress() {
            doStartProgress();
          }

          @Override
          protected void stopProgress() {
            doStopProgress();
          }
        };

    worker.execute();
  }
  // s.oh^ 2014/08/19 施設患者一括表示機能
  public void visitAll() {
    List<PatientModel> list = getTableModel().getDataProvider();
    if (list == null) return;
    for (PatientModel model : list) {
      // 来院情報を生成する
      PatientVisitModel pvt = new PatientVisitModel();
      pvt.setId(0L);
      pvt.setNumber(number++);
      pvt.setPatientModel(model);

      // --------------------------------------------------------
      // 受け付けを通していないのでログイン情報及び設定ファイルを使用する
      // 診療科名、診療科コード、医師名、医師コード、JMARI
      // 2.0
      // ---------------------------------------------------------
      pvt.setDeptName(Project.getUserModel().getDepartmentModel().getDepartmentDesc());
      pvt.setDeptCode(Project.getUserModel().getDepartmentModel().getDepartment());
      pvt.setDoctorName(Project.getUserModel().getCommonName());
      if (Project.getUserModel().getOrcaId() != null) {
        pvt.setDoctorId(Project.getUserModel().getOrcaId());
      } else {
        pvt.setDoctorId(Project.getUserModel().getUserId());
      }
      String jamri;
      if (Project.claimSenderIsServer()) {
        ServerInfoDelegater sid = new ServerInfoDelegater();
        try {
          jamri = sid.getJamri();
        } catch (Exception ex) {
          jamri = Project.getString(Project.JMARI_CODE);
          Log.outputFuncLog(Log.LOG_LEVEL_0, Log.FUNCTIONLOG_KIND_ERROR, ex.toString());
        }
      } else {
        jamri = Project.getString(Project.JMARI_CODE);
      }
      pvt.setJmariNumber(jamri);

      // 来院日
      pvt.setPvtDate(ModelUtils.getDateTimeAsString(new Date()));

      final PatientVisitModel fPvt = pvt;

      SimpleWorker worker =
          new SimpleWorker<Void, Void>() {

            @Override
            protected Void doInBackground() throws Exception {
              PVTDelegater1 pdl = new PVTDelegater1();
              pdl.addPvt(fPvt);
              return null;
            }

            @Override
            protected void succeeded(Void result) {}

            @Override
            protected void failed(Throwable cause) {}

            @Override
            protected void startProgress() {
              doStartProgress();
            }

            @Override
            protected void stopProgress() {
              doStopProgress();
            }
          };

      worker.execute();
    }
    Window parent = SwingUtilities.getWindowAncestor(getUI());
    JOptionPane.showMessageDialog(parent, "一括受付しました。", "一括受付", JOptionPane.WARNING_MESSAGE);
    Log.outputFuncLog(Log.LOG_LEVEL_0, Log.FUNCTIONLOG_KIND_INFORMATION, "一括受付しました。");
  }