private void 除ToolStripMenuItem_Click(object sender, EventArgs e) { if (!EMR.TreeNodeIsRecord(tvRecord.SelectedNode)) { return; } int vDesPID = -1, vDesID = -1, vRecordID = -1; GetNodeRecordInfo(tvRecord.SelectedNode, ref vDesPID, ref vDesID, ref vRecordID); if (vRecordID > 0) { MessageBoxButtons messButton = MessageBoxButtons.OKCancel; DialogResult dr = MessageBox.Show("删除病历 " + tvRecord.SelectedNode.Text + " ?", "确认操作", messButton); if (dr == DialogResult.OK) { int vPageIndex = GetRecordPageIndex(vRecordID); if (vPageIndex >= 0) { CloseRecordPage(tabRecord.SelectedIndex, false); } if (emrMSDB.DB.DeletePatientRecord(vRecordID)) { tvRecord.Nodes.Remove(tvRecord.SelectedNode); MessageBox.Show("删除成功!"); } } } }
private void TvRecord_DoubleClick(object sender, EventArgs e) { if (!EMR.TreeNodeIsRecord(tvRecord.SelectedNode)) { return; } FfrmImportRecord.EmrView.Clear(); int vDesPID = -1, vDesID = -1, vRecordID = -1; EMR.GetNodeRecordInfo(tvRecord.SelectedNode, ref vDesPID, ref vDesID, ref vRecordID); if (vRecordID > 0) { using (MemoryStream vSM = new MemoryStream()) { emrMSDB.DB.GetRecordContent((tvRecord.SelectedNode.Tag as RecordInfo).ID, vSM); if (vSM.Length > 0) { FfrmImportRecord.EmrView.LoadFromStream(vSM); FfrmImportRecord.EmrView.Focus(); } } } }
private void 签名ToolStripMenuItem_Click(object sender, EventArgs e) { if (!EMR.TreeNodeIsRecord(tvRecord.SelectedNode)) { return; } int vDesPID = -1, vDesID = -1, vRecordID = -1; GetNodeRecordInfo(tvRecord.SelectedNode, ref vDesPID, ref vDesID, ref vRecordID); if (vRecordID > 0) { if (emrMSDB.DB.SignatureInchRecord(vRecordID, UserInfo.ID)) { MessageBox.Show(UserInfo.Name + ",签名成功!后续的修改将留下修改痕迹!"); } int vPageIndex = GetRecordPageIndex(vRecordID); if (vPageIndex >= 0) { frmRecord vFrmRecord = GetPageRecord(vPageIndex); vFrmRecord.EmrView.Trace = true; } } }
private TreeNode FindRecordNode(int aRecordID) { for (int i = 0; i < tvRecord.Nodes.Count; i++) { if (EMR.TreeNodeIsRecord(tvRecord.Nodes[i])) { return(tvRecord.Nodes[i]); } } return(null); }
private void 导出XML结构ToolStripMenuItem_Click(object sender, EventArgs e) { if (!EMR.TreeNodeIsRecord(tvRecord.SelectedNode)) { return; } int vDesPID = -1, vDesID = -1, vRecordID = -1; GetNodeRecordInfo(tvRecord.SelectedNode, ref vDesPID, ref vDesID, ref vRecordID); if (vRecordID > 0) { SaveFileDialog vSaveDlg = new SaveFileDialog(); vSaveDlg.Filter = "XML|*.xml"; vSaveDlg.ShowDialog(); if (vSaveDlg.FileName != "") { int vPageIndex = GetRecordPageIndex(vRecordID); if (vPageIndex < 0) { LoadPatientRecordContent(tvRecord.SelectedNode.Tag as RecordInfo); vPageIndex = GetRecordPageIndex(vRecordID); } else { tabRecord.SelectedIndex = vPageIndex; } frmRecord vFrmRecord = GetPageRecord(vPageIndex); string vFileName = Path.GetExtension(vSaveDlg.FileName); if (vFileName.ToLower() != ".xml") { vFileName = vSaveDlg.FileName + ".xml"; } else { vFileName = vSaveDlg.FileName; } SaveStructureToXml(vFrmRecord, vFileName); } } }
private void 编辑ToolStripMenuItem_Click(object sender, EventArgs e) { if (!EMR.TreeNodeIsRecord(tvRecord.SelectedNode)) { return; } int vDesPID = -1, vDesID = -1, vRecordID = -1; GetNodeRecordInfo(tvRecord.SelectedNode, ref vDesPID, ref vDesID, ref vRecordID); if (vRecordID > 0) { int vPageIndex = GetRecordPageIndex(vRecordID); if (vPageIndex < 0) { LoadPatientRecordContent(tvRecord.SelectedNode.Tag as RecordInfo); vPageIndex = GetRecordPageIndex(vRecordID); } else { tabRecord.SelectedIndex = vPageIndex; } frmRecord vFrmRecord = GetPageRecord(vPageIndex); vFrmRecord.EmrView.ReadOnly = false; vFrmRecord.EmrView.UpdateView(); try { vFrmRecord.EmrView.Trace = emrMSDB.DB.GetInchRecordSignature(vRecordID); if (vFrmRecord.EmrView.Trace) { MessageBox.Show("病历已经签名,后续的修改将留下修改痕迹!"); } } catch (Exception exp) { vFrmRecord.EmrView.ReadOnly = true; MessageBox.Show("编辑病历失败!" + exp.Message + "\n\r" + emrMSDB.DB.ErrMsg); } } }
private void 查看ToolStripMenuItem_Click(object sender, EventArgs e) { if (!EMR.TreeNodeIsRecord(tvRecord.SelectedNode)) { return; } int vDesPID = -1, vDesID = -1, vRecordID = -1; GetNodeRecordInfo(tvRecord.SelectedNode, ref vDesPID, ref vDesID, ref vRecordID); if (vRecordID > 0) { int vPageIndex = GetRecordPageIndex(vRecordID); if (vPageIndex < 0) { LoadPatientRecordContent(tvRecord.SelectedNode.Tag as RecordInfo); vPageIndex = GetRecordPageIndex(vRecordID); } else { tabRecord.SelectedIndex = vPageIndex; } frmRecord vFrmRecord = null; try { vFrmRecord = GetPageRecord(vPageIndex); } finally { vFrmRecord.EmrView.ReadOnly = true; } vFrmRecord.EmrView.Trace = emrMSDB.DB.GetInchRecordSignature(vRecordID); } }
public static void GetNodeRecordInfo(TreeNode aNode, ref int aDesPID, ref int aDesID, ref int aRecordID) { aDesPID = -1; aDesID = -1; aRecordID = -1; if (EMR.TreeNodeIsRecord(aNode)) { aDesID = (aNode.Tag as RecordInfo).DesID; aRecordID = (aNode.Tag as RecordInfo).ID; aDesPID = -1; TreeNode vNode = aNode; while (vNode.Parent != null) { vNode = vNode.Parent; if (EMR.TreeNodeIsRecordDataSet(vNode)) { aDesPID = (vNode.Tag as RecordDataSetInfo).DesPID; break; } } } }
private void 预览全部病程ToolStripMenuItem_Click(object sender, EventArgs e) { if (!EMR.TreeNodeIsRecord(tvRecord.SelectedNode)) { return; } int vDesPID = -1, vDesID = -1, vRecordID = -1; GetNodeRecordInfo(tvRecord.SelectedNode, ref vDesPID, ref vDesID, ref vRecordID); if (vDesPID == DataSetInfo.Proc) { int vPageIndex = GetRecordPageIndex(-vDesPID); if (vPageIndex < 0) { LoadPatientDataSetContent(vDesPID); } else { tabRecord.SelectedIndex = vPageIndex; } } }