vitalFollowUp.m.dart 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681
  1. import 'liveConsultation.m.dart';
  2. import 'notification.m.dart';
  3. import 'vitalContractRecord.m.dart';
  4. import 'device.m.dart';
  5. import 'package:fis_jsonrpc/utils.dart';
  6. enum FollowUpModeEnum {
  7. Outpatient,
  8. Visit,
  9. Phone,
  10. }
  11. class CreateFollowUpRequest extends TokenRequest{
  12. String? code;
  13. String? key;
  14. String? patientCode;
  15. String? contractedDoctor;
  16. String? followUpData;
  17. String? templateCode;
  18. DateTime? followUpTime;
  19. DateTime? nextFollowUpTime;
  20. FollowUpModeEnum followUpMode;
  21. List<String>? followUpPhotos;
  22. CreateFollowUpRequest({
  23. this.code,
  24. this.key,
  25. this.patientCode,
  26. this.contractedDoctor,
  27. this.followUpData,
  28. this.templateCode,
  29. this.followUpTime,
  30. this.nextFollowUpTime,
  31. this.followUpMode = FollowUpModeEnum.Outpatient,
  32. this.followUpPhotos,
  33. String? token,
  34. }) : super(
  35. token: token,
  36. );
  37. factory CreateFollowUpRequest.fromJson(Map<String, dynamic> map) {
  38. return CreateFollowUpRequest(
  39. code: map['Code'],
  40. key: map['Key'],
  41. patientCode: map['PatientCode'],
  42. contractedDoctor: map['ContractedDoctor'],
  43. followUpData: map['FollowUpData'],
  44. templateCode: map['TemplateCode'],
  45. followUpTime: map['FollowUpTime'] != null ? DateTime.parse(map['FollowUpTime']) : null,
  46. nextFollowUpTime: map['NextFollowUpTime'] != null ? DateTime.parse(map['NextFollowUpTime']) : null,
  47. followUpMode: FollowUpModeEnum.values.firstWhere((e) => e.index == map['FollowUpMode']),
  48. followUpPhotos: map['FollowUpPhotos']?.cast<String>().toList(),
  49. token: map['Token'],
  50. );
  51. }
  52. Map<String, dynamic> toJson() {
  53. final map = super.toJson();
  54. if (code != null)
  55. map['Code'] = code;
  56. if (key != null)
  57. map['Key'] = key;
  58. if (patientCode != null)
  59. map['PatientCode'] = patientCode;
  60. if (contractedDoctor != null)
  61. map['ContractedDoctor'] = contractedDoctor;
  62. if (followUpData != null)
  63. map['FollowUpData'] = followUpData;
  64. if (templateCode != null)
  65. map['TemplateCode'] = templateCode;
  66. if (followUpTime != null)
  67. map['FollowUpTime'] = JsonRpcUtils.dateFormat(followUpTime!);
  68. if (nextFollowUpTime != null)
  69. map['NextFollowUpTime'] = JsonRpcUtils.dateFormat(nextFollowUpTime!);
  70. map['FollowUpMode'] = followUpMode.index;
  71. if (followUpPhotos != null)
  72. map['FollowUpPhotos'] = followUpPhotos;
  73. return map;
  74. }
  75. }
  76. enum FollowUpStateEnum {
  77. NoFollowUp,
  78. FollowUpVisit,
  79. Cancelled,
  80. }
  81. class FollowUpDTO extends BaseDTO{
  82. String? code;
  83. String? key;
  84. String? patientCode;
  85. String? contractedDoctorCode;
  86. String? contractedDoctor;
  87. String? followUpData;
  88. String? patientName;
  89. String? cardNo;
  90. GenderEnum patientGender;
  91. String? patientAddress;
  92. DateTime? birthday;
  93. FollowUpStateEnum followUpState;
  94. String? templateCode;
  95. DateTime? followUpTime;
  96. DateTime? nextFollowUpTime;
  97. FollowUpModeEnum? followUpMode;
  98. List<String>? followUpPhotos;
  99. String? followUpDoctorCode;
  100. String? followUpDoctor;
  101. FollowUpDTO({
  102. this.code,
  103. this.key,
  104. this.patientCode,
  105. this.contractedDoctorCode,
  106. this.contractedDoctor,
  107. this.followUpData,
  108. this.patientName,
  109. this.cardNo,
  110. this.patientGender = GenderEnum.Unknown,
  111. this.patientAddress,
  112. this.birthday,
  113. this.followUpState = FollowUpStateEnum.NoFollowUp,
  114. this.templateCode,
  115. this.followUpTime,
  116. this.nextFollowUpTime,
  117. this.followUpMode,
  118. this.followUpPhotos,
  119. this.followUpDoctorCode,
  120. this.followUpDoctor,
  121. DateTime? createTime,
  122. DateTime? updateTime,
  123. }) : super(
  124. createTime: createTime,
  125. updateTime: updateTime,
  126. );
  127. factory FollowUpDTO.fromJson(Map<String, dynamic> map) {
  128. return FollowUpDTO(
  129. code: map['Code'],
  130. key: map['Key'],
  131. patientCode: map['PatientCode'],
  132. contractedDoctorCode: map['ContractedDoctorCode'],
  133. contractedDoctor: map['ContractedDoctor'],
  134. followUpData: map['FollowUpData'],
  135. patientName: map['PatientName'],
  136. cardNo: map['CardNo'],
  137. patientGender: GenderEnum.values.firstWhere((e) => e.index == map['PatientGender']),
  138. patientAddress: map['PatientAddress'],
  139. birthday: map['Birthday'] != null ? DateTime.parse(map['Birthday']) : null,
  140. followUpState: FollowUpStateEnum.values.firstWhere((e) => e.index == map['FollowUpState']),
  141. templateCode: map['TemplateCode'],
  142. followUpTime: map['FollowUpTime'] != null ? DateTime.parse(map['FollowUpTime']) : null,
  143. nextFollowUpTime: map['NextFollowUpTime'] != null ? DateTime.parse(map['NextFollowUpTime']) : null,
  144. followUpMode: map['FollowUpMode'] != null ? FollowUpModeEnum.values.firstWhere((e) => e.index == map['FollowUpMode']) : null,
  145. followUpPhotos: map['FollowUpPhotos']?.cast<String>().toList(),
  146. followUpDoctorCode: map['FollowUpDoctorCode'],
  147. followUpDoctor: map['FollowUpDoctor'],
  148. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  149. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  150. );
  151. }
  152. Map<String, dynamic> toJson() {
  153. final map = super.toJson();
  154. if (code != null)
  155. map['Code'] = code;
  156. if (key != null)
  157. map['Key'] = key;
  158. if (patientCode != null)
  159. map['PatientCode'] = patientCode;
  160. if (contractedDoctorCode != null)
  161. map['ContractedDoctorCode'] = contractedDoctorCode;
  162. if (contractedDoctor != null)
  163. map['ContractedDoctor'] = contractedDoctor;
  164. if (followUpData != null)
  165. map['FollowUpData'] = followUpData;
  166. if (patientName != null)
  167. map['PatientName'] = patientName;
  168. if (cardNo != null)
  169. map['CardNo'] = cardNo;
  170. map['PatientGender'] = patientGender.index;
  171. if (patientAddress != null)
  172. map['PatientAddress'] = patientAddress;
  173. if (birthday != null)
  174. map['Birthday'] = JsonRpcUtils.dateFormat(birthday!);
  175. map['FollowUpState'] = followUpState.index;
  176. if (templateCode != null)
  177. map['TemplateCode'] = templateCode;
  178. if (followUpTime != null)
  179. map['FollowUpTime'] = JsonRpcUtils.dateFormat(followUpTime!);
  180. if (nextFollowUpTime != null)
  181. map['NextFollowUpTime'] = JsonRpcUtils.dateFormat(nextFollowUpTime!);
  182. if (followUpMode != null)
  183. map['FollowUpMode'] = followUpMode;
  184. if (followUpPhotos != null)
  185. map['FollowUpPhotos'] = followUpPhotos;
  186. if (followUpDoctorCode != null)
  187. map['FollowUpDoctorCode'] = followUpDoctorCode;
  188. if (followUpDoctor != null)
  189. map['FollowUpDoctor'] = followUpDoctor;
  190. return map;
  191. }
  192. }
  193. class GetFollowUpRequest extends TokenRequest{
  194. String? code;
  195. GetFollowUpRequest({
  196. this.code,
  197. String? token,
  198. }) : super(
  199. token: token,
  200. );
  201. factory GetFollowUpRequest.fromJson(Map<String, dynamic> map) {
  202. return GetFollowUpRequest(
  203. code: map['Code'],
  204. token: map['Token'],
  205. );
  206. }
  207. Map<String, dynamic> toJson() {
  208. final map = super.toJson();
  209. if (code != null)
  210. map['Code'] = code;
  211. return map;
  212. }
  213. }
  214. class GetFollowUpByKeyRequest extends TokenRequest{
  215. String? key;
  216. String? value;
  217. GetFollowUpByKeyRequest({
  218. this.key,
  219. this.value,
  220. String? token,
  221. }) : super(
  222. token: token,
  223. );
  224. factory GetFollowUpByKeyRequest.fromJson(Map<String, dynamic> map) {
  225. return GetFollowUpByKeyRequest(
  226. key: map['Key'],
  227. value: map['Value'],
  228. token: map['Token'],
  229. );
  230. }
  231. Map<String, dynamic> toJson() {
  232. final map = super.toJson();
  233. if (key != null)
  234. map['Key'] = key;
  235. if (value != null)
  236. map['Value'] = value;
  237. return map;
  238. }
  239. }
  240. class FollowUpPageRequest extends PageRequest{
  241. FollowUpPageRequest({
  242. int pageIndex = 0,
  243. int pageSize = 0,
  244. String? token,
  245. }) : super(
  246. pageIndex: pageIndex,
  247. pageSize: pageSize,
  248. token: token,
  249. );
  250. factory FollowUpPageRequest.fromJson(Map<String, dynamic> map) {
  251. return FollowUpPageRequest(
  252. pageIndex: map['PageIndex'],
  253. pageSize: map['PageSize'],
  254. token: map['Token'],
  255. );
  256. }
  257. Map<String, dynamic> toJson() {
  258. final map = super.toJson();
  259. return map;
  260. }
  261. }
  262. class RemoveFollowUpRequest extends TokenRequest{
  263. String? code;
  264. RemoveFollowUpRequest({
  265. this.code,
  266. String? token,
  267. }) : super(
  268. token: token,
  269. );
  270. factory RemoveFollowUpRequest.fromJson(Map<String, dynamic> map) {
  271. return RemoveFollowUpRequest(
  272. code: map['Code'],
  273. token: map['Token'],
  274. );
  275. }
  276. Map<String, dynamic> toJson() {
  277. final map = super.toJson();
  278. if (code != null)
  279. map['Code'] = code;
  280. return map;
  281. }
  282. }
  283. class GetFollowUpListRequest extends TokenRequest{
  284. List<String>? codes;
  285. GetFollowUpListRequest({
  286. this.codes,
  287. String? token,
  288. }) : super(
  289. token: token,
  290. );
  291. factory GetFollowUpListRequest.fromJson(Map<String, dynamic> map) {
  292. return GetFollowUpListRequest(
  293. codes: map['Codes']?.cast<String>().toList(),
  294. token: map['Token'],
  295. );
  296. }
  297. Map<String, dynamic> toJson() {
  298. final map = super.toJson();
  299. if (codes != null)
  300. map['Codes'] = codes;
  301. return map;
  302. }
  303. }
  304. class UpdateFollowUpRequest extends TokenRequest{
  305. String? code;
  306. String? key;
  307. String? followUpData;
  308. FollowUpStateEnum? followUpState;
  309. DateTime? followUpTime;
  310. DateTime? nextFollowUpTime;
  311. FollowUpModeEnum? followUpMode;
  312. List<String>? followUpPhotos;
  313. UpdateFollowUpRequest({
  314. this.code,
  315. this.key,
  316. this.followUpData,
  317. this.followUpState,
  318. this.followUpTime,
  319. this.nextFollowUpTime,
  320. this.followUpMode,
  321. this.followUpPhotos,
  322. String? token,
  323. }) : super(
  324. token: token,
  325. );
  326. factory UpdateFollowUpRequest.fromJson(Map<String, dynamic> map) {
  327. return UpdateFollowUpRequest(
  328. code: map['Code'],
  329. key: map['Key'],
  330. followUpData: map['FollowUpData'],
  331. followUpState: map['FollowUpState'] != null ? FollowUpStateEnum.values.firstWhere((e) => e.index == map['FollowUpState']) : null,
  332. followUpTime: map['FollowUpTime'] != null ? DateTime.parse(map['FollowUpTime']) : null,
  333. nextFollowUpTime: map['NextFollowUpTime'] != null ? DateTime.parse(map['NextFollowUpTime']) : null,
  334. followUpMode: map['FollowUpMode'] != null ? FollowUpModeEnum.values.firstWhere((e) => e.index == map['FollowUpMode']) : null,
  335. followUpPhotos: map['FollowUpPhotos']?.cast<String>().toList(),
  336. token: map['Token'],
  337. );
  338. }
  339. Map<String, dynamic> toJson() {
  340. final map = super.toJson();
  341. if (code != null)
  342. map['Code'] = code;
  343. if (key != null)
  344. map['Key'] = key;
  345. if (followUpData != null)
  346. map['FollowUpData'] = followUpData;
  347. if (followUpState != null)
  348. map['FollowUpState'] = followUpState;
  349. if (followUpTime != null)
  350. map['FollowUpTime'] = JsonRpcUtils.dateFormat(followUpTime!);
  351. if (nextFollowUpTime != null)
  352. map['NextFollowUpTime'] = JsonRpcUtils.dateFormat(nextFollowUpTime!);
  353. if (followUpMode != null)
  354. map['FollowUpMode'] = followUpMode;
  355. if (followUpPhotos != null)
  356. map['FollowUpPhotos'] = followUpPhotos;
  357. return map;
  358. }
  359. }
  360. class GetFollowUpPageByKeyRequest extends PageRequest{
  361. String? key;
  362. String? patientCode;
  363. GetFollowUpPageByKeyRequest({
  364. this.key,
  365. this.patientCode,
  366. int pageIndex = 0,
  367. int pageSize = 0,
  368. String? token,
  369. }) : super(
  370. pageIndex: pageIndex,
  371. pageSize: pageSize,
  372. token: token,
  373. );
  374. factory GetFollowUpPageByKeyRequest.fromJson(Map<String, dynamic> map) {
  375. return GetFollowUpPageByKeyRequest(
  376. key: map['Key'],
  377. patientCode: map['PatientCode'],
  378. pageIndex: map['PageIndex'],
  379. pageSize: map['PageSize'],
  380. token: map['Token'],
  381. );
  382. }
  383. Map<String, dynamic> toJson() {
  384. final map = super.toJson();
  385. if (key != null)
  386. map['Key'] = key;
  387. if (patientCode != null)
  388. map['PatientCode'] = patientCode;
  389. return map;
  390. }
  391. }
  392. class GetFollowUpPatientPageByKeyRequest extends PageRequest{
  393. String? key;
  394. FollowUpStateEnum? followUpState;
  395. GetFollowUpPatientPageByKeyRequest({
  396. this.key,
  397. this.followUpState,
  398. int pageIndex = 0,
  399. int pageSize = 0,
  400. String? token,
  401. }) : super(
  402. pageIndex: pageIndex,
  403. pageSize: pageSize,
  404. token: token,
  405. );
  406. factory GetFollowUpPatientPageByKeyRequest.fromJson(Map<String, dynamic> map) {
  407. return GetFollowUpPatientPageByKeyRequest(
  408. key: map['Key'],
  409. followUpState: map['FollowUpState'] != null ? FollowUpStateEnum.values.firstWhere((e) => e.index == map['FollowUpState']) : null,
  410. pageIndex: map['PageIndex'],
  411. pageSize: map['PageSize'],
  412. token: map['Token'],
  413. );
  414. }
  415. Map<String, dynamic> toJson() {
  416. final map = super.toJson();
  417. if (key != null)
  418. map['Key'] = key;
  419. if (followUpState != null)
  420. map['FollowUpState'] = followUpState;
  421. return map;
  422. }
  423. }
  424. class FollowUpRecordDataDTO {
  425. String? key;
  426. String? code;
  427. String? followUpData;
  428. String? templateCode;
  429. DateTime? followUpTime;
  430. DateTime? nextFollowUpTime;
  431. FollowUpModeEnum? followUpMode;
  432. FollowUpStateEnum followUpState;
  433. String? followUpDoctor;
  434. String? followUpDoctorCode;
  435. List<String>? followUpPhotos;
  436. String? followUpDoctorSignature;
  437. FollowUpRecordDataDTO({
  438. this.key,
  439. this.code,
  440. this.followUpData,
  441. this.templateCode,
  442. this.followUpTime,
  443. this.nextFollowUpTime,
  444. this.followUpMode,
  445. this.followUpState = FollowUpStateEnum.NoFollowUp,
  446. this.followUpDoctor,
  447. this.followUpDoctorCode,
  448. this.followUpPhotos,
  449. this.followUpDoctorSignature,
  450. });
  451. factory FollowUpRecordDataDTO.fromJson(Map<String, dynamic> map) {
  452. return FollowUpRecordDataDTO(
  453. key: map['Key'],
  454. code: map['Code'],
  455. followUpData: map['FollowUpData'],
  456. templateCode: map['TemplateCode'],
  457. followUpTime: map['FollowUpTime'] != null ? DateTime.parse(map['FollowUpTime']) : null,
  458. nextFollowUpTime: map['NextFollowUpTime'] != null ? DateTime.parse(map['NextFollowUpTime']) : null,
  459. followUpMode: map['FollowUpMode'] != null ? FollowUpModeEnum.values.firstWhere((e) => e.index == map['FollowUpMode']) : null,
  460. followUpState: FollowUpStateEnum.values.firstWhere((e) => e.index == map['FollowUpState']),
  461. followUpDoctor: map['FollowUpDoctor'],
  462. followUpDoctorCode: map['FollowUpDoctorCode'],
  463. followUpPhotos: map['FollowUpPhotos']?.cast<String>().toList(),
  464. followUpDoctorSignature: map['FollowUpDoctorSignature'],
  465. );
  466. }
  467. Map<String, dynamic> toJson() {
  468. final map = Map<String, dynamic>();
  469. if (key != null) {
  470. map['Key'] = key;
  471. }
  472. if (code != null) {
  473. map['Code'] = code;
  474. }
  475. if (followUpData != null) {
  476. map['FollowUpData'] = followUpData;
  477. }
  478. if (templateCode != null) {
  479. map['TemplateCode'] = templateCode;
  480. }
  481. if (followUpTime != null) {
  482. map['FollowUpTime'] = JsonRpcUtils.dateFormat(followUpTime!);
  483. }
  484. if (nextFollowUpTime != null) {
  485. map['NextFollowUpTime'] = JsonRpcUtils.dateFormat(nextFollowUpTime!);
  486. }
  487. if (followUpMode != null) {
  488. map['FollowUpMode'] = followUpMode;
  489. }
  490. map['FollowUpState'] = followUpState.index;
  491. if (followUpDoctor != null) {
  492. map['FollowUpDoctor'] = followUpDoctor;
  493. }
  494. if (followUpDoctorCode != null) {
  495. map['FollowUpDoctorCode'] = followUpDoctorCode;
  496. }
  497. if (followUpPhotos != null) {
  498. map['FollowUpPhotos'] = followUpPhotos;
  499. }
  500. if (followUpDoctorSignature != null) {
  501. map['FollowUpDoctorSignature'] = followUpDoctorSignature;
  502. }
  503. return map;
  504. }
  505. }
  506. class FollowUpRecordDTO {
  507. String? contractedDoctor;
  508. String? contractedDoctorCode;
  509. String? patientName;
  510. String? cardNo;
  511. GenderEnum patientGender;
  512. String? patientAddress;
  513. DateTime? birthday;
  514. List<FollowUpRecordDataDTO>? followUpRecordDatas;
  515. FollowUpRecordDTO({
  516. this.contractedDoctor,
  517. this.contractedDoctorCode,
  518. this.patientName,
  519. this.cardNo,
  520. this.patientGender = GenderEnum.Unknown,
  521. this.patientAddress,
  522. this.birthday,
  523. this.followUpRecordDatas,
  524. });
  525. factory FollowUpRecordDTO.fromJson(Map<String, dynamic> map) {
  526. return FollowUpRecordDTO(
  527. contractedDoctor: map['ContractedDoctor'],
  528. contractedDoctorCode: map['ContractedDoctorCode'],
  529. patientName: map['PatientName'],
  530. cardNo: map['CardNo'],
  531. patientGender: GenderEnum.values.firstWhere((e) => e.index == map['PatientGender']),
  532. patientAddress: map['PatientAddress'],
  533. birthday: map['Birthday'] != null ? DateTime.parse(map['Birthday']) : null,
  534. followUpRecordDatas: map['FollowUpRecordDatas'] != null ? (map['FollowUpRecordDatas'] as List).map((e)=>FollowUpRecordDataDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  535. );
  536. }
  537. Map<String, dynamic> toJson() {
  538. final map = Map<String, dynamic>();
  539. if (contractedDoctor != null) {
  540. map['ContractedDoctor'] = contractedDoctor;
  541. }
  542. if (contractedDoctorCode != null) {
  543. map['ContractedDoctorCode'] = contractedDoctorCode;
  544. }
  545. if (patientName != null) {
  546. map['PatientName'] = patientName;
  547. }
  548. if (cardNo != null) {
  549. map['CardNo'] = cardNo;
  550. }
  551. map['PatientGender'] = patientGender.index;
  552. if (patientAddress != null) {
  553. map['PatientAddress'] = patientAddress;
  554. }
  555. if (birthday != null) {
  556. map['Birthday'] = JsonRpcUtils.dateFormat(birthday!);
  557. }
  558. if (followUpRecordDatas != null) {
  559. map['FollowUpRecordDatas'] = followUpRecordDatas;
  560. }
  561. return map;
  562. }
  563. }
  564. class GetFollowUpRecordListRequest extends TokenRequest{
  565. List<String>? keys;
  566. String? patientCode;
  567. GetFollowUpRecordListRequest({
  568. this.keys,
  569. this.patientCode,
  570. String? token,
  571. }) : super(
  572. token: token,
  573. );
  574. factory GetFollowUpRecordListRequest.fromJson(Map<String, dynamic> map) {
  575. return GetFollowUpRecordListRequest(
  576. keys: map['Keys']?.cast<String>().toList(),
  577. patientCode: map['PatientCode'],
  578. token: map['Token'],
  579. );
  580. }
  581. Map<String, dynamic> toJson() {
  582. final map = super.toJson();
  583. if (keys != null)
  584. map['Keys'] = keys;
  585. if (patientCode != null)
  586. map['PatientCode'] = patientCode;
  587. return map;
  588. }
  589. }
  590. class GetFollowUpRecordListByYearRequest extends TokenRequest{
  591. List<String>? keys;
  592. String? patientCode;
  593. String? year;
  594. GetFollowUpRecordListByYearRequest({
  595. this.keys,
  596. this.patientCode,
  597. this.year,
  598. String? token,
  599. }) : super(
  600. token: token,
  601. );
  602. factory GetFollowUpRecordListByYearRequest.fromJson(Map<String, dynamic> map) {
  603. return GetFollowUpRecordListByYearRequest(
  604. keys: map['Keys']?.cast<String>().toList(),
  605. patientCode: map['PatientCode'],
  606. year: map['Year'],
  607. token: map['Token'],
  608. );
  609. }
  610. Map<String, dynamic> toJson() {
  611. final map = super.toJson();
  612. if (keys != null)
  613. map['Keys'] = keys;
  614. if (patientCode != null)
  615. map['PatientCode'] = patientCode;
  616. if (year != null)
  617. map['Year'] = year;
  618. return map;
  619. }
  620. }