vitalDiagnosis.m.dart 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772
  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. class CreateDiagnosisRequest extends TokenRequest{
  7. String? code;
  8. String? key;
  9. String? patientCode;
  10. String? doctorCode;
  11. String? diagnosisData;
  12. DateTime? diagnosisTime;
  13. String? appDataId;
  14. CreateDiagnosisRequest({
  15. this.code,
  16. this.key,
  17. this.patientCode,
  18. this.doctorCode,
  19. this.diagnosisData,
  20. this.diagnosisTime,
  21. this.appDataId,
  22. String? token,
  23. }) : super(
  24. token: token,
  25. );
  26. factory CreateDiagnosisRequest.fromJson(Map<String, dynamic> map) {
  27. return CreateDiagnosisRequest(
  28. code: map['Code'],
  29. key: map['Key'],
  30. patientCode: map['PatientCode'],
  31. doctorCode: map['DoctorCode'],
  32. diagnosisData: map['DiagnosisData'],
  33. diagnosisTime: map['DiagnosisTime'] != null ? DateTime.parse(map['DiagnosisTime']) : null,
  34. appDataId: map['AppDataId'],
  35. token: map['Token'],
  36. );
  37. }
  38. Map<String, dynamic> toJson() {
  39. final map = super.toJson();
  40. if (code != null)
  41. map['Code'] = code;
  42. if (key != null)
  43. map['Key'] = key;
  44. if (patientCode != null)
  45. map['PatientCode'] = patientCode;
  46. if (doctorCode != null)
  47. map['DoctorCode'] = doctorCode;
  48. if (diagnosisData != null)
  49. map['DiagnosisData'] = diagnosisData;
  50. if (diagnosisTime != null)
  51. map['DiagnosisTime'] = JsonRpcUtils.dateFormat(diagnosisTime!);
  52. if (appDataId != null)
  53. map['AppDataId'] = appDataId;
  54. return map;
  55. }
  56. }
  57. class DiagnosisDTO extends BaseDTO{
  58. String? code;
  59. String? key;
  60. String? patientCode;
  61. String? doctorCode;
  62. String? diagnosisData;
  63. DateTime? diagnosisTime;
  64. String? doctorName;
  65. String? patientName;
  66. GenderEnum patientGender;
  67. String? phone;
  68. String? cardNo;
  69. DateTime? birthday;
  70. String? patientAddress;
  71. List<String>? crowdLabels;
  72. List<String>? labelNames;
  73. String? organizationName;
  74. String? appDataId;
  75. String? national;
  76. DiagnosisDTO({
  77. this.code,
  78. this.key,
  79. this.patientCode,
  80. this.doctorCode,
  81. this.diagnosisData,
  82. this.diagnosisTime,
  83. this.doctorName,
  84. this.patientName,
  85. this.patientGender = GenderEnum.Unknown,
  86. this.phone,
  87. this.cardNo,
  88. this.birthday,
  89. this.patientAddress,
  90. this.crowdLabels,
  91. this.labelNames,
  92. this.organizationName,
  93. this.appDataId,
  94. this.national,
  95. DateTime? createTime,
  96. DateTime? updateTime,
  97. }) : super(
  98. createTime: createTime,
  99. updateTime: updateTime,
  100. );
  101. factory DiagnosisDTO.fromJson(Map<String, dynamic> map) {
  102. return DiagnosisDTO(
  103. code: map['Code'],
  104. key: map['Key'],
  105. patientCode: map['PatientCode'],
  106. doctorCode: map['DoctorCode'],
  107. diagnosisData: map['DiagnosisData'],
  108. diagnosisTime: map['DiagnosisTime'] != null ? DateTime.parse(map['DiagnosisTime']) : null,
  109. doctorName: map['DoctorName'],
  110. patientName: map['PatientName'],
  111. patientGender: GenderEnum.values.firstWhere((e) => e.index == map['PatientGender']),
  112. phone: map['Phone'],
  113. cardNo: map['CardNo'],
  114. birthday: map['Birthday'] != null ? DateTime.parse(map['Birthday']) : null,
  115. patientAddress: map['PatientAddress'],
  116. crowdLabels: map['CrowdLabels']?.cast<String>().toList(),
  117. labelNames: map['LabelNames']?.cast<String>().toList(),
  118. organizationName: map['OrganizationName'],
  119. appDataId: map['AppDataId'],
  120. national: map['National'],
  121. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  122. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  123. );
  124. }
  125. Map<String, dynamic> toJson() {
  126. final map = super.toJson();
  127. if (code != null)
  128. map['Code'] = code;
  129. if (key != null)
  130. map['Key'] = key;
  131. if (patientCode != null)
  132. map['PatientCode'] = patientCode;
  133. if (doctorCode != null)
  134. map['DoctorCode'] = doctorCode;
  135. if (diagnosisData != null)
  136. map['DiagnosisData'] = diagnosisData;
  137. if (diagnosisTime != null)
  138. map['DiagnosisTime'] = JsonRpcUtils.dateFormat(diagnosisTime!);
  139. if (doctorName != null)
  140. map['DoctorName'] = doctorName;
  141. if (patientName != null)
  142. map['PatientName'] = patientName;
  143. map['PatientGender'] = patientGender.index;
  144. if (phone != null)
  145. map['Phone'] = phone;
  146. if (cardNo != null)
  147. map['CardNo'] = cardNo;
  148. if (birthday != null)
  149. map['Birthday'] = JsonRpcUtils.dateFormat(birthday!);
  150. if (patientAddress != null)
  151. map['PatientAddress'] = patientAddress;
  152. if (crowdLabels != null)
  153. map['CrowdLabels'] = crowdLabels;
  154. if (labelNames != null)
  155. map['LabelNames'] = labelNames;
  156. if (organizationName != null)
  157. map['OrganizationName'] = organizationName;
  158. if (appDataId != null)
  159. map['AppDataId'] = appDataId;
  160. if (national != null)
  161. map['National'] = national;
  162. return map;
  163. }
  164. }
  165. class GetDiagnosisRequest extends TokenRequest{
  166. String? code;
  167. GetDiagnosisRequest({
  168. this.code,
  169. String? token,
  170. }) : super(
  171. token: token,
  172. );
  173. factory GetDiagnosisRequest.fromJson(Map<String, dynamic> map) {
  174. return GetDiagnosisRequest(
  175. code: map['Code'],
  176. token: map['Token'],
  177. );
  178. }
  179. Map<String, dynamic> toJson() {
  180. final map = super.toJson();
  181. if (code != null)
  182. map['Code'] = code;
  183. return map;
  184. }
  185. }
  186. class GetDiagnosisByKeyRequest extends TokenRequest{
  187. String? key;
  188. String? value;
  189. GetDiagnosisByKeyRequest({
  190. this.key,
  191. this.value,
  192. String? token,
  193. }) : super(
  194. token: token,
  195. );
  196. factory GetDiagnosisByKeyRequest.fromJson(Map<String, dynamic> map) {
  197. return GetDiagnosisByKeyRequest(
  198. key: map['Key'],
  199. value: map['Value'],
  200. token: map['Token'],
  201. );
  202. }
  203. Map<String, dynamic> toJson() {
  204. final map = super.toJson();
  205. if (key != null)
  206. map['Key'] = key;
  207. if (value != null)
  208. map['Value'] = value;
  209. return map;
  210. }
  211. }
  212. class DiagnosisPageRequest extends PageRequest{
  213. String? appDataId;
  214. String? cardNo;
  215. String? patientCode;
  216. DiagnosisPageRequest({
  217. this.appDataId,
  218. this.cardNo,
  219. this.patientCode,
  220. int pageIndex = 0,
  221. int pageSize = 0,
  222. String? token,
  223. }) : super(
  224. pageIndex: pageIndex,
  225. pageSize: pageSize,
  226. token: token,
  227. );
  228. factory DiagnosisPageRequest.fromJson(Map<String, dynamic> map) {
  229. return DiagnosisPageRequest(
  230. appDataId: map['AppDataId'],
  231. cardNo: map['CardNo'],
  232. patientCode: map['PatientCode'],
  233. pageIndex: map['PageIndex'],
  234. pageSize: map['PageSize'],
  235. token: map['Token'],
  236. );
  237. }
  238. Map<String, dynamic> toJson() {
  239. final map = super.toJson();
  240. if (appDataId != null)
  241. map['AppDataId'] = appDataId;
  242. if (cardNo != null)
  243. map['CardNo'] = cardNo;
  244. if (patientCode != null)
  245. map['PatientCode'] = patientCode;
  246. return map;
  247. }
  248. }
  249. class RemoveDiagnosisRequest extends TokenRequest{
  250. String? code;
  251. RemoveDiagnosisRequest({
  252. this.code,
  253. String? token,
  254. }) : super(
  255. token: token,
  256. );
  257. factory RemoveDiagnosisRequest.fromJson(Map<String, dynamic> map) {
  258. return RemoveDiagnosisRequest(
  259. code: map['Code'],
  260. token: map['Token'],
  261. );
  262. }
  263. Map<String, dynamic> toJson() {
  264. final map = super.toJson();
  265. if (code != null)
  266. map['Code'] = code;
  267. return map;
  268. }
  269. }
  270. class GetDiagnosisListRequest extends TokenRequest{
  271. List<String>? codes;
  272. GetDiagnosisListRequest({
  273. this.codes,
  274. String? token,
  275. }) : super(
  276. token: token,
  277. );
  278. factory GetDiagnosisListRequest.fromJson(Map<String, dynamic> map) {
  279. return GetDiagnosisListRequest(
  280. codes: map['Codes']?.cast<String>().toList(),
  281. token: map['Token'],
  282. );
  283. }
  284. Map<String, dynamic> toJson() {
  285. final map = super.toJson();
  286. if (codes != null)
  287. map['Codes'] = codes;
  288. return map;
  289. }
  290. }
  291. class UpdateDiagnosisRequest extends TokenRequest{
  292. String? code;
  293. String? key;
  294. String? patientCode;
  295. String? doctorCode;
  296. String? diagnosisData;
  297. DateTime? diagnosisTime;
  298. String? appDataId;
  299. UpdateDiagnosisRequest({
  300. this.code,
  301. this.key,
  302. this.patientCode,
  303. this.doctorCode,
  304. this.diagnosisData,
  305. this.diagnosisTime,
  306. this.appDataId,
  307. String? token,
  308. }) : super(
  309. token: token,
  310. );
  311. factory UpdateDiagnosisRequest.fromJson(Map<String, dynamic> map) {
  312. return UpdateDiagnosisRequest(
  313. code: map['Code'],
  314. key: map['Key'],
  315. patientCode: map['PatientCode'],
  316. doctorCode: map['DoctorCode'],
  317. diagnosisData: map['DiagnosisData'],
  318. diagnosisTime: map['DiagnosisTime'] != null ? DateTime.parse(map['DiagnosisTime']) : null,
  319. appDataId: map['AppDataId'],
  320. token: map['Token'],
  321. );
  322. }
  323. Map<String, dynamic> toJson() {
  324. final map = super.toJson();
  325. if (code != null)
  326. map['Code'] = code;
  327. if (key != null)
  328. map['Key'] = key;
  329. if (patientCode != null)
  330. map['PatientCode'] = patientCode;
  331. if (doctorCode != null)
  332. map['DoctorCode'] = doctorCode;
  333. if (diagnosisData != null)
  334. map['DiagnosisData'] = diagnosisData;
  335. if (diagnosisTime != null)
  336. map['DiagnosisTime'] = JsonRpcUtils.dateFormat(diagnosisTime!);
  337. if (appDataId != null)
  338. map['AppDataId'] = appDataId;
  339. return map;
  340. }
  341. }
  342. class DiagnosisAggregationData {
  343. String? key;
  344. String? diagnosisData;
  345. DiagnosisAggregationData({
  346. this.key,
  347. this.diagnosisData,
  348. });
  349. factory DiagnosisAggregationData.fromJson(Map<String, dynamic> map) {
  350. return DiagnosisAggregationData(
  351. key: map['Key'],
  352. diagnosisData: map['DiagnosisData'],
  353. );
  354. }
  355. Map<String, dynamic> toJson() {
  356. final map = Map<String, dynamic>();
  357. if (key != null) {
  358. map['Key'] = key;
  359. }
  360. if (diagnosisData != null) {
  361. map['DiagnosisData'] = diagnosisData;
  362. }
  363. return map;
  364. }
  365. }
  366. class DiagnosisAggregationRecord {
  367. String? patientCode;
  368. String? doctorCode;
  369. String? doctorName;
  370. String? patientName;
  371. GenderEnum patientGender;
  372. String? phone;
  373. String? cardNo;
  374. DateTime? birthday;
  375. String? patientAddress;
  376. List<String>? crowdLabels;
  377. String? organizationName;
  378. String? appDataId;
  379. DateTime? diagnosisTime;
  380. DateTime? updateTime;
  381. DateTime? registTime;
  382. List<DiagnosisAggregationData>? diagnosisAggregationData;
  383. String? national;
  384. DiagnosisAggregationRecord({
  385. this.patientCode,
  386. this.doctorCode,
  387. this.doctorName,
  388. this.patientName,
  389. this.patientGender = GenderEnum.Unknown,
  390. this.phone,
  391. this.cardNo,
  392. this.birthday,
  393. this.patientAddress,
  394. this.crowdLabels,
  395. this.organizationName,
  396. this.appDataId,
  397. this.diagnosisTime,
  398. this.updateTime,
  399. this.registTime,
  400. this.diagnosisAggregationData,
  401. this.national,
  402. });
  403. factory DiagnosisAggregationRecord.fromJson(Map<String, dynamic> map) {
  404. return DiagnosisAggregationRecord(
  405. patientCode: map['PatientCode'],
  406. doctorCode: map['DoctorCode'],
  407. doctorName: map['DoctorName'],
  408. patientName: map['PatientName'],
  409. patientGender: GenderEnum.values.firstWhere((e) => e.index == map['PatientGender']),
  410. phone: map['Phone'],
  411. cardNo: map['CardNo'],
  412. birthday: map['Birthday'] != null ? DateTime.parse(map['Birthday']) : null,
  413. patientAddress: map['PatientAddress'],
  414. crowdLabels: map['CrowdLabels']?.cast<String>().toList(),
  415. organizationName: map['OrganizationName'],
  416. appDataId: map['AppDataId'],
  417. diagnosisTime: map['DiagnosisTime'] != null ? DateTime.parse(map['DiagnosisTime']) : null,
  418. updateTime: map['UpdateTime'] != null ? DateTime.parse(map['UpdateTime']) : null,
  419. registTime: map['RegistTime'] != null ? DateTime.parse(map['RegistTime']) : null,
  420. diagnosisAggregationData: map['DiagnosisAggregationData'] != null ? (map['DiagnosisAggregationData'] as List).map((e)=>DiagnosisAggregationData.fromJson(e as Map<String,dynamic>)).toList() : null,
  421. national: map['National'],
  422. );
  423. }
  424. Map<String, dynamic> toJson() {
  425. final map = Map<String, dynamic>();
  426. if (patientCode != null) {
  427. map['PatientCode'] = patientCode;
  428. }
  429. if (doctorCode != null) {
  430. map['DoctorCode'] = doctorCode;
  431. }
  432. if (doctorName != null) {
  433. map['DoctorName'] = doctorName;
  434. }
  435. if (patientName != null) {
  436. map['PatientName'] = patientName;
  437. }
  438. map['PatientGender'] = patientGender.index;
  439. if (phone != null) {
  440. map['Phone'] = phone;
  441. }
  442. if (cardNo != null) {
  443. map['CardNo'] = cardNo;
  444. }
  445. if (birthday != null) {
  446. map['Birthday'] = JsonRpcUtils.dateFormat(birthday!);
  447. }
  448. if (patientAddress != null) {
  449. map['PatientAddress'] = patientAddress;
  450. }
  451. if (crowdLabels != null) {
  452. map['CrowdLabels'] = crowdLabels;
  453. }
  454. if (organizationName != null) {
  455. map['OrganizationName'] = organizationName;
  456. }
  457. if (appDataId != null) {
  458. map['AppDataId'] = appDataId;
  459. }
  460. if (diagnosisTime != null) {
  461. map['DiagnosisTime'] = JsonRpcUtils.dateFormat(diagnosisTime!);
  462. }
  463. if (updateTime != null) {
  464. map['UpdateTime'] = JsonRpcUtils.dateFormat(updateTime!);
  465. }
  466. if (registTime != null) {
  467. map['RegistTime'] = JsonRpcUtils.dateFormat(registTime!);
  468. }
  469. if (diagnosisAggregationData != null) {
  470. map['DiagnosisAggregationData'] = diagnosisAggregationData;
  471. }
  472. if (national != null) {
  473. map['National'] = national;
  474. }
  475. return map;
  476. }
  477. }
  478. class DiagnosisItem {
  479. String? key;
  480. String? diagnosisData;
  481. DiagnosisItem({
  482. this.key,
  483. this.diagnosisData,
  484. });
  485. factory DiagnosisItem.fromJson(Map<String, dynamic> map) {
  486. return DiagnosisItem(
  487. key: map['Key'],
  488. diagnosisData: map['DiagnosisData'],
  489. );
  490. }
  491. Map<String, dynamic> toJson() {
  492. final map = Map<String, dynamic>();
  493. if (key != null) {
  494. map['Key'] = key;
  495. }
  496. if (diagnosisData != null) {
  497. map['DiagnosisData'] = diagnosisData;
  498. }
  499. return map;
  500. }
  501. }
  502. class SubmitDiagnosisRequest extends TokenRequest{
  503. String? appDataId;
  504. DateTime? diagnosisTime;
  505. String? patientCode;
  506. String? doctorCode;
  507. List<DiagnosisItem>? diagnosisItems;
  508. SubmitDiagnosisRequest({
  509. this.appDataId,
  510. this.diagnosisTime,
  511. this.patientCode,
  512. this.doctorCode,
  513. this.diagnosisItems,
  514. String? token,
  515. }) : super(
  516. token: token,
  517. );
  518. factory SubmitDiagnosisRequest.fromJson(Map<String, dynamic> map) {
  519. return SubmitDiagnosisRequest(
  520. appDataId: map['AppDataId'],
  521. diagnosisTime: map['DiagnosisTime'] != null ? DateTime.parse(map['DiagnosisTime']) : null,
  522. patientCode: map['PatientCode'],
  523. doctorCode: map['DoctorCode'],
  524. diagnosisItems: map['DiagnosisItems'] != null ? (map['DiagnosisItems'] as List).map((e)=>DiagnosisItem.fromJson(e as Map<String,dynamic>)).toList() : null,
  525. token: map['Token'],
  526. );
  527. }
  528. Map<String, dynamic> toJson() {
  529. final map = super.toJson();
  530. if (appDataId != null)
  531. map['AppDataId'] = appDataId;
  532. if (diagnosisTime != null)
  533. map['DiagnosisTime'] = JsonRpcUtils.dateFormat(diagnosisTime!);
  534. if (patientCode != null)
  535. map['PatientCode'] = patientCode;
  536. if (doctorCode != null)
  537. map['DoctorCode'] = doctorCode;
  538. if (diagnosisItems != null)
  539. map['DiagnosisItems'] = diagnosisItems;
  540. return map;
  541. }
  542. }
  543. class ReinfusionDiagnosisRequest extends TokenRequest{
  544. String? appDataId;
  545. ReinfusionDiagnosisRequest({
  546. this.appDataId,
  547. String? token,
  548. }) : super(
  549. token: token,
  550. );
  551. factory ReinfusionDiagnosisRequest.fromJson(Map<String, dynamic> map) {
  552. return ReinfusionDiagnosisRequest(
  553. appDataId: map['AppDataId'],
  554. token: map['Token'],
  555. );
  556. }
  557. Map<String, dynamic> toJson() {
  558. final map = super.toJson();
  559. if (appDataId != null)
  560. map['AppDataId'] = appDataId;
  561. return map;
  562. }
  563. }
  564. class SetDiagnosisTimeRequest extends TokenRequest{
  565. String? appDataId;
  566. DateTime? diagnosisTime;
  567. SetDiagnosisTimeRequest({
  568. this.appDataId,
  569. this.diagnosisTime,
  570. String? token,
  571. }) : super(
  572. token: token,
  573. );
  574. factory SetDiagnosisTimeRequest.fromJson(Map<String, dynamic> map) {
  575. return SetDiagnosisTimeRequest(
  576. appDataId: map['AppDataId'],
  577. diagnosisTime: map['DiagnosisTime'] != null ? DateTime.parse(map['DiagnosisTime']) : null,
  578. token: map['Token'],
  579. );
  580. }
  581. Map<String, dynamic> toJson() {
  582. final map = super.toJson();
  583. if (appDataId != null)
  584. map['AppDataId'] = appDataId;
  585. if (diagnosisTime != null)
  586. map['DiagnosisTime'] = JsonRpcUtils.dateFormat(diagnosisTime!);
  587. return map;
  588. }
  589. }
  590. enum CardTypeEnum {
  591. Identity,
  592. SocialInsurance,
  593. Passport,
  594. }
  595. class SyncPatientAndDiagnosisDataRequest extends TokenRequest{
  596. String? patientCode;
  597. String? patientName;
  598. String? phone;
  599. String? cardNo;
  600. String? nationality;
  601. DateTime? birthday;
  602. List<String>? crowdLabels;
  603. CardTypeEnum cardType;
  604. GenderEnum patientGender;
  605. String? patientAddress;
  606. String? permanentResidenceAddress;
  607. String? contractedDoctor;
  608. String? appDataId;
  609. DateTime? diagnosisTime;
  610. String? doctorCode;
  611. List<DiagnosisItem>? diagnosisItems;
  612. SyncPatientAndDiagnosisDataRequest({
  613. this.patientCode,
  614. this.patientName,
  615. this.phone,
  616. this.cardNo,
  617. this.nationality,
  618. this.birthday,
  619. this.crowdLabels,
  620. this.cardType = CardTypeEnum.Identity,
  621. this.patientGender = GenderEnum.Unknown,
  622. this.patientAddress,
  623. this.permanentResidenceAddress,
  624. this.contractedDoctor,
  625. this.appDataId,
  626. this.diagnosisTime,
  627. this.doctorCode,
  628. this.diagnosisItems,
  629. String? token,
  630. }) : super(
  631. token: token,
  632. );
  633. factory SyncPatientAndDiagnosisDataRequest.fromJson(Map<String, dynamic> map) {
  634. return SyncPatientAndDiagnosisDataRequest(
  635. patientCode: map['PatientCode'],
  636. patientName: map['PatientName'],
  637. phone: map['Phone'],
  638. cardNo: map['CardNo'],
  639. nationality: map['Nationality'],
  640. birthday: map['Birthday'] != null ? DateTime.parse(map['Birthday']) : null,
  641. crowdLabels: map['CrowdLabels']?.cast<String>().toList(),
  642. cardType: CardTypeEnum.values.firstWhere((e) => e.index == map['CardType']),
  643. patientGender: GenderEnum.values.firstWhere((e) => e.index == map['PatientGender']),
  644. patientAddress: map['PatientAddress'],
  645. permanentResidenceAddress: map['PermanentResidenceAddress'],
  646. contractedDoctor: map['ContractedDoctor'],
  647. appDataId: map['AppDataId'],
  648. diagnosisTime: map['DiagnosisTime'] != null ? DateTime.parse(map['DiagnosisTime']) : null,
  649. doctorCode: map['DoctorCode'],
  650. diagnosisItems: map['DiagnosisItems'] != null ? (map['DiagnosisItems'] as List).map((e)=>DiagnosisItem.fromJson(e as Map<String,dynamic>)).toList() : null,
  651. token: map['Token'],
  652. );
  653. }
  654. Map<String, dynamic> toJson() {
  655. final map = super.toJson();
  656. if (patientCode != null)
  657. map['PatientCode'] = patientCode;
  658. if (patientName != null)
  659. map['PatientName'] = patientName;
  660. if (phone != null)
  661. map['Phone'] = phone;
  662. if (cardNo != null)
  663. map['CardNo'] = cardNo;
  664. if (nationality != null)
  665. map['Nationality'] = nationality;
  666. if (birthday != null)
  667. map['Birthday'] = JsonRpcUtils.dateFormat(birthday!);
  668. if (crowdLabels != null)
  669. map['CrowdLabels'] = crowdLabels;
  670. map['CardType'] = cardType.index;
  671. map['PatientGender'] = patientGender.index;
  672. if (patientAddress != null)
  673. map['PatientAddress'] = patientAddress;
  674. if (permanentResidenceAddress != null)
  675. map['PermanentResidenceAddress'] = permanentResidenceAddress;
  676. if (contractedDoctor != null)
  677. map['ContractedDoctor'] = contractedDoctor;
  678. if (appDataId != null)
  679. map['AppDataId'] = appDataId;
  680. if (diagnosisTime != null)
  681. map['DiagnosisTime'] = JsonRpcUtils.dateFormat(diagnosisTime!);
  682. if (doctorCode != null)
  683. map['DoctorCode'] = doctorCode;
  684. if (diagnosisItems != null)
  685. map['DiagnosisItems'] = diagnosisItems;
  686. return map;
  687. }
  688. }
  689. class OldPlatformDiagnosisDataCountRequest extends TokenRequest{
  690. OldPlatformDiagnosisDataCountRequest({
  691. String? token,
  692. }) : super(
  693. token: token,
  694. );
  695. factory OldPlatformDiagnosisDataCountRequest.fromJson(Map<String, dynamic> map) {
  696. return OldPlatformDiagnosisDataCountRequest(
  697. token: map['Token'],
  698. );
  699. }
  700. Map<String, dynamic> toJson() {
  701. final map = super.toJson();
  702. return map;
  703. }
  704. }