@andes/fhir 1.12.0-beta.3 → 1.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/coverage/clover.xml +163 -152
- package/coverage/coverage-final.json +3 -3
- package/coverage/lcov-report/helpers/index.html +1 -1
- package/coverage/lcov-report/helpers/patientFactory.ts.html +3 -3
- package/coverage/lcov-report/index.html +21 -21
- package/coverage/lcov-report/lib/config.ts.html +5 -5
- package/coverage/lcov-report/lib/device.ts.html +1 -1
- package/coverage/lcov-report/lib/index.html +21 -21
- package/coverage/lcov-report/lib/patient.ts.html +213 -162
- package/coverage/lcov.info +327 -312
- package/dist/src/data/patient.json +1 -0
- package/dist/src/lib/patient.js +32 -14
- package/dist/src/lib/patient.js.map +1 -1
- package/dist/src/lib/patient.test.js +60 -26
- package/dist/src/lib/patient.test.js.map +1 -1
- package/index.ts +0 -1
- package/package.json +2 -2
- package/src/data/patient.json +1 -0
- package/src/lib/patient.test.ts +65 -26
- package/src/lib/patient.ts +32 -15
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">55.3% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>99/179</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">31.78% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>41/129</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">41.93% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>13/31</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">55.95% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>94/168</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
</div>
|
|
62
62
|
</template>
|
|
63
63
|
</div>
|
|
64
|
-
<div class='status-line
|
|
64
|
+
<div class='status-line medium'></div>
|
|
65
65
|
<pre><table class="coverage">
|
|
66
66
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
67
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -457,7 +457,24 @@
|
|
|
457
457
|
<a name='L392'></a><a href='#L392'>392</a>
|
|
458
458
|
<a name='L393'></a><a href='#L393'>393</a>
|
|
459
459
|
<a name='L394'></a><a href='#L394'>394</a>
|
|
460
|
-
<a name='L395'></a><a href='#L395'>395</a
|
|
460
|
+
<a name='L395'></a><a href='#L395'>395</a>
|
|
461
|
+
<a name='L396'></a><a href='#L396'>396</a>
|
|
462
|
+
<a name='L397'></a><a href='#L397'>397</a>
|
|
463
|
+
<a name='L398'></a><a href='#L398'>398</a>
|
|
464
|
+
<a name='L399'></a><a href='#L399'>399</a>
|
|
465
|
+
<a name='L400'></a><a href='#L400'>400</a>
|
|
466
|
+
<a name='L401'></a><a href='#L401'>401</a>
|
|
467
|
+
<a name='L402'></a><a href='#L402'>402</a>
|
|
468
|
+
<a name='L403'></a><a href='#L403'>403</a>
|
|
469
|
+
<a name='L404'></a><a href='#L404'>404</a>
|
|
470
|
+
<a name='L405'></a><a href='#L405'>405</a>
|
|
471
|
+
<a name='L406'></a><a href='#L406'>406</a>
|
|
472
|
+
<a name='L407'></a><a href='#L407'>407</a>
|
|
473
|
+
<a name='L408'></a><a href='#L408'>408</a>
|
|
474
|
+
<a name='L409'></a><a href='#L409'>409</a>
|
|
475
|
+
<a name='L410'></a><a href='#L410'>410</a>
|
|
476
|
+
<a name='L411'></a><a href='#L411'>411</a>
|
|
477
|
+
<a name='L412'></a><a href='#L412'>412</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
461
478
|
<span class="cline-any cline-yes">1x</span>
|
|
462
479
|
<span class="cline-any cline-neutral"> </span>
|
|
463
480
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -465,59 +482,61 @@
|
|
|
465
482
|
<span class="cline-any cline-neutral"> </span>
|
|
466
483
|
<span class="cline-any cline-neutral"> </span>
|
|
467
484
|
<span class="cline-any cline-yes">1x</span>
|
|
468
|
-
<span class="cline-any cline-yes">
|
|
469
|
-
<span class="cline-any cline-yes">
|
|
470
|
-
<span class="cline-any cline-yes">
|
|
471
|
-
<span class="cline-any cline-yes">29x</span>
|
|
485
|
+
<span class="cline-any cline-yes">8x</span>
|
|
486
|
+
<span class="cline-any cline-yes">8x</span>
|
|
487
|
+
<span class="cline-any cline-yes">8x</span>
|
|
472
488
|
<span class="cline-any cline-neutral"> </span>
|
|
473
489
|
<span class="cline-any cline-neutral"> </span>
|
|
474
490
|
<span class="cline-any cline-neutral"> </span>
|
|
491
|
+
<span class="cline-any cline-yes">8x</span>
|
|
492
|
+
<span class="cline-any cline-yes">8x</span>
|
|
475
493
|
<span class="cline-any cline-neutral"> </span>
|
|
476
|
-
<span class="cline-any cline-yes">29x</span>
|
|
477
|
-
<span class="cline-any cline-yes">29x</span>
|
|
478
494
|
<span class="cline-any cline-neutral"> </span>
|
|
479
495
|
<span class="cline-any cline-neutral"> </span>
|
|
480
496
|
<span class="cline-any cline-neutral"> </span>
|
|
497
|
+
<span class="cline-any cline-yes">8x</span>
|
|
498
|
+
<span class="cline-any cline-yes">8x</span>
|
|
481
499
|
<span class="cline-any cline-neutral"> </span>
|
|
482
|
-
<span class="cline-any cline-yes">29x</span>
|
|
483
500
|
<span class="cline-any cline-neutral"> </span>
|
|
484
501
|
<span class="cline-any cline-neutral"> </span>
|
|
485
502
|
<span class="cline-any cline-neutral"> </span>
|
|
503
|
+
<span class="cline-any cline-yes">8x</span>
|
|
504
|
+
<span class="cline-any cline-yes">4x</span>
|
|
505
|
+
<span class="cline-any cline-yes">2x</span>
|
|
486
506
|
<span class="cline-any cline-neutral"> </span>
|
|
487
|
-
<span class="cline-any cline-yes">58x</span>
|
|
488
|
-
<span class="cline-any cline-yes">58x</span>
|
|
489
507
|
<span class="cline-any cline-neutral"> </span>
|
|
490
508
|
<span class="cline-any cline-neutral"> </span>
|
|
491
509
|
<span class="cline-any cline-neutral"> </span>
|
|
510
|
+
<span class="cline-any cline-yes">4x</span>
|
|
511
|
+
<span class="cline-any cline-yes">2x</span>
|
|
492
512
|
<span class="cline-any cline-neutral"> </span>
|
|
493
|
-
<span class="cline-any cline-yes">58x</span>
|
|
494
513
|
<span class="cline-any cline-neutral"> </span>
|
|
495
|
-
<span class="cline-any cline-no"> </span>
|
|
496
|
-
<span class="cline-any cline-no"> </span>
|
|
497
514
|
<span class="cline-any cline-neutral"> </span>
|
|
498
|
-
<span class="cline-any cline-yes">29x</span>
|
|
499
|
-
<span class="cline-any cline-yes">29x</span>
|
|
500
515
|
<span class="cline-any cline-neutral"> </span>
|
|
501
|
-
<span class="cline-any cline-yes">29x</span>
|
|
502
|
-
<span class="cline-any cline-yes">29x</span>
|
|
503
516
|
<span class="cline-any cline-neutral"> </span>
|
|
504
|
-
<span class="cline-any cline-yes">58x</span>
|
|
505
517
|
<span class="cline-any cline-neutral"> </span>
|
|
518
|
+
<span class="cline-any cline-yes">16x</span>
|
|
519
|
+
<span class="cline-any cline-yes">16x</span>
|
|
506
520
|
<span class="cline-any cline-neutral"> </span>
|
|
507
|
-
<span class="cline-any cline-yes">58x</span>
|
|
508
|
-
<span class="cline-any cline-yes">58x</span>
|
|
509
521
|
<span class="cline-any cline-neutral"> </span>
|
|
510
522
|
<span class="cline-any cline-neutral"> </span>
|
|
511
523
|
<span class="cline-any cline-neutral"> </span>
|
|
524
|
+
<span class="cline-any cline-yes">16x</span>
|
|
512
525
|
<span class="cline-any cline-neutral"> </span>
|
|
526
|
+
<span class="cline-any cline-no"> </span>
|
|
527
|
+
<span class="cline-any cline-no"> </span>
|
|
513
528
|
<span class="cline-any cline-neutral"> </span>
|
|
529
|
+
<span class="cline-any cline-yes">8x</span>
|
|
530
|
+
<span class="cline-any cline-yes">8x</span>
|
|
514
531
|
<span class="cline-any cline-neutral"> </span>
|
|
532
|
+
<span class="cline-any cline-yes">8x</span>
|
|
533
|
+
<span class="cline-any cline-yes">8x</span>
|
|
515
534
|
<span class="cline-any cline-neutral"> </span>
|
|
516
|
-
<span class="cline-any cline-yes">
|
|
535
|
+
<span class="cline-any cline-yes">16x</span>
|
|
517
536
|
<span class="cline-any cline-neutral"> </span>
|
|
518
537
|
<span class="cline-any cline-neutral"> </span>
|
|
519
|
-
<span class="cline-any cline-yes">
|
|
520
|
-
<span class="cline-any cline-yes">
|
|
538
|
+
<span class="cline-any cline-yes">16x</span>
|
|
539
|
+
<span class="cline-any cline-yes">16x</span>
|
|
521
540
|
<span class="cline-any cline-neutral"> </span>
|
|
522
541
|
<span class="cline-any cline-neutral"> </span>
|
|
523
542
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -525,31 +544,35 @@
|
|
|
525
544
|
<span class="cline-any cline-neutral"> </span>
|
|
526
545
|
<span class="cline-any cline-neutral"> </span>
|
|
527
546
|
<span class="cline-any cline-neutral"> </span>
|
|
547
|
+
<span class="cline-any cline-yes">16x</span>
|
|
528
548
|
<span class="cline-any cline-neutral"> </span>
|
|
529
549
|
<span class="cline-any cline-neutral"> </span>
|
|
530
|
-
<span class="cline-any cline-yes">
|
|
550
|
+
<span class="cline-any cline-yes">32x</span>
|
|
551
|
+
<span class="cline-any cline-yes">32x</span>
|
|
531
552
|
<span class="cline-any cline-neutral"> </span>
|
|
532
553
|
<span class="cline-any cline-neutral"> </span>
|
|
533
|
-
<span class="cline-any cline-yes">29x</span>
|
|
534
554
|
<span class="cline-any cline-neutral"> </span>
|
|
535
|
-
<span class="cline-any cline-no"> </span>
|
|
536
|
-
<span class="cline-any cline-no"> </span>
|
|
537
555
|
<span class="cline-any cline-neutral"> </span>
|
|
538
|
-
<span class="cline-any cline-yes">29x</span>
|
|
539
|
-
<span class="cline-any cline-yes">29x</span>
|
|
540
556
|
<span class="cline-any cline-neutral"> </span>
|
|
541
|
-
<span class="cline-any cline-no"> </span>
|
|
542
|
-
<span class="cline-any cline-no"> </span>
|
|
543
557
|
<span class="cline-any cline-neutral"> </span>
|
|
544
|
-
<span class="cline-any cline-yes">29x</span>
|
|
545
558
|
<span class="cline-any cline-neutral"> </span>
|
|
546
559
|
<span class="cline-any cline-neutral"> </span>
|
|
547
560
|
<span class="cline-any cline-neutral"> </span>
|
|
561
|
+
<span class="cline-any cline-yes">32x</span>
|
|
548
562
|
<span class="cline-any cline-neutral"> </span>
|
|
549
563
|
<span class="cline-any cline-neutral"> </span>
|
|
564
|
+
<span class="cline-any cline-yes">8x</span>
|
|
565
|
+
<span class="cline-any cline-neutral"> </span>
|
|
566
|
+
<span class="cline-any cline-no"> </span>
|
|
567
|
+
<span class="cline-any cline-no"> </span>
|
|
550
568
|
<span class="cline-any cline-neutral"> </span>
|
|
569
|
+
<span class="cline-any cline-yes">8x</span>
|
|
570
|
+
<span class="cline-any cline-yes">8x</span>
|
|
551
571
|
<span class="cline-any cline-neutral"> </span>
|
|
572
|
+
<span class="cline-any cline-no"> </span>
|
|
573
|
+
<span class="cline-any cline-no"> </span>
|
|
552
574
|
<span class="cline-any cline-neutral"> </span>
|
|
575
|
+
<span class="cline-any cline-yes">8x</span>
|
|
553
576
|
<span class="cline-any cline-neutral"> </span>
|
|
554
577
|
<span class="cline-any cline-neutral"> </span>
|
|
555
578
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -568,12 +591,12 @@
|
|
|
568
591
|
<span class="cline-any cline-neutral"> </span>
|
|
569
592
|
<span class="cline-any cline-neutral"> </span>
|
|
570
593
|
<span class="cline-any cline-neutral"> </span>
|
|
571
|
-
<span class="cline-any cline-yes">
|
|
594
|
+
<span class="cline-any cline-yes">8x</span>
|
|
572
595
|
<span class="cline-any cline-no"> </span>
|
|
573
596
|
<span class="cline-any cline-neutral"> </span>
|
|
574
|
-
<span class="cline-any cline-yes">
|
|
597
|
+
<span class="cline-any cline-yes">8x</span>
|
|
575
598
|
<span class="cline-any cline-neutral"> </span>
|
|
576
|
-
<span class="cline-any cline-yes">
|
|
599
|
+
<span class="cline-any cline-yes">8x</span>
|
|
577
600
|
<span class="cline-any cline-neutral"> </span>
|
|
578
601
|
<span class="cline-any cline-no"> </span>
|
|
579
602
|
<span class="cline-any cline-no"> </span>
|
|
@@ -584,36 +607,36 @@
|
|
|
584
607
|
<span class="cline-any cline-no"> </span>
|
|
585
608
|
<span class="cline-any cline-no"> </span>
|
|
586
609
|
<span class="cline-any cline-neutral"> </span>
|
|
587
|
-
<span class="cline-any cline-yes">
|
|
588
|
-
<span class="cline-any cline-yes">
|
|
610
|
+
<span class="cline-any cline-yes">8x</span>
|
|
611
|
+
<span class="cline-any cline-yes">8x</span>
|
|
589
612
|
<span class="cline-any cline-neutral"> </span>
|
|
590
613
|
<span class="cline-any cline-no"> </span>
|
|
591
614
|
<span class="cline-any cline-no"> </span>
|
|
592
615
|
<span class="cline-any cline-neutral"> </span>
|
|
593
|
-
<span class="cline-any cline-yes">
|
|
616
|
+
<span class="cline-any cline-yes">8x</span>
|
|
594
617
|
<span class="cline-any cline-neutral"> </span>
|
|
595
618
|
<span class="cline-any cline-neutral"> </span>
|
|
596
619
|
<span class="cline-any cline-neutral"> </span>
|
|
597
|
-
<span class="cline-any cline-yes">
|
|
620
|
+
<span class="cline-any cline-yes">8x</span>
|
|
598
621
|
<span class="cline-any cline-no"> </span>
|
|
599
622
|
<span class="cline-any cline-neutral"> </span>
|
|
600
623
|
<span class="cline-any cline-neutral"> </span>
|
|
601
624
|
<span class="cline-any cline-neutral"> </span>
|
|
602
|
-
<span class="cline-any cline-yes">
|
|
603
|
-
<span class="cline-any cline-yes">
|
|
625
|
+
<span class="cline-any cline-yes">8x</span>
|
|
626
|
+
<span class="cline-any cline-yes">8x</span>
|
|
604
627
|
<span class="cline-any cline-neutral"> </span>
|
|
605
|
-
<span class="cline-any cline-yes">
|
|
606
|
-
<span class="cline-any cline-yes">
|
|
628
|
+
<span class="cline-any cline-yes">8x</span>
|
|
629
|
+
<span class="cline-any cline-yes">8x</span>
|
|
607
630
|
<span class="cline-any cline-neutral"> </span>
|
|
608
|
-
<span class="cline-any cline-yes">
|
|
609
|
-
<span class="cline-any cline-yes">
|
|
631
|
+
<span class="cline-any cline-yes">8x</span>
|
|
632
|
+
<span class="cline-any cline-yes">8x</span>
|
|
610
633
|
<span class="cline-any cline-neutral"> </span>
|
|
611
|
-
<span class="cline-any cline-yes">
|
|
634
|
+
<span class="cline-any cline-yes">8x</span>
|
|
612
635
|
<span class="cline-any cline-neutral"> </span>
|
|
613
636
|
<span class="cline-any cline-neutral"> </span>
|
|
614
637
|
<span class="cline-any cline-neutral"> </span>
|
|
615
|
-
<span class="cline-any cline-yes">
|
|
616
|
-
<span class="cline-any cline-yes">
|
|
638
|
+
<span class="cline-any cline-yes">8x</span>
|
|
639
|
+
<span class="cline-any cline-yes">8x</span>
|
|
617
640
|
<span class="cline-any cline-neutral"> </span>
|
|
618
641
|
<span class="cline-any cline-no"> </span>
|
|
619
642
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -627,70 +650,79 @@
|
|
|
627
650
|
<span class="cline-any cline-neutral"> </span>
|
|
628
651
|
<span class="cline-any cline-neutral"> </span>
|
|
629
652
|
<span class="cline-any cline-neutral"> </span>
|
|
630
|
-
<span class="cline-any cline-
|
|
653
|
+
<span class="cline-any cline-yes">2x</span>
|
|
631
654
|
<span class="cline-any cline-neutral"> </span>
|
|
632
655
|
<span class="cline-any cline-no"> </span>
|
|
633
656
|
<span class="cline-any cline-no"> </span>
|
|
634
657
|
<span class="cline-any cline-no"> </span>
|
|
635
658
|
<span class="cline-any cline-neutral"> </span>
|
|
636
|
-
<span class="cline-any cline-
|
|
637
|
-
<span class="cline-any cline-
|
|
638
|
-
<span class="cline-any cline-
|
|
659
|
+
<span class="cline-any cline-yes">2x</span>
|
|
660
|
+
<span class="cline-any cline-yes">2x</span>
|
|
661
|
+
<span class="cline-any cline-yes">2x</span>
|
|
639
662
|
<span class="cline-any cline-neutral"> </span>
|
|
640
663
|
<span class="cline-any cline-no"> </span>
|
|
641
664
|
<span class="cline-any cline-no"> </span>
|
|
642
665
|
<span class="cline-any cline-no"> </span>
|
|
643
666
|
<span class="cline-any cline-neutral"> </span>
|
|
644
667
|
<span class="cline-any cline-neutral"> </span>
|
|
645
|
-
<span class="cline-any cline-
|
|
646
|
-
<span class="cline-any cline-
|
|
647
|
-
<span class="cline-any cline-
|
|
668
|
+
<span class="cline-any cline-yes">36x</span>
|
|
669
|
+
<span class="cline-any cline-yes">10x</span>
|
|
670
|
+
<span class="cline-any cline-yes">6x</span>
|
|
648
671
|
<span class="cline-any cline-neutral"> </span>
|
|
649
672
|
<span class="cline-any cline-neutral"> </span>
|
|
650
|
-
<span class="cline-any cline-
|
|
673
|
+
<span class="cline-any cline-yes">2x</span>
|
|
674
|
+
<span class="cline-any cline-yes">2x</span>
|
|
651
675
|
<span class="cline-any cline-neutral"> </span>
|
|
652
676
|
<span class="cline-any cline-neutral"> </span>
|
|
677
|
+
<span class="cline-any cline-yes">2x</span>
|
|
678
|
+
<span class="cline-any cline-yes">4x</span>
|
|
679
|
+
<span class="cline-any cline-yes">2x</span>
|
|
680
|
+
<span class="cline-any cline-yes">2x</span>
|
|
653
681
|
<span class="cline-any cline-neutral"> </span>
|
|
654
682
|
<span class="cline-any cline-neutral"> </span>
|
|
683
|
+
<span class="cline-any cline-yes">2x</span>
|
|
655
684
|
<span class="cline-any cline-neutral"> </span>
|
|
656
685
|
<span class="cline-any cline-neutral"> </span>
|
|
657
686
|
<span class="cline-any cline-neutral"> </span>
|
|
658
687
|
<span class="cline-any cline-neutral"> </span>
|
|
659
688
|
<span class="cline-any cline-neutral"> </span>
|
|
660
689
|
<span class="cline-any cline-neutral"> </span>
|
|
661
|
-
<span class="cline-any cline-no"> </span>
|
|
662
|
-
<span class="cline-any cline-no"> </span>
|
|
663
690
|
<span class="cline-any cline-neutral"> </span>
|
|
664
691
|
<span class="cline-any cline-neutral"> </span>
|
|
665
692
|
<span class="cline-any cline-neutral"> </span>
|
|
666
|
-
<span class="cline-any cline-no"> </span>
|
|
667
693
|
<span class="cline-any cline-neutral"> </span>
|
|
668
|
-
<span class="cline-any cline-no"> </span>
|
|
669
|
-
<span class="cline-any cline-no"> </span>
|
|
670
694
|
<span class="cline-any cline-neutral"> </span>
|
|
671
|
-
<span class="cline-any cline-no"> </span>
|
|
672
|
-
<span class="cline-any cline-no"> </span>
|
|
673
695
|
<span class="cline-any cline-neutral"> </span>
|
|
674
|
-
<span class="cline-any cline-
|
|
696
|
+
<span class="cline-any cline-yes">2x</span>
|
|
697
|
+
<span class="cline-any cline-yes">4x</span>
|
|
675
698
|
<span class="cline-any cline-neutral"> </span>
|
|
676
699
|
<span class="cline-any cline-neutral"> </span>
|
|
677
|
-
<span class="cline-any cline-no"> </span>
|
|
678
|
-
<span class="cline-any cline-no"> </span>
|
|
679
700
|
<span class="cline-any cline-neutral"> </span>
|
|
701
|
+
<span class="cline-any cline-yes">4x</span>
|
|
680
702
|
<span class="cline-any cline-neutral"> </span>
|
|
703
|
+
<span class="cline-any cline-yes">2x</span>
|
|
704
|
+
<span class="cline-any cline-yes">2x</span>
|
|
681
705
|
<span class="cline-any cline-neutral"> </span>
|
|
706
|
+
<span class="cline-any cline-yes">2x</span>
|
|
707
|
+
<span class="cline-any cline-yes">2x</span>
|
|
682
708
|
<span class="cline-any cline-neutral"> </span>
|
|
709
|
+
<span class="cline-any cline-yes">4x</span>
|
|
683
710
|
<span class="cline-any cline-neutral"> </span>
|
|
684
711
|
<span class="cline-any cline-neutral"> </span>
|
|
685
|
-
<span class="cline-any cline-
|
|
712
|
+
<span class="cline-any cline-yes">2x</span>
|
|
713
|
+
<span class="cline-any cline-yes">8x</span>
|
|
686
714
|
<span class="cline-any cline-neutral"> </span>
|
|
687
715
|
<span class="cline-any cline-neutral"> </span>
|
|
688
|
-
<span class="cline-any cline-no"> </span>
|
|
689
716
|
<span class="cline-any cline-neutral"> </span>
|
|
690
|
-
<span class="cline-any cline-no"> </span>
|
|
691
717
|
<span class="cline-any cline-neutral"> </span>
|
|
692
|
-
<span class="cline-any cline-
|
|
693
|
-
<span class="cline-any cline-
|
|
718
|
+
<span class="cline-any cline-neutral"> </span>
|
|
719
|
+
<span class="cline-any cline-neutral"> </span>
|
|
720
|
+
<span class="cline-any cline-yes">8x</span>
|
|
721
|
+
<span class="cline-any cline-neutral"> </span>
|
|
722
|
+
<span class="cline-any cline-neutral"> </span>
|
|
723
|
+
<span class="cline-any cline-yes">2x</span>
|
|
724
|
+
<span class="cline-any cline-neutral"> </span>
|
|
725
|
+
<span class="cline-any cline-yes">2x</span>
|
|
694
726
|
<span class="cline-any cline-neutral"> </span>
|
|
695
727
|
<span class="cline-any cline-no"> </span>
|
|
696
728
|
<span class="cline-any cline-no"> </span>
|
|
@@ -701,14 +733,17 @@
|
|
|
701
733
|
<span class="cline-any cline-no"> </span>
|
|
702
734
|
<span class="cline-any cline-no"> </span>
|
|
703
735
|
<span class="cline-any cline-neutral"> </span>
|
|
736
|
+
<span class="cline-any cline-yes">2x</span>
|
|
737
|
+
<span class="cline-any cline-yes">2x</span>
|
|
738
|
+
<span class="cline-any cline-neutral"> </span>
|
|
704
739
|
<span class="cline-any cline-no"> </span>
|
|
705
740
|
<span class="cline-any cline-no"> </span>
|
|
706
741
|
<span class="cline-any cline-neutral"> </span>
|
|
707
|
-
<span class="cline-any cline-
|
|
742
|
+
<span class="cline-any cline-yes">2x</span>
|
|
708
743
|
<span class="cline-any cline-neutral"> </span>
|
|
709
744
|
<span class="cline-any cline-neutral"> </span>
|
|
710
|
-
<span class="cline-any cline-
|
|
711
|
-
<span class="cline-any cline-
|
|
745
|
+
<span class="cline-any cline-yes">2x</span>
|
|
746
|
+
<span class="cline-any cline-yes">4x</span>
|
|
712
747
|
<span class="cline-any cline-neutral"> </span>
|
|
713
748
|
<span class="cline-any cline-neutral"> </span>
|
|
714
749
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -720,27 +755,27 @@
|
|
|
720
755
|
<span class="cline-any cline-neutral"> </span>
|
|
721
756
|
<span class="cline-any cline-neutral"> </span>
|
|
722
757
|
<span class="cline-any cline-neutral"> </span>
|
|
723
|
-
<span class="cline-any cline-
|
|
758
|
+
<span class="cline-any cline-yes">4x</span>
|
|
724
759
|
<span class="cline-any cline-neutral"> </span>
|
|
725
760
|
<span class="cline-any cline-neutral"> </span>
|
|
726
|
-
<span class="cline-any cline-
|
|
761
|
+
<span class="cline-any cline-yes">2x</span>
|
|
727
762
|
<span class="cline-any cline-neutral"> </span>
|
|
728
|
-
<span class="cline-any cline-
|
|
729
|
-
<span class="cline-any cline-
|
|
763
|
+
<span class="cline-any cline-yes">2x</span>
|
|
764
|
+
<span class="cline-any cline-yes">2x</span>
|
|
730
765
|
<span class="cline-any cline-neutral"> </span>
|
|
731
|
-
<span class="cline-any cline-
|
|
732
|
-
<span class="cline-any cline-
|
|
766
|
+
<span class="cline-any cline-yes">2x</span>
|
|
767
|
+
<span class="cline-any cline-yes">2x</span>
|
|
733
768
|
<span class="cline-any cline-neutral"> </span>
|
|
734
|
-
<span class="cline-any cline-
|
|
769
|
+
<span class="cline-any cline-yes">2x</span>
|
|
735
770
|
<span class="cline-any cline-no"> </span>
|
|
736
771
|
<span class="cline-any cline-neutral"> </span>
|
|
737
772
|
<span class="cline-any cline-neutral"> </span>
|
|
738
|
-
<span class="cline-any cline-
|
|
739
|
-
<span class="cline-any cline-
|
|
773
|
+
<span class="cline-any cline-yes">2x</span>
|
|
774
|
+
<span class="cline-any cline-yes">2x</span>
|
|
740
775
|
<span class="cline-any cline-neutral"> </span>
|
|
741
776
|
<span class="cline-any cline-neutral"> </span>
|
|
742
|
-
<span class="cline-any cline-
|
|
743
|
-
<span class="cline-any cline-
|
|
777
|
+
<span class="cline-any cline-yes">2x</span>
|
|
778
|
+
<span class="cline-any cline-yes">2x</span>
|
|
744
779
|
<span class="cline-any cline-neutral"> </span>
|
|
745
780
|
<span class="cline-any cline-neutral"> </span>
|
|
746
781
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -748,7 +783,7 @@
|
|
|
748
783
|
<span class="cline-any cline-neutral"> </span>
|
|
749
784
|
<span class="cline-any cline-neutral"> </span>
|
|
750
785
|
<span class="cline-any cline-neutral"> </span>
|
|
751
|
-
<span class="cline-any cline-
|
|
786
|
+
<span class="cline-any cline-yes">2x</span>
|
|
752
787
|
<span class="cline-any cline-neutral"> </span>
|
|
753
788
|
<span class="cline-any cline-neutral"> </span>
|
|
754
789
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -765,7 +800,6 @@
|
|
|
765
800
|
<span class="cline-any cline-no"> </span>
|
|
766
801
|
<span class="cline-any cline-no"> </span>
|
|
767
802
|
<span class="cline-any cline-neutral"> </span>
|
|
768
|
-
<span class="cline-any cline-neutral"> </span>
|
|
769
803
|
<span class="cline-any cline-no"> </span>
|
|
770
804
|
<span class="cline-any cline-no"> </span>
|
|
771
805
|
<span class="cline-any cline-no"> </span>
|
|
@@ -861,6 +895,10 @@ import { getDominio, makeUrl } from './config';
|
|
|
861
895
|
export function encode(patient) {
|
|
862
896
|
if (patient) {
|
|
863
897
|
const identificadores: any = [];
|
|
898
|
+
identificadores.push({
|
|
899
|
+
system: getDominio(),
|
|
900
|
+
value: patient._id
|
|
901
|
+
});
|
|
864
902
|
if (patient.documento) {
|
|
865
903
|
identificadores.push({
|
|
866
904
|
system: 'http://www.renaper.gob.ar/dni',
|
|
@@ -873,10 +911,20 @@ export function encode(patient) {
|
|
|
873
911
|
value: patient.cuil
|
|
874
912
|
});
|
|
875
913
|
}
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
914
|
+
if (patient.numeroIdentificacion) {
|
|
915
|
+
if (patient.tipoIdentificacion === 'dni extranjero') {
|
|
916
|
+
identificadores.push({
|
|
917
|
+
system: 'andes.gob.ar/sid/foreign-id',
|
|
918
|
+
value: patient.numeroIdentificacion
|
|
919
|
+
});
|
|
920
|
+
}
|
|
921
|
+
if (patient.tipoIdentificacion === 'pasaporte') {
|
|
922
|
+
identificadores.push({
|
|
923
|
+
system: 'andes.gob.ar/sid/passport',
|
|
924
|
+
value: patient.numeroIdentificacion
|
|
925
|
+
});
|
|
926
|
+
}
|
|
927
|
+
}
|
|
880
928
|
// Parsea contactos
|
|
881
929
|
let contactos = patient.contacto ? patient.contacto.filter(c => c.valor).map(unContacto => {
|
|
882
930
|
let cont = {
|
|
@@ -936,8 +984,8 @@ export function encode(patient) {
|
|
|
936
984
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
937
985
|
}
|
|
938
986
|
let pacienteFHIR: any = {
|
|
939
|
-
id: patient.id,
|
|
940
987
|
resourceType: 'Patient',
|
|
988
|
+
id: patient._id,
|
|
941
989
|
identifier: identificadores,
|
|
942
990
|
active: patient.activo ? patient.activo : <span class="branch-1 cbranch-no" title="branch not covered" >null,</span> // Whether this patient's record is in active use
|
|
943
991
|
name: [{
|
|
@@ -945,15 +993,7 @@ export function encode(patient) {
|
|
|
945
993
|
resourceType: 'HumanName',
|
|
946
994
|
family: patient.apellido.split(' '),
|
|
947
995
|
given: patient.nombre.split(' '),
|
|
948
|
-
text: `${patient.nombre} ${patient.apellido}
|
|
949
|
-
_family: [{
|
|
950
|
-
extension: [
|
|
951
|
-
{
|
|
952
|
-
url: 'http://hl7.org/fhir/StructureDefinition/humanname-fathers-family',
|
|
953
|
-
valueString: patient.apellido
|
|
954
|
-
},
|
|
955
|
-
]
|
|
956
|
-
}],
|
|
996
|
+
text: `${patient.nombre} ${patient.apellido}`
|
|
957
997
|
}],
|
|
958
998
|
gender: genero, // male | female | other | unknown
|
|
959
999
|
birthDate: patient.fechaNacimiento ? typeof patient.fechaNacimiento === 'string' ? new Date(patient.fechaNacimiento).toISOString().slice(0, 10) : <span class="branch-1 cbranch-no" title="branch not covered" >patient.fechaNacimiento.toISOString().slice(0, 10) </span>: <span class="branch-1 cbranch-no" title="branch not covered" >null,</span>
|
|
@@ -1017,92 +1057,104 @@ export function encode(patient) {
|
|
|
1017
1057
|
* Decode a patient from FHIR to ANDES
|
|
1018
1058
|
* @param {} patient
|
|
1019
1059
|
*/
|
|
1020
|
-
export function
|
|
1060
|
+
export function decode(patient) {
|
|
1021
1061
|
let genero: string;
|
|
1022
1062
|
let sexo: string;
|
|
1023
1063
|
// Cuando el paciente viene por FHIR suponemos el valor del genero tanto para nuestro field genero como sexo
|
|
1024
|
-
|
|
1025
|
-
case 'female'
|
|
1064
|
+
switch (patient.gender) {
|
|
1065
|
+
<span class="branch-0 cbranch-no" title="branch not covered" > case 'female':</span>
|
|
1026
1066
|
<span class="cstat-no" title="statement not covered" > genero = 'femenino';</span>
|
|
1027
1067
|
<span class="cstat-no" title="statement not covered" > sexo = 'femenino';</span>
|
|
1028
1068
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
1029
1069
|
case 'male':
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
case 'other'
|
|
1070
|
+
genero = 'masculino';
|
|
1071
|
+
sexo = 'masculino';
|
|
1072
|
+
break;
|
|
1073
|
+
<span class="branch-2 cbranch-no" title="branch not covered" > case 'other':</span>
|
|
1034
1074
|
<span class="cstat-no" title="statement not covered" > genero = 'otro';</span>
|
|
1035
1075
|
<span class="cstat-no" title="statement not covered" > sexo = 'otro';</span>
|
|
1036
1076
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
1037
1077
|
}
|
|
1038
|
-
function
|
|
1039
|
-
const element =
|
|
1040
|
-
|
|
1041
|
-
|
|
1078
|
+
function getValue(items, key) {
|
|
1079
|
+
const element = items.find(el => el.system === key);
|
|
1080
|
+
if (element) {
|
|
1081
|
+
return element.value;
|
|
1042
1082
|
}
|
|
1043
1083
|
}
|
|
1044
|
-
|
|
1084
|
+
const tiposIdentificacion = ['andes.gob.ar/sid/foreign-id', 'andes.gob.ar/sid/passport'];
|
|
1085
|
+
const tipoAndes = ['dni extranjero', 'pasaporte'];
|
|
1086
|
+
let tipoIdentificacion;
|
|
1087
|
+
let numeroIdentificacion;
|
|
1088
|
+
for (let i = 0; i < tiposIdentificacion.length; i++) {
|
|
1089
|
+
if (getValue(patient.identifier, tiposIdentificacion[i])) {
|
|
1090
|
+
tipoIdentificacion = tipoAndes[i];
|
|
1091
|
+
numeroIdentificacion = getValue(patient.identifier, tiposIdentificacion[i]);
|
|
1092
|
+
}
|
|
1093
|
+
}
|
|
1094
|
+
let pacienteAndes = {
|
|
1045
1095
|
id: getValue(patient.identifier, makeUrl('Patient')),
|
|
1046
1096
|
documento: getValue(patient.identifier, 'http://www.renaper.gob.ar/dni'),
|
|
1097
|
+
tipoIdentificacion,
|
|
1098
|
+
numeroIdentificacion,
|
|
1047
1099
|
nombre: patient.name[0].given.join().replace(',', ' '),
|
|
1048
|
-
apellido: Array.isArray(patient.name[0].family) ? patient.name[0].family.join().replace(',', ' ') : patient.name[0].family
|
|
1100
|
+
apellido: Array.isArray(patient.name[0].family) ? patient.name[0].family.join().replace(',', ' ') : <span class="branch-1 cbranch-no" title="branch not covered" >patient.name[0].family,</span>
|
|
1049
1101
|
fechaNacimiento: patient.birthDate,
|
|
1050
1102
|
genero,
|
|
1051
1103
|
sexo,
|
|
1052
1104
|
estado: 'temporal', // Todos los pacientes que recibimos por Fhir son considerados temporales en su conversión.
|
|
1053
1105
|
createdBy: null
|
|
1054
1106
|
};
|
|
1055
|
-
let contactos =
|
|
1056
|
-
let cont =
|
|
1107
|
+
let contactos = patient.telecom ? patient.telecom.map(unContacto => {
|
|
1108
|
+
let cont = {
|
|
1057
1109
|
valor: unContacto.value,
|
|
1058
1110
|
ranking: unContacto.rank
|
|
1059
1111
|
};
|
|
1060
|
-
|
|
1112
|
+
switch (unContacto.system) {
|
|
1061
1113
|
case 'phone':
|
|
1062
|
-
|
|
1063
|
-
|
|
1114
|
+
cont['tipo'] = 'celular';
|
|
1115
|
+
break;
|
|
1064
1116
|
case 'email':
|
|
1065
|
-
|
|
1066
|
-
|
|
1117
|
+
cont['tipo'] = 'email';
|
|
1118
|
+
break;
|
|
1067
1119
|
}
|
|
1068
|
-
|
|
1069
|
-
}) : []
|
|
1120
|
+
return cont;
|
|
1121
|
+
}) : <span class="branch-1 cbranch-no" title="branch not covered" >[];</span>
|
|
1070
1122
|
|
|
1071
|
-
let relaciones =
|
|
1072
|
-
let relacion =
|
|
1123
|
+
let relaciones = patient.contact ? patient.contact.map(aContact => {
|
|
1124
|
+
let relacion = {
|
|
1073
1125
|
relacion: {
|
|
1074
1126
|
nombre: aContact.relationship[0].text
|
|
1075
1127
|
},
|
|
1076
1128
|
nombre: aContact.name.given.join().replace(',', ' '),
|
|
1077
1129
|
apellido: aContact.name.family
|
|
1078
1130
|
};
|
|
1079
|
-
|
|
1080
|
-
}) : []
|
|
1131
|
+
return relacion;
|
|
1132
|
+
}) : <span class="branch-1 cbranch-no" title="branch not covered" >[];</span>
|
|
1081
1133
|
|
|
1082
|
-
|
|
1134
|
+
if (patient.maritalStatus) {
|
|
1083
1135
|
let estadoCivil;
|
|
1084
|
-
|
|
1085
|
-
case 'Married'
|
|
1136
|
+
switch (patient.maritalStatus['text']) {
|
|
1137
|
+
<span class="branch-0 cbranch-no" title="branch not covered" > case 'Married':</span>
|
|
1086
1138
|
<span class="cstat-no" title="statement not covered" > estadoCivil = 'casado';</span>
|
|
1087
1139
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
1088
|
-
case 'Divorced'
|
|
1140
|
+
<span class="branch-1 cbranch-no" title="branch not covered" > case 'Divorced':</span>
|
|
1089
1141
|
<span class="cstat-no" title="statement not covered" > estadoCivil = 'divorciado';</span>
|
|
1090
1142
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
1091
|
-
case 'Widowed'
|
|
1143
|
+
<span class="branch-2 cbranch-no" title="branch not covered" > case 'Widowed':</span>
|
|
1092
1144
|
<span class="cstat-no" title="statement not covered" > estadoCivil = 'viudo';</span>
|
|
1093
1145
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
1094
1146
|
case 'unmarried':
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
default
|
|
1147
|
+
estadoCivil = 'soltero';
|
|
1148
|
+
break;
|
|
1149
|
+
<span class="branch-4 cbranch-no" title="branch not covered" > default:</span>
|
|
1098
1150
|
<span class="cstat-no" title="statement not covered" > estadoCivil = 'otro';</span>
|
|
1099
1151
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
1100
1152
|
}
|
|
1101
|
-
|
|
1153
|
+
pacienteAndes['estadoCivil'] = estadoCivil;
|
|
1102
1154
|
}
|
|
1103
1155
|
|
|
1104
|
-
let direcciones =
|
|
1105
|
-
let dir =
|
|
1156
|
+
let direcciones = patient.address ? patient.address.map(unaDireccion => {
|
|
1157
|
+
let dir = {
|
|
1106
1158
|
activo: true,
|
|
1107
1159
|
valor: unaDireccion.line,
|
|
1108
1160
|
codigoPostal: unaDireccion.postalCode,
|
|
@@ -1114,27 +1166,27 @@ export function <span class="fstat-no" title="function not covered" >decode(</sp
|
|
|
1114
1166
|
localidad: unaDireccion.city
|
|
1115
1167
|
}
|
|
1116
1168
|
};
|
|
1117
|
-
|
|
1118
|
-
}) : []
|
|
1169
|
+
return dir;
|
|
1170
|
+
}) : <span class="branch-1 cbranch-no" title="branch not covered" >[];</span>
|
|
1119
1171
|
|
|
1120
|
-
|
|
1172
|
+
pacienteAndes['direccion'] = direcciones;
|
|
1121
1173
|
|
|
1122
|
-
|
|
1123
|
-
|
|
1174
|
+
if (patient.active) {
|
|
1175
|
+
pacienteAndes['activo'] = patient.active;
|
|
1124
1176
|
}
|
|
1125
|
-
|
|
1126
|
-
|
|
1177
|
+
if (contactos.length > 0) {
|
|
1178
|
+
pacienteAndes['contacto'] = contactos;
|
|
1127
1179
|
}
|
|
1128
|
-
|
|
1180
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (patient.photo) { // Image of the patient
|
|
1129
1181
|
<span class="cstat-no" title="statement not covered" > pacienteAndes['foto'] = patient.photo[0].data;</span>
|
|
1130
1182
|
}
|
|
1131
1183
|
|
|
1132
|
-
|
|
1133
|
-
|
|
1184
|
+
if (patient.contact) {
|
|
1185
|
+
pacienteAndes['relaciones'] = relaciones;
|
|
1134
1186
|
}
|
|
1135
1187
|
|
|
1136
|
-
|
|
1137
|
-
|
|
1188
|
+
if (patient.managingOrganization) {
|
|
1189
|
+
pacienteAndes['createdBy'] = {
|
|
1138
1190
|
organizacion: {
|
|
1139
1191
|
id: patient.managingOrganization.reference,
|
|
1140
1192
|
nombre: patient.managingOrganization.display
|
|
@@ -1142,7 +1194,7 @@ export function <span class="fstat-no" title="function not covered" >decode(</sp
|
|
|
1142
1194
|
};
|
|
1143
1195
|
}
|
|
1144
1196
|
|
|
1145
|
-
|
|
1197
|
+
return pacienteAndes;
|
|
1146
1198
|
}
|
|
1147
1199
|
|
|
1148
1200
|
/**
|
|
@@ -1158,7 +1210,6 @@ export function <span class="fstat-no" title="function not covered" >verify(</sp
|
|
|
1158
1210
|
<span class="cstat-no" title="statement not covered" > respuesta = respuesta && ('identifier' in patient);</span>
|
|
1159
1211
|
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (patient.identifier.length > 0) {</span>
|
|
1160
1212
|
<span class="cstat-no" title="statement not covered" > patient.identifier.forEach(<span class="fstat-no" title="function not covered" >anIdentifier </span>=> <span class="cstat-no" title="statement not covered" >respuesta = respuesta && Object.keys(anIdentifier).every(identifierFields))</span>;</span>
|
|
1161
|
-
|
|
1162
1213
|
}
|
|
1163
1214
|
<span class="cstat-no" title="statement not covered" > patient.name.forEach(<span class="fstat-no" title="function not covered" >aName </span>=> <span class="cstat-no" title="statement not covered" >respuesta = respuesta && validName(aName))</span>;</span>
|
|
1164
1215
|
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (patient.active) {</span>
|
|
@@ -1252,7 +1303,7 @@ function <span class="fstat-no" title="function not covered" >areStrings(</span>
|
|
|
1252
1303
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1253
1304
|
Code coverage generated by
|
|
1254
1305
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1255
|
-
at 2025-11-
|
|
1306
|
+
at 2025-11-07T18:06:39.937Z
|
|
1256
1307
|
</div>
|
|
1257
1308
|
<script src="../prettify.js"></script>
|
|
1258
1309
|
<script>
|