You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

417 lines
12 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. using Shentun.Peis.ResultStatuses;
  2. using Shentun.Peis.SumSuggestionHeaders;
  3. using Shentun.Peis.SumSummaryContents;
  4. using Shentun.Peis.SumSummaryHeaders;
  5. using Shentun.Peis.SumSummaryReports;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.ComponentModel.DataAnnotations.Schema;
  9. using System.ComponentModel.DataAnnotations;
  10. using System.Text;
  11. namespace Shentun.Peis.PrintReports
  12. {
  13. /// <summary>
  14. /// 体检报告
  15. /// </summary>
  16. public class MedicalReportDto
  17. {
  18. #region 基础信息
  19. //人员登记ID
  20. public Guid PatientRegisterId { get; set; }
  21. /// <summary>
  22. /// 是个人还是单位体检,Y-是个人,N-是单位
  23. /// </summary>
  24. public char IsPersonal { get; set; }
  25. /// <summary>
  26. /// 顶级单位名称(个人显示个人体检)
  27. /// </summary>
  28. public string CustomerOrgName { get; set; }
  29. /// <summary>
  30. /// 部门(个人显示个人体检)
  31. /// </summary>
  32. public string? DepartmentName { get; set; }
  33. /// <summary>
  34. /// 条码号
  35. /// </summary>
  36. public string PatientRegisterNo { get; set; }
  37. /// <summary>
  38. /// 档案号
  39. /// </summary>
  40. public string PatientNo { get; set; }
  41. /// <summary>
  42. /// 身份证号
  43. /// </summary>
  44. public string IdNo { get; set; }
  45. /// <summary>
  46. /// 体检次数
  47. /// </summary>
  48. public short MedicalTimes { get; set; }
  49. /// <summary>
  50. /// 姓名
  51. /// </summary>
  52. public string PatientName { get; set; }
  53. /// <summary>
  54. /// 性别
  55. /// </summary>
  56. public string? SexName { get; set; }
  57. /// <summary>
  58. /// 年龄
  59. /// </summary>
  60. public short? Age { get; set; }
  61. /// <summary>
  62. /// 出生日期
  63. /// </summary>
  64. public DateTime? BirthDate { get; set; }
  65. /// <summary>
  66. /// 婚姻状况名称
  67. /// </summary>
  68. public string MaritalStatusName { get; set; }
  69. /// <summary>
  70. /// 民族名称
  71. /// </summary>
  72. public string NationName { get; set; }
  73. /// <summary>
  74. /// 手机号码
  75. /// </summary>
  76. public string MobileTelephone { get; set; }
  77. /// <summary>
  78. /// 是否VIP
  79. /// </summary>
  80. public char IsVip { get; set; }
  81. /// <summary>
  82. /// 体检开始日期
  83. /// </summary>
  84. public DateTime? MedicalStartDate { get; set; }
  85. /// <summary>
  86. /// 体检类别名称
  87. /// </summary>
  88. public string MedicalTypeName { get; set; }
  89. /// <summary>
  90. /// 人员类别名称
  91. /// </summary>
  92. public string PersonnelTypeName { get; set; }
  93. /// <summary>
  94. /// 个人套餐或单位分组名称
  95. /// </summary>
  96. public string MedicalPackageOrCustomerOrgGroupName { get; set; }
  97. /// <summary>
  98. /// 总检医生
  99. /// </summary>
  100. public string SummaryDoctorName { get; set; }
  101. /// <summary>
  102. /// 总检日期
  103. /// </summary>
  104. public DateTime? SummaryDate { get; set; }
  105. /// <summary>
  106. /// 审核医生名
  107. /// </summary>
  108. public string AuditDoctorName { get; set; }
  109. /// <summary>
  110. /// 审核日期
  111. /// </summary>
  112. public DateTime? AuditDate { get; set; }
  113. /// <summary>
  114. /// 体检中心ID
  115. /// </summary>
  116. public Guid MedicalCenterId { get; set; }
  117. /// <summary>
  118. /// 体检中心名称
  119. /// </summary>
  120. public string MedicalCenterName { get; set; }
  121. #region 底部系统配置参数
  122. /// <summary>
  123. /// 体检地址
  124. /// </summary>
  125. public string MedicalCenterAddress { get; set; }
  126. /// <summary>
  127. /// 咨讯电话(系统配置联系电话)
  128. /// </summary>
  129. public string MedicalCenterTelphone { get; set; }
  130. #endregion
  131. /// <summary>
  132. /// 体检报告类别
  133. /// </summary>
  134. public List<MedicalReportMedicalReportTypeDto> MedicalReportTypes { get; set; } = new List<MedicalReportMedicalReportTypeDto>();
  135. public List<MedicalReportItemTypeDto> ItemTypes { get; set; } = new List<MedicalReportItemTypeDto>();
  136. #endregion
  137. /// <summary>
  138. /// 综述
  139. /// </summary>
  140. public List<MedicalReportSumSummaryDto> SumSummarys { get; set; } = new List<MedicalReportSumSummaryDto>();
  141. /// <summary>
  142. /// 建议
  143. /// </summary>
  144. public List<MedicalReportSumSuggestionDto> SumSuggestions { get; set; } = new List<MedicalReportSumSuggestionDto>();
  145. /// <summary>
  146. /// 检查组合项目结果
  147. /// </summary>
  148. public List<MedicalReportRegisterCheckDto> RegisterChecks { get; set; } = new List<MedicalReportRegisterCheckDto>();
  149. }
  150. /// <summary>
  151. /// 综述
  152. /// </summary>
  153. public class MedicalReportSumSummaryDto
  154. {
  155. /// <summary>
  156. /// 综述标题
  157. /// </summary>
  158. public string SummaryTitle { get; set; }
  159. /// <summary>
  160. /// 综述标志
  161. /// </summary>
  162. public char? SummaryFlag { get; set; }
  163. /// <summary>
  164. /// 排序值
  165. /// </summary>
  166. public int DisplayOrder { get; set; }
  167. /// <summary>
  168. /// 内容列表
  169. /// </summary>
  170. public List<MedicalReportSumSummaryContentDto> SummaryContents { get; set; } = new List<MedicalReportSumSummaryContentDto>();
  171. }
  172. /// <summary>
  173. /// 综述内容
  174. /// </summary>
  175. public class MedicalReportSumSummaryContentDto
  176. {
  177. /// <summary>
  178. /// 小结内容
  179. /// </summary>
  180. public string SummaryContent { get; set; }
  181. public int DisplayOrder { get; set; }
  182. }
  183. /// <summary>
  184. /// 建议
  185. /// </summary>
  186. public class MedicalReportSumSuggestionDto
  187. {
  188. /// <summary>
  189. /// 建议标题
  190. /// </summary>
  191. public string SuggestionTitle { get; set; }
  192. /// <summary>
  193. /// 建议标志
  194. /// </summary>
  195. public char? SuggestionFlag { get; set; }
  196. /// <summary>
  197. /// 排序值
  198. /// </summary>
  199. public int DisplayOrder { get; set; }
  200. /// <summary>
  201. /// 医学解释
  202. /// </summary>
  203. public List<MedicalReportSumSuggestionContentDto> MedicalInterpretations { get; set; } = new List<MedicalReportSumSuggestionContentDto>();
  204. /// <summary>
  205. /// 常见原因
  206. /// </summary>
  207. public List<MedicalReportSumSuggestionContentDto> CommonReasons { get; set; } = new List<MedicalReportSumSuggestionContentDto>();
  208. /// <summary>
  209. /// 健康指导
  210. /// </summary>
  211. public List<MedicalReportSumSuggestionContentDto> HealthGuidances { get; set; } = new List<MedicalReportSumSuggestionContentDto>();
  212. }
  213. /// <summary>
  214. /// 建议内容
  215. /// </summary>
  216. public class MedicalReportSumSuggestionContentDto
  217. {
  218. /// <summary>
  219. /// 建议内容
  220. /// </summary>
  221. public string SuggestionContent { get; set; }
  222. /// <summary>
  223. /// 显示顺序
  224. /// </summary>
  225. public int DisplayOrder { get; set; }
  226. }
  227. /// <summary>
  228. /// 组合项目检查结果
  229. /// </summary>
  230. public class MedicalReportRegisterCheckDto
  231. {
  232. /// <summary>
  233. /// 项目类别ID
  234. /// </summary>
  235. public Guid ItemTypeId { get; set; }
  236. /// <summary>
  237. /// 组合项目名称,如果有多个组合项目用逗号隔开
  238. /// </summary>
  239. public string AsbitemNames { get; set; }
  240. public int DisplayOrder { get; set; }
  241. /// <summary>
  242. /// 检查医生
  243. /// </summary>
  244. public string CheckDoctorName { get; set; }
  245. /// <summary>
  246. /// 检查日期
  247. /// </summary>
  248. public DateTime CheckDate { get; set; }
  249. /// <summary>
  250. /// lis审核医生
  251. /// </summary>
  252. public string LisAuditorDoctorName { get; set; }
  253. /// <summary>
  254. /// lis标本号
  255. /// </summary>
  256. public string LisSampleNo { get; set; }
  257. /// <summary>
  258. /// 项目类别下的组合项目列表
  259. /// </summary>
  260. public List<MedicalReportCheckItemDto> Items { get; set; } = new List<MedicalReportCheckItemDto>();
  261. /// <summary>
  262. /// 小结
  263. /// </summary>
  264. public List<MedicalReportCheckAsbitemSummaryDto> Summarys { get; set; } = new List<MedicalReportCheckAsbitemSummaryDto>();
  265. /// <summary>
  266. /// 图片
  267. /// </summary>
  268. public List<MedicalReportCheckPictureDto> Pictures { get; set; } = new List<MedicalReportCheckPictureDto>();
  269. }
  270. /// <summary>
  271. /// 明细检查项目结果
  272. /// </summary>
  273. public class MedicalReportCheckItemDto
  274. {
  275. public Guid ItemId { get; set; }
  276. /// <summary>
  277. /// 项目名称
  278. /// </summary>
  279. public string ItemName { get; set; }
  280. /// <summary>
  281. /// 项目结果
  282. /// </summary>
  283. public string Result { get; set; }
  284. /// <summary>
  285. /// 参考范围
  286. /// </summary>
  287. public string ReferenceRangeValue { get; set; }
  288. /// <summary>
  289. /// 危急值范围
  290. /// </summary>
  291. public string CriticalRangeValue { get; set; }
  292. /// <summary>
  293. /// 项目单位
  294. /// </summary>
  295. public string Unit { get; set; }
  296. /// <summary>
  297. /// 数据字体颜色
  298. /// </summary>
  299. public int ReportFontColor { get; set; }
  300. /// <summary>
  301. /// 数据背景颜色
  302. /// </summary>
  303. public int ReportBackgroundColor { get; set; }
  304. /// <summary>
  305. /// 提示
  306. /// </summary>
  307. public string ReportPrompt { get; set; }
  308. /// <summary>
  309. /// 显示顺序
  310. /// </summary>
  311. public int DisplayOrder { get; set; }
  312. }
  313. /// <summary>
  314. /// 组合项目检查小结
  315. /// </summary>
  316. public class MedicalReportCheckAsbitemSummaryDto
  317. {
  318. /// <summary>
  319. /// 小结内容
  320. /// </summary>
  321. public string Summary { get; set; }
  322. /// <summary>
  323. /// 显示顺序
  324. /// </summary>
  325. public int DisplayOrder { get; set; }
  326. }
  327. public class MedicalReportCheckPictureDto
  328. {
  329. /// <summary>
  330. /// 图片文件名
  331. /// </summary>
  332. public string PictureFileName{ get; set; }
  333. /// <summary>
  334. /// 图片base64码
  335. /// </summary>
  336. public string PictureBase64 { get; set; }
  337. /// <summary>
  338. /// 图片文件类型 0-仪器图片,1-报告文件,默认是0
  339. /// </summary>
  340. public char PictureFileType { get; set; }
  341. /// <summary>
  342. /// 显示顺序
  343. /// </summary>
  344. public int DisplayOrder { get; set; }
  345. }
  346. /// <summary>
  347. /// 体检报告类别
  348. /// </summary>
  349. public class MedicalReportMedicalReportTypeDto
  350. {
  351. public char MedicalReportTypeId { get; set; }
  352. public string MedicalReportTypeName { get; set; }
  353. /// <summary>
  354. /// 显示顺序
  355. /// </summary>
  356. public int DisplayOrder { get; set; }
  357. }
  358. /// <summary>
  359. /// 项目类别
  360. /// </summary>
  361. public class MedicalReportItemTypeDto
  362. {
  363. /// <summary>
  364. /// 体检报告类别
  365. /// </summary>
  366. public char MedicalReportTypeId { get; set; }
  367. /// <summary>
  368. /// 项目类别编号
  369. /// </summary>
  370. public Guid ItemTypeId { get; set; }
  371. /// <summary>
  372. /// 项目类别多级编码
  373. /// </summary>
  374. public string ItemTypePathCode { get; set; }
  375. /// <summary>
  376. /// 项目类别名
  377. /// </summary>
  378. public string ItemTypeName { get; set; }
  379. /// <summary>
  380. /// 显示顺序
  381. /// </summary>
  382. public int DisplayOrder { get; set; }
  383. }
  384. }