CLAIM だけ送る
カルテや病名の CLAIM だけ送信するメニュー項目を作った。
カルテを CLAIM 送信した後に訂正があった場合(CLAIM 送信後に「うーん,やっぱり薬も出しといて下さい」とか言われた場合)
病名の方は,ORCA の病名と OpenDolphin の病名がずれてしまって,OpenDolphin の病名を修正しないで ORCA に CLAIM 送信だけしたいというような場合に使える。でも滅多に使わない。
カルテを CLAIM 送信した後に訂正があった場合(CLAIM 送信後に「うーん,やっぱり薬も出しといて下さい」とか言われた場合)
- 送った CLAIM を ORCA で削除
- OpenDolphin でカルテを修正
- 保存時に「診療行為を送信する」にチェックを入れてから保存
病名の方は,ORCA の病名と OpenDolphin の病名がずれてしまって,OpenDolphin の病名を修正しないで ORCA に CLAIM 送信だけしたいというような場合に使える。でも滅多に使わない。
client/MacMenuFactory.java
・ ・ //pns^ @Action public void selectAll() { chart.sendToChain("selectAll"); } @Action public void sendClaim() { chart.sendToChain("sendClaim"); } //pns$ ・ ・ // Karte JMenu karte = new JMenu(); karte.setName("karteMenu"); karte.setText("カルテ"); //pns^ // CLAIM 送信 JMenuItem sendClaim = new JMenuItem(); sendClaim.setName("sendClaim"); setAction(sendClaim, "sendClaim", "CLAIM 送信", null, "CLAIM 送信します"); setAccelerator(sendClaim, KeyEvent.VK_L); karte.add(sendClaim); //pns$
client/GUIConst.java
public static final String ACTION_SEND_CLAIM = "sendClaim";
client/AbstractChartDocument.java
private static final String[] CHART_MENUS = { GUIConst.ACTION_OPEN_KARTE, GUIConst.ACTION_SAVE, ・ ・ //pns^ GUIConst.ACTION_FIND_FIRST, GUIConst.ACTION_FIND_NEXT, GUIConst.ACTION_FIND_PREVIOUS, GUIConst.ACTION_SEND_CLAIM //pns$ };
client/ClaimSender.java
client/KarteEditor.java
// ClaimSender private ClaimSender claimSender = new ClaimSender(); ・ ・ /** * CLAIMリスナを追加する。 * @param listener CLAIMリスナ * @throws TooManyListenersException */ public void addCLAIMListner(ClaimMessageListener listener) throws TooManyListenersException { //pns^ // if (claimListener != null) { // throw new TooManyListenersException(); // } // claimListener = listener; claimSender.addCLAIMListener(listener); //pns$ } /** * CLAIMリスナを削除する。 * @param listener 削除するCLAIMリスナ */ public void removeCLAIMListener(ClaimMessageListener listener) { //pns^ // if (claimListener != null && claimListener == listener) { // claimListener = null; // } claimSender.removeCLAIMListener(listener); //pns$ } ・ ・ @Override public void enter() { super.enter(); stateMgr.controlMenu(); //pns getContext().enabledAction(GUIConst.ACTION_SEND_CLAIM, true); } ・ ・ @Override public void save() { ・ ・ //pns sendClaim = (Project.getSendClaim() && claimListener != null) ? true : false; sendClaim = (Project.getSendClaim() && claimSender.getListener() != null) ? true : false; ・ ・ private void save2(final SaveParams params) throws DolphinException { ・ ・ if (ddl.isNoError()) { if (sendClaim) { //pns sendClaim(saveModel); claimSender.send(saveModel); ・ ・ /** * Save 時ではなくメニューから CLAIM 送信する */ public void sendClaim() { model.setKarte(getContext().getKarte()); model.getDocInfo().setConfirmDate(new Date()); if (getMode() == DOUBLE_MODE) { claimSender.send(model); } }
client/DiagnosisDocument
@Override public void enter() { super.enter(); // undo/redo 可能にする getContext().enabledAction(GUIConst.ACTION_UNDO, true); getContext().enabledAction(GUIConst.ACTION_REDO, true); getContext().enabledAction(GUIConst.ACTION_SELECT_ALL, true); getContext().enabledAction(GUIConst.ACTION_SAVE, true); getContext().enabledAction(GUIConst.ACTION_SEND_CLAIM, true); ・ ・ class DiagnosisPutTask extends DBTask<List<Long>> { ・ ・ @Override protected ListdoInBackground() throws Exception { ・ ・ // CLAIM 送信の sender を作成 ClaimSender sender = new ClaimSender(); sender.setPatientVisitModel(getContext().getPatientVisit()); sender.addCLAIMListener(((ChartImpl) getContext()).getCLAIMListener()); // 追加病名を CLAIM 送信する if (sendClaim && addedDiagnosis.size() > 0) { logger.debug("sendClaim Diagnosis"); sender.send(addedDiagnosis); } // 更新された病名を CLAIM 送信する if (sendClaim && updatedDiagnosis.size() > 0) { sender.send(updatedDiagnosis); } ・ ・ /** * 選択された診断を CLAIM 送信する */ public void sendClaim() { // CLAIM 送信の sender を作成 ClaimSender sender = new ClaimSender(); sender.setPatientVisitModel(getContext().getPatientVisit()); try { sender.addCLAIMListener(((ChartImpl) getContext()).getCLAIMListener()); } catch (TooManyListenersException ex) {} // 選択された診断を CLAIM 送信する RegisteredDiagnosisModel rd = null; List diagList = new ArrayList (); Date confirmed = new Date(); int rows[] = diagTable.getSelectedRows(); for (int row : rows) { rd = (RegisteredDiagnosisModel) tableModel.getObject(row); rd.setKarte(getContext().getKarte()); // Karte rd.setCreator(Project.getUserModel()); // Creator rd.setConfirmed(confirmed); // 確定日 rd.setRecorded(confirmed); // 記録日 // 開始日=適合開始日 not-null if (rd.getStarted() == null) { rd.setStarted(confirmed); } rd.setPatientLiteModel(getContext().getPatient().patientAsLiteModel()); rd.setUserLiteModel(Project.getUserModel().getLiteModel()); // 転帰をチェックする if (!isValidOutcome(rd)) return; diagList.add(rd); } if (diagList.size() > 0) sender.send(diagList); }
client/KarteDocumentViewer.java
・ ・ protected final class EmptyState extends BrowserState { public void enter() { getContext().enabledAction(GUIConst.ACTION_SEND_CLAIM, false); ・ ・ protected final class ClaenState extends BrowserState { public void enter() { getContext().enabledAction(GUIConst.ACTION_SEND_CLAIM, true); ・ ・ /** * 表示されているカルテを CLAIM 送信する */ public void sendClaim() throws TooManyListenersException { // claim を送るのはカルテだけ String docType = getBaseKarte().getModel().getDocInfo().getDocType(); if (!IInfoModel.DOCTYPE_KARTE.equals(docType)) return; ChartImpl chart = (ChartImpl) getContext(); DocumentModel model = chart.getKarteModelToEdit(getBaseKarte().getModel()); model.setKarte(getContext().getKarte()); model.getDocInfo().setConfirmDate(new Date()); ClaimSender claimSender = new ClaimSender(); claimSender.addCLAIMListener(chart.getCLAIMListener()); claimSender.send(model); }
« 生年月日検索 | トップページ | OpenDolphin-1.3.0.5 公開(JBoss AS 5.1.0.GA 専用) »
「OpenDolphin」カテゴリの記事
- 運用17年目のまとめ(2025.02.03)
- IME on/off の切換 - その2(2024.12.02)
- OrcaController オルコン(2024.11.28)
- OpenDolphin: java 21 / wildfly 34 への移行(2024.11.08)
- IME on/off の切り替え(2024.09.03)