@openmrs/ngx-formentry 3.0.1-pre.62 → 3.0.1-pre.64
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/bundles/openmrs-ngx-formentry.umd.js +261 -0
- package/bundles/openmrs-ngx-formentry.umd.js.map +1 -1
- package/esm2015/form-entry/helpers/js-expression-helper.js +16 -1
- package/esm2015/form-entry/helpers/risk-dataset-table.js +247 -0
- package/fesm2015/openmrs-ngx-formentry.js +261 -0
- package/fesm2015/openmrs-ngx-formentry.js.map +1 -1
- package/form-entry/helpers/js-expression-helper.d.ts +2 -0
- package/form-entry/helpers/risk-dataset-table.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1590,6 +1590,253 @@
|
|
|
1590
1590
|
return QuestionBase;
|
|
1591
1591
|
}());
|
|
1592
1592
|
|
|
1593
|
+
// South East Asia Non Laboratory CVD Risk Array of Arrays
|
|
1594
|
+
// Vertically we have the BMI value eg for the first array [26(bmi < 20), 28(bmi 20 - 24), 30(bmi 25 - 29), 32(bmi 30 - 35), 34(bmi >= 35)]
|
|
1595
|
+
var southEastAsiaCvdRiskTables = [
|
|
1596
|
+
// Men
|
|
1597
|
+
[
|
|
1598
|
+
// Non smoker
|
|
1599
|
+
[
|
|
1600
|
+
// Age 70 - 74
|
|
1601
|
+
[
|
|
1602
|
+
[26, 28, 30, 32, 34],
|
|
1603
|
+
[21, 23, 25, 26, 28],
|
|
1604
|
+
[17, 19, 20, 21, 23],
|
|
1605
|
+
[14, 15, 16, 17, 18],
|
|
1606
|
+
[11, 12, 13, 14, 15], // sbp < 120
|
|
1607
|
+
],
|
|
1608
|
+
// Age 65 - 69
|
|
1609
|
+
[
|
|
1610
|
+
[20, 22, 24, 26, 28],
|
|
1611
|
+
[16, 17, 19, 21, 22],
|
|
1612
|
+
[12, 14, 15, 16, 18],
|
|
1613
|
+
[10, 11, 12, 13, 14],
|
|
1614
|
+
[8, 8, 9, 10, 11], // < 120
|
|
1615
|
+
],
|
|
1616
|
+
// Age 60 - 64
|
|
1617
|
+
[
|
|
1618
|
+
[15, 17, 19, 21, 23],
|
|
1619
|
+
[12, 13, 14, 16, 18],
|
|
1620
|
+
[9, 10, 11, 12, 14],
|
|
1621
|
+
[7, 8, 8, 9, 10],
|
|
1622
|
+
[5, 6, 6, 7, 8], // sbp < 120
|
|
1623
|
+
],
|
|
1624
|
+
// Age 55 - 59
|
|
1625
|
+
[
|
|
1626
|
+
[12, 13, 15, 16, 18],
|
|
1627
|
+
[9, 10, 11, 12, 14],
|
|
1628
|
+
[7, 7, 8, 9, 10],
|
|
1629
|
+
[5, 5, 6, 7, 8],
|
|
1630
|
+
[4, 4, 4, 5, 6], // sbp < 120
|
|
1631
|
+
],
|
|
1632
|
+
// Age 50 - 54
|
|
1633
|
+
[
|
|
1634
|
+
[9, 10, 11, 13, 15],
|
|
1635
|
+
[7, 7, 8, 9, 11],
|
|
1636
|
+
[5, 5, 6, 7, 8],
|
|
1637
|
+
[3, 4, 4, 5, 6],
|
|
1638
|
+
[2, 3, 3, 4, 4], // sbp < 120
|
|
1639
|
+
],
|
|
1640
|
+
// Age 45 - 49
|
|
1641
|
+
[
|
|
1642
|
+
[7, 8, 9, 10, 12],
|
|
1643
|
+
[5, 6, 6, 7, 8],
|
|
1644
|
+
[3, 4, 4, 5, 6],
|
|
1645
|
+
[2, 3, 3, 4, 4],
|
|
1646
|
+
[2, 2, 2, 2, 3], // < 120
|
|
1647
|
+
],
|
|
1648
|
+
// Age 40 - 44
|
|
1649
|
+
[
|
|
1650
|
+
[5, 6, 7, 8, 10],
|
|
1651
|
+
[4, 4, 5, 6, 7],
|
|
1652
|
+
[2, 3, 3, 4, 4],
|
|
1653
|
+
[2, 2, 2, 3, 3],
|
|
1654
|
+
[1, 1, 2, 2, 2],
|
|
1655
|
+
],
|
|
1656
|
+
],
|
|
1657
|
+
// Smoker
|
|
1658
|
+
[
|
|
1659
|
+
// Age 70 - 74
|
|
1660
|
+
[
|
|
1661
|
+
[34, 36, 39, 41, 44],
|
|
1662
|
+
[28, 30, 32, 34, 36],
|
|
1663
|
+
[23, 24, 26, 28, 30],
|
|
1664
|
+
[18, 20, 21, 23, 24],
|
|
1665
|
+
[15, 16, 17, 18, 20], // < 120
|
|
1666
|
+
],
|
|
1667
|
+
// Age 65 - 69
|
|
1668
|
+
[
|
|
1669
|
+
[28, 30, 33, 36, 39],
|
|
1670
|
+
[22, 24, 26, 29, 31],
|
|
1671
|
+
[18, 19, 21, 23, 25],
|
|
1672
|
+
[14, 15, 16, 18, 20],
|
|
1673
|
+
[11, 12, 13, 14, 16], // < 120
|
|
1674
|
+
],
|
|
1675
|
+
// Age 60 - 64
|
|
1676
|
+
[
|
|
1677
|
+
[23, 25, 28, 31, 34],
|
|
1678
|
+
[18, 18, 20, 22, 24],
|
|
1679
|
+
[14, 15, 17, 19, 21],
|
|
1680
|
+
[10, 12, 13, 14, 16],
|
|
1681
|
+
[8, 9, 10, 11, 12], // < 120
|
|
1682
|
+
],
|
|
1683
|
+
// Age 55 - 59
|
|
1684
|
+
[
|
|
1685
|
+
[19, 21, 24, 27, 30],
|
|
1686
|
+
[14, 16, 18, 20, 23],
|
|
1687
|
+
[11, 12, 13, 15, 17],
|
|
1688
|
+
[8, 9, 10, 11, 13],
|
|
1689
|
+
[6, 7, 7, 8, 10],
|
|
1690
|
+
],
|
|
1691
|
+
// Age 50 - 54
|
|
1692
|
+
[
|
|
1693
|
+
[15, 18, 20, 23, 27],
|
|
1694
|
+
[11, 13, 15, 17, 20],
|
|
1695
|
+
[8, 9, 11, 12, 14],
|
|
1696
|
+
[6, 7, 8, 9, 11],
|
|
1697
|
+
[4, 5, 6, 7, 8],
|
|
1698
|
+
],
|
|
1699
|
+
// Age 45 - 49
|
|
1700
|
+
[
|
|
1701
|
+
[13, 15, 17, 20, 23],
|
|
1702
|
+
[9, 10, 12, 14, 17],
|
|
1703
|
+
[6, 7, 9, 10, 12],
|
|
1704
|
+
[4, 5, 6, 7, 8],
|
|
1705
|
+
[3, 4, 4, 5, 6],
|
|
1706
|
+
],
|
|
1707
|
+
// Age 40 - 44
|
|
1708
|
+
[
|
|
1709
|
+
[10, 12, 14, 17, 20],
|
|
1710
|
+
[7, 8, 10, 12, 14],
|
|
1711
|
+
[5, 6, 7, 8, 10],
|
|
1712
|
+
[3, 4, 5, 6, 7],
|
|
1713
|
+
[2, 3, 3, 4, 5],
|
|
1714
|
+
],
|
|
1715
|
+
],
|
|
1716
|
+
],
|
|
1717
|
+
// Women
|
|
1718
|
+
[
|
|
1719
|
+
// Non smoker
|
|
1720
|
+
[
|
|
1721
|
+
// Age 70 -74
|
|
1722
|
+
[
|
|
1723
|
+
[21, 22, 22, 23, 24],
|
|
1724
|
+
[17, 18, 19, 19, 20],
|
|
1725
|
+
[15, 15, 16, 16, 17],
|
|
1726
|
+
[12, 12, 13, 13, 14],
|
|
1727
|
+
[10, 10, 11, 11, 11], // < 120
|
|
1728
|
+
],
|
|
1729
|
+
// Age 65 - 69
|
|
1730
|
+
[
|
|
1731
|
+
[16, 17, 18, 18, 19],
|
|
1732
|
+
[13, 14, 14, 15, 15],
|
|
1733
|
+
[11, 11, 11, 12, 12],
|
|
1734
|
+
[9, 9, 9, 10, 10],
|
|
1735
|
+
[7, 7, 7, 8, 8],
|
|
1736
|
+
],
|
|
1737
|
+
// Age 60 - 64
|
|
1738
|
+
[
|
|
1739
|
+
[13, 13, 14, 14, 15],
|
|
1740
|
+
[10, 10, 11, 11, 12],
|
|
1741
|
+
[8, 8, 8, 9, 9],
|
|
1742
|
+
[6, 6, 7, 7, 7],
|
|
1743
|
+
[5, 5, 5, 5, 6],
|
|
1744
|
+
],
|
|
1745
|
+
// Age 55 - 59
|
|
1746
|
+
[
|
|
1747
|
+
[10, 10, 11, 11, 12],
|
|
1748
|
+
[8, 8, 8, 9, 9],
|
|
1749
|
+
[6, 6, 6, 7, 7],
|
|
1750
|
+
[4, 5, 5, 5, 5],
|
|
1751
|
+
[3, 3, 4, 4, 4],
|
|
1752
|
+
],
|
|
1753
|
+
// Age 50 - 54
|
|
1754
|
+
[
|
|
1755
|
+
[8, 8, 8, 9, 9],
|
|
1756
|
+
[6, 6, 6, 7, 7],
|
|
1757
|
+
[4, 4, 5, 5, 5],
|
|
1758
|
+
[3, 3, 3, 4, 4],
|
|
1759
|
+
[2, 2, 3, 3, 3],
|
|
1760
|
+
],
|
|
1761
|
+
// Age 45 - 49
|
|
1762
|
+
[
|
|
1763
|
+
[6, 6, 7, 7, 7],
|
|
1764
|
+
[4, 5, 5, 5, 5],
|
|
1765
|
+
[3, 3, 3, 4, 4],
|
|
1766
|
+
[2, 2, 2, 3, 3],
|
|
1767
|
+
[2, 2, 2, 2, 2],
|
|
1768
|
+
],
|
|
1769
|
+
// Age 40 - 44
|
|
1770
|
+
[
|
|
1771
|
+
[5, 5, 5, 5, 6],
|
|
1772
|
+
[3, 3, 4, 4, 4],
|
|
1773
|
+
[2, 2, 3, 3, 3],
|
|
1774
|
+
[2, 2, 2, 2, 2],
|
|
1775
|
+
[1, 1, 1, 1, 1],
|
|
1776
|
+
],
|
|
1777
|
+
],
|
|
1778
|
+
// Smoker
|
|
1779
|
+
[
|
|
1780
|
+
// Age 70 - 74
|
|
1781
|
+
[
|
|
1782
|
+
[30, 31, 32, 33, 34],
|
|
1783
|
+
[25, 26, 27, 28, 29],
|
|
1784
|
+
[21, 22, 22, 23, 24],
|
|
1785
|
+
[17, 18, 19, 19, 20],
|
|
1786
|
+
[14, 15, 15, 16, 17],
|
|
1787
|
+
],
|
|
1788
|
+
// Age 65 - 69
|
|
1789
|
+
[
|
|
1790
|
+
[25, 26, 27, 29, 30],
|
|
1791
|
+
[21, 22, 22, 23, 24],
|
|
1792
|
+
[17, 18, 18, 19, 20],
|
|
1793
|
+
[14, 14, 15, 15, 16],
|
|
1794
|
+
[11, 11, 12, 12, 13],
|
|
1795
|
+
],
|
|
1796
|
+
// Age 60 - 64
|
|
1797
|
+
[
|
|
1798
|
+
[21, 22, 23, 25, 26],
|
|
1799
|
+
[17, 18, 19, 20, 21],
|
|
1800
|
+
[13, 14, 15, 16, 16],
|
|
1801
|
+
[11, 11, 12, 12, 13],
|
|
1802
|
+
[8, 9, 9, 10, 10],
|
|
1803
|
+
],
|
|
1804
|
+
// Age 55 - 59
|
|
1805
|
+
[
|
|
1806
|
+
[18, 19, 20, 21, 22],
|
|
1807
|
+
[14, 15, 15, 16, 17],
|
|
1808
|
+
[11, 11, 12, 13, 13],
|
|
1809
|
+
[8, 9, 9, 10, 10],
|
|
1810
|
+
[6, 7, 7, 7, 8],
|
|
1811
|
+
],
|
|
1812
|
+
// Age 50 - 54
|
|
1813
|
+
[
|
|
1814
|
+
[15, 16, 17, 18, 19],
|
|
1815
|
+
[11, 12, 13, 14, 14],
|
|
1816
|
+
[9, 9, 10, 10, 11],
|
|
1817
|
+
[6, 7, 7, 8, 8],
|
|
1818
|
+
[5, 5, 5, 6, 6],
|
|
1819
|
+
],
|
|
1820
|
+
// Age 45 - 49
|
|
1821
|
+
[
|
|
1822
|
+
[13, 14, 14, 15, 16],
|
|
1823
|
+
[9, 10, 11, 11, 12],
|
|
1824
|
+
[7, 7, 8, 8, 9],
|
|
1825
|
+
[5, 5, 6, 6, 6],
|
|
1826
|
+
[4, 4, 4, 4, 5],
|
|
1827
|
+
],
|
|
1828
|
+
// Age 40 - 44
|
|
1829
|
+
[
|
|
1830
|
+
[11, 11, 12, 13, 14],
|
|
1831
|
+
[8, 8, 9, 9, 10],
|
|
1832
|
+
[5, 6, 6, 7, 7],
|
|
1833
|
+
[4, 4, 4, 5, 5],
|
|
1834
|
+
[3, 3, 3, 3, 4],
|
|
1835
|
+
],
|
|
1836
|
+
],
|
|
1837
|
+
],
|
|
1838
|
+
];
|
|
1839
|
+
|
|
1593
1840
|
var JsExpressionHelper = /** @class */ (function () {
|
|
1594
1841
|
function JsExpressionHelper() {
|
|
1595
1842
|
}
|
|
@@ -1743,6 +1990,19 @@
|
|
|
1743
1990
|
}
|
|
1744
1991
|
return height && weight && refSectionObject ? formattedSDValue : null;
|
|
1745
1992
|
};
|
|
1993
|
+
JsExpressionHelper.prototype.calcSouthEastAsiaNonLabCVDRisk = function (sex, smoker, age, sbp, bmi) {
|
|
1994
|
+
// Bin functions
|
|
1995
|
+
var getAgeBin = function (age) { return Math.floor((Math.min(Math.max(40, age), 74) - 40) / 5); };
|
|
1996
|
+
var getSbpBin = function (sbp) { return Math.max(0, Math.floor((Math.min(sbp, 180) - 120) / 20) + 1); };
|
|
1997
|
+
var getBmiBin = function (bmi) { return Math.max(0, Math.floor((Math.min(bmi, 35) - 20) / 5) + 1); };
|
|
1998
|
+
// Variables
|
|
1999
|
+
var sexIdx = sex === 'M' ? 0 : 1;
|
|
2000
|
+
var smokerIdx = smoker ? 1 : 0;
|
|
2001
|
+
var ageIdx = 6 - getAgeBin(age);
|
|
2002
|
+
var bmiIdx = getBmiBin(bmi);
|
|
2003
|
+
var sbpIdx = 4 - getSbpBin(sbp);
|
|
2004
|
+
return southEastAsiaCvdRiskTables[sexIdx][smokerIdx][ageIdx][sbpIdx][bmiIdx];
|
|
2005
|
+
};
|
|
1746
2006
|
JsExpressionHelper.prototype.isEmpty = function (val) {
|
|
1747
2007
|
if (val === undefined ||
|
|
1748
2008
|
val === null ||
|
|
@@ -1819,6 +2079,7 @@
|
|
|
1819
2079
|
calcBMIForAgeZscore: helper.calcBMIForAgeZscore,
|
|
1820
2080
|
calcWeightForHeightZscore: helper.calcWeightForHeightZscore,
|
|
1821
2081
|
calcHeightForAgeZscore: helper.calcHeightForAgeZscore,
|
|
2082
|
+
calcSouthEastAsiaNonLabCVDRisk: helper.calcSouthEastAsiaNonLabCVDRisk,
|
|
1822
2083
|
isEmpty: helper.isEmpty,
|
|
1823
2084
|
arrayContains: helper.arrayContains,
|
|
1824
2085
|
extractRepeatingGroupValues: helper.extractRepeatingGroupValues
|