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();
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private void  除ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (!EMR.TreeNodeIsRecord(tvRecord.SelectedNode))
            {
                return;
            }

            int vDesPID = -1, vDesID = -1, vRecordID = -1;

            EMR.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("删除成功!");
                    }
                }
            }
        }
Ejemplo n.º 3
0
        private void 签名ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (!EMR.TreeNodeIsRecord(tvRecord.SelectedNode))
            {
                return;
            }

            int vDesPID = -1, vDesID = -1, vRecordID = -1;

            EMR.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;
                }
            }
        }
Ejemplo n.º 4
0
        private void 导出XML结构ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (!EMR.TreeNodeIsRecord(tvRecord.SelectedNode))
            {
                return;
            }

            int vDesPID = -1, vDesID = -1, vRecordID = -1;

            EMR.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);
                }
            }
        }
Ejemplo n.º 5
0
        private void 编辑ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (!EMR.TreeNodeIsRecord(tvRecord.SelectedNode))
            {
                return;
            }

            int vDesPID = -1, vDesID = -1, vRecordID = -1;

            EMR.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);
                }
            }
        }
Ejemplo n.º 6
0
        private void 查看ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (!EMR.TreeNodeIsRecord(tvRecord.SelectedNode))
            {
                return;
            }

            int vDesPID = -1, vDesID = -1, vRecordID = -1;

            EMR.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);
            }
        }