实现医生工作站中处方录入功能的代码(六)
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)
列名 |
数据类型 |
主键/外键 |
说明 |
PatientID |
int - Identity |
主键 |
病人ID |
PatientCardNumber |
nchar (50) |
|
病人卡号 |
PatientName |
nchar (30) |
|
病人名称 |
AS_SexID |
int |
外键 |
性别ID |
Birthday |
datetime |
|
出生年月 |
IDCardNo |
nchar (50) |
|
身份证号 |
AS_MaritalStatusID |
int |
外键 |
婚姻情况ID |
Profession |
nchar (50) |
|
所在职业 |
MemberTypeID |
int |
外键 |
会员类型ID |
MedicareCardNumber |
nchar (50) |
|
医保卡号 |
AS_InsuredTypeID |
int |
外键 |
参保类型ID | <