实现医生工作站中处方录入功能的代码(六)
3.2.2处方录入
3.2.2.1处方录入主界面
处方录入这个模块可以实现医生根据病人病历来开药方,点击3.2.2.1(图1)”新增“按钮弹出医生开取药方的界面,供医生开药;同样点击3.2.2.1(图2)” 修改“按钮弹出医生修改处方的界面,供医生对错误的处方单进行修改;还可以根据处方编号、病人名称等进行多条件查询处方单。点击每一条处方单多可以在处方明细中查询相对应的药品信息。
主界面效果图:
3.2.2.1(图1)
从界面上可以看到我们这里用到的控件有:
| 控件名称 |
说明 |
| 组装箱控件groupBox |
第一要设置每个控件的Text,第二设置控件Name;不同的是dataGridView右键进行编辑列。 |
| 标签控件lable |
|
| 文本框控件textBox |
|
| 下拉框控件comboBox |
|
| 按钮控件button |
|
| 表格控件dataGridView |
|
| 时间控件dateTimePicker |
|
查询功能实现:
第一步:数据库
1、表与关系
3.2.2.1(图2)
表1:处方单表(PW_OrdonnanceTable)
| 列名 |
数据类型 |
主键/外键 |
说明 |
| OrdonnanceID |
int - Identity |
主键 |
处方单ID |
| OrdonnanceNumber |
nchar (30) |
|
处方单号 |
| PatientID |
int |
外键 |
病人ID |
| PrescriptionDate |
datetime |
|
处方时间 |
| ClinicTechnicalOffices_TechnicalOfficesID |
int |
外键 |
就诊科室_科室ID |
| TreatmentDoctor_StaffID |
int |
外键 |
就诊医生_员工ID |
| AS_ChargeStatusID |
int |
外键 |
收费状态ID |
| ChargeForPersonnel_StaffID |
int |
外键 |
收费人员_员工ID |
| ChargeTime |
datetime |
|
收费时间 |
| AS_TakeMedicineStatusID |
int |
外键 |
发药状态ID |
| TakeMedicinePersonnel_StaffID |
int |
外键 |
发药人员_员工ID |
| TakeMedicineTime |
datetime |
|
发药时间 |
| BedID |
int |
外键 |
床位ID |
| OutpatientMedicalRecordsTemplateID |
int |
外键 |
门诊病历模板ID |
| WhetherEffective |
bit |
|
有效否 |
表2:处方单明细表(PW_OrdonnanceDetailTable)
| 列名 |
数据类型 |
主键/外键 |
说明 |
| OrdonnanceDetailID |
int - Identity |
主键 |
处方单明细ID |
| OrdonnanceID |
int |
外键 |
处方单ID |
| OrdonnanceDetailType |
nchar (50) |
|
处方单明细类型 |
| OrdonnanceDetailEncoding |
nchar (30) |
|
处方单明细编码 |
| DrugID |
int |
外键 |
药品ID |
| ItemID |
int |
外键 |
项目ID |
| TotalDrug |
nchar (50) |
|
用药总量 |
| EachAgent |
nchar (50) |
|
每剂用量 |
| AS_DrugUseMannerID |
int |
外键 |
用药方式ID |
| AS_DDDSID |
int |
外键 |
用药频率ID |
| Remarks |
nchar (100) |
|
备注 |
| WhetherEffective |
bit |
|
有效否 |
表3:药品表(BT_OutpatientMedicalRecordsTemplateTable)
| 列名 |
数据类型 |
主键/外键 |
说明 |
| OutpatientMedicalRecordsTemplateID |
int - Identity |
主键 |
门诊病历模板ID |
| TemplateNumber |
nchar (50) |
|
模板编号 |
| TemplateName |
nchar (50) |
|
模板名称 |
| WriteDoctor_StaffID |
int |
外键 |
撰写医生_员工ID |
| WriteTechnicalOfficesID |
int |
外键 |
撰写科室_科室ID |
| AS_TemplateTypeID |
int |
外键 |
模板类型ID |
| AS_InvokingJurisdictionID |
int |
外键 |
调用权限ID |
| WhetherOperation |
bit |
|
是否手术 |
| TemplateRemarks |
nchar (200) |
|
模板备注 |
| SuitCase |
nchar (200) |
|
适合情况 |
| PatientActionInChief |
nchar (300) |
|
病人主诉 |
| PatientMedicalHistory |
nchar (300) |
|
病人病史 |
| PhysicalExaminationCase |
nchar (300) |
|
体检情况 |
| InitialDiagnosis |
nchar (300) |
|
初步诊断 |
| DisposeIdea |
nchar (300) |
|
处理意见 |
| WhetherEffective |
bit |
|
有效否 |
| RegisterID |
int |
外键 |
挂号ID |
表4:挂号表(PW_RegisterTable)
| 列名 |
数据类型 |
主键/外键 |
说明 |
| RegisterID |
int - Identity |
主键 |
挂号ID |
| RegisterNumber |
nchar (50) |
|
挂号单号 |
| PatientID |
int |
外键 |
病人ID |
| AS_SettleAccountsWayID |
int |
外键 |
结算方式ID |
| TechnicalOfficesID |
int |
外键 |
科室ID |
| Doctor_StaffID |
int |
外键 |
医生_员工ID |
| RegisterSum |
decimal (18, 2) |
|
挂号金额 |
| DiagnosisFee |
decimal (18, 2) |
|
诊察费 |
| CaseHistorySum |
decimal (18, 2) |
|
病历金额 |
| RegisterRemarks |
nchar (50) |
|
挂号备注 |
| RegisterTime |
datetime |
|
挂号时间 |
| AS_RegisterStatusID |
int |
外键 |
挂号状态ID |
| ClassesID |
int |
外键 |
班次ID |
| InvoiceNumber |
nchar (50) |
|
发票号 |
| RegisterOperator_StaffID |
int |
外键 |
挂号人员_员工ID |
| WhetherEffective |
bit |
|
有效否 |
| NullifyRemarks |
nchar (100) |
|
作废备注 |
| NullifyOperator_StaffID |
int |
外键 |
作废操作员_员工ID |
表5:病人表(BT_PatientTable)
| 列名 |
数据类型 |

本文详细介绍了如何实现医生工作站中的处方录入功能,包括处方录入主界面、新增和修改处方的功能代码,涉及到数据库表结构和多条件查询、删除操作。此外,还涵盖了新增处方时调用处方模板和移除药品的操作,以及修改处方信息的功能实现。
747

被折叠的 条评论
为什么被折叠?



