WHO Clinical Care in Crisis Implementation Guide for Children
0.1.0 - ci-build

WHO Clinical Care in Crisis Implementation Guide for Children - Local Development build (v0.1.0). See the Directory of published versions

: BMIForAge - JSON Representation

Active as of 2023-10-04

Raw json | Download


{
  "resourceType" : "Library",
  "id" : "BMIForAge",
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><h2>Related Artifacts</h2><table class=\"grid\"><tr><td>depends-on</td><td><a href=\"Library-anthrobase.html\">anthrobase</a></td></tr><tr><td>depends-on</td><td><code>http://fhir.org/guides/who/anc-cds/Library/FHIRHelpers</code></td></tr></table><h2>Parameters</h2><table class=\"grid\"><tr><td>zscore</td><td>in</td><td/><td/><td>decimal</td></tr><tr><td>Age</td><td>in</td><td/><td/><td>decimal</td></tr><tr><td>sex</td><td>in</td><td/><td/><td>decimal</td></tr><tr><td>generateBMIFromAge</td><td>out</td><td/><td/><td>decimal</td></tr><tr><td>generateZScoreBMIForAge</td><td>out</td><td/><td/><td>decimal</td></tr><tr><td>ZscoreBMIForAgetables_s</td><td>out</td><td/><td/><td>decimal</td></tr><tr><td>ZscoreBMIForAgetables_m</td><td>out</td><td/><td/><td>decimal</td></tr><tr><td>ZscoreBMIForAgetables_l</td><td>out</td><td/><td/><td>decimal</td></tr></table><h2>Data Requirements</h2><table class=\"grid\"><tr><td colspan=\"2\"><b>Type</b>: <a href=\"http://hl7.org/fhir/R4/patient.html\">Patient</a> (<a href=\"http://hl7.org/fhir/R4/patient.html\">Patient</a>)</td></tr></table><h2>Contents</h2><p><code>text/cql</code></p><pre><code class=\"language-sql\">\nlibrary BMIForAge version '1.0.4'\nusing FHIR version '4.0.1'\ninclude anthrobase version '1.0.4' called base\ninclude FHIRHelpers version '4.0.1' called FHIRHelpers\n\n// Antrho library for BMIForAge  Z-Score from the bmianthro files\ncodesystem &quot;administrative-gender&quot;: 'http://hl7.org/fhir/administrative-gender'\n//code &quot;Female&quot; : 'female' from &quot;administrative-gender&quot;  display 'Female'\n\n\ndefine BMIForAgeFemale:\n{\n\t{y:0.0,l:-0.0631,s:0.09272,m:13.3363},\n\t{y:1.0,l:0.0362,s:0.0936,m:13.3185},\n\t{y:2.0,l:0.1355,s:0.09448,m:13.3006},\n\t{y:3.0,l:0.2347,s:0.09535,m:13.2828},\n\t{y:4.0,l:0.334,s:0.09623,m:13.2649},\n\t{y:5.0,l:0.4333,s:0.09711,m:13.247},\n\t{y:6.0,l:0.5326,s:0.09799,m:13.2292},\n\t{y:7.0,l:0.6319,s:0.09887,m:13.2113},\n\t{y:8.0,l:0.6142,s:0.09866,m:13.2455},\n\t{y:9.0,l:0.5965,s:0.09845,m:13.2796},\n\t{y:10.0,l:0.5789,s:0.09824,m:13.3137},\n\t{y:11.0,l:0.5612,s:0.09804,m:13.3478},\n\t{y:12.0,l:0.5435,s:0.09783,m:13.3819},\n\t{y:13.0,l:0.5258,s:0.09762,m:13.416},\n\t{y:14.0,l:0.5082,s:0.09741,m:13.4501},\n\t{y:15.0,l:0.4947,s:0.09726,m:13.5169},\n\t{y:16.0,l:0.482,s:0.09711,m:13.5873},\n\t{y:17.0,l:0.4699,s:0.09697,m:13.6595},\n\t{y:18.0,l:0.4583,s:0.09684,m:13.7325},\n\t{y:19.0,l:0.4472,s:0.09671,m:13.8056},\n\t{y:20.0,l:0.4365,s:0.09659,m:13.8784},\n\t{y:21.0,l:0.4263,s:0.09647,m:13.9505},\n\t{y:22.0,l:0.4164,s:0.09636,m:14.0216},\n\t{y:23.0,l:0.4069,s:0.09625,m:14.0916},\n\t{y:24.0,l:0.3977,s:0.09615,m:14.1603},\n\t{y:25.0,l:0.3888,s:0.09605,m:14.2276},\n\t{y:26.0,l:0.3802,s:0.09595,m:14.2935},\n\t{y:27.0,l:0.3718,s:0.09586,m:14.3579},\n\t{y:28.0,l:0.3637,s:0.09577,m:14.4208},\n\t{y:29.0,l:0.3558,s:0.09568,m:14.4824},\n\t{y:30.0,l:0.3481,s:0.09559,m:14.5422},\n\t{y:31.0,l:0.3406,s:0.09551,m:14.6003},\n\t{y:32.0,l:0.3333,s:0.09543,m:14.6566},\n\t{y:33.0,l:0.3262,s:0.09535,m:14.7112},\n\t{y:34.0,l:0.3192,s:0.09527,m:14.7642},\n\t{y:35.0,l:0.3124,s:0.0952,m:14.8157},\n\t{y:36.0,l:0.3058,s:0.09513,m:14.8657},\n\t{y:37.0,l:0.2993,s:0.09506,m:14.9142},\n\t{y:38.0,l:0.2929,s:0.09499,m:14.9614},\n\t{y:39.0,l:0.2867,s:0.09492,m:15.0073},\n\t{y:40.0,l:0.2806,s:0.09485,m:15.052},\n\t{y:41.0,l:0.2747,s:0.09479,m:15.0955},\n\t{y:42.0,l:0.2688,s:0.09472,m:15.138},\n\t{y:43.0,l:0.263,s:0.09466,m:15.1794},\n\t{y:44.0,l:0.2574,s:0.0946,m:15.2198},\n\t{y:45.0,l:0.2519,s:0.09454,m:15.2591},\n\t{y:46.0,l:0.2464,s:0.09448,m:15.2974},\n\t{y:47.0,l:0.2411,s:0.09442,m:15.3347},\n\t{y:48.0,l:0.2358,s:0.09436,m:15.3709},\n\t{y:49.0,l:0.2306,s:0.09431,m:15.4063},\n\t{y:50.0,l:0.2255,s:0.09425,m:15.4408},\n\t{y:51.0,l:0.2205,s:0.0942,m:15.4744},\n\t{y:52.0,l:0.2156,s:0.09415,m:15.5072},\n\t{y:53.0,l:0.2107,s:0.0941,m:15.5393},\n\t{y:54.0,l:0.2059,s:0.09404,m:15.5706},\n\t{y:55.0,l:0.2012,s:0.09399,m:15.6012},\n\t{y:56.0,l:0.1966,s:0.09394,m:15.6311},\n\t{y:57.0,l:0.192,s:0.09389,m:15.6604},\n\t{y:58.0,l:0.1875,s:0.09385,m:15.689},\n\t{y:59.0,l:0.183,s:0.0938,m:15.717},\n\t{y:60.0,l:0.1787,s:0.09375,m:15.7444},\n\t{y:63.0,l:0.1658,s:0.09361,m:15.8232},\n\t{y:70.0,l:0.1377,s:0.09332,m:15.9874},\n\t{y:77.0,l:0.1118,s:0.09304,m:16.1277},\n\t{y:84.0,l:0.0877,s:0.09279,m:16.2485},\n\t{y:91.0,l:0.0652,s:0.09255,m:16.3531},\n\t{y:98.0,l:0.0442,s:0.09233,m:16.4438},\n\t{y:105.0,l:0.0243,s:0.09212,m:16.5222},\n\t{y:112.0,l:0.0055,s:0.09192,m:16.5901},\n\t{y:119.0,l:-0.0124,s:0.09173,m:16.6492},\n\t{y:126.0,l:-0.0293,s:0.09156,m:16.7009},\n\t{y:133.0,l:-0.0455,s:0.09139,m:16.746},\n\t{y:140.0,l:-0.061,s:0.09122,m:16.7848},\n\t{y:147.0,l:-0.0758,s:0.09107,m:16.8178},\n\t{y:154.0,l:-0.0901,s:0.09092,m:16.8452},\n\t{y:161.0,l:-0.1037,s:0.09077,m:16.8677},\n\t{y:168.0,l:-0.1169,s:0.09063,m:16.8854},\n\t{y:175.0,l:-0.1296,s:0.0905,m:16.8987},\n\t{y:182.0,l:-0.1418,s:0.09037,m:16.9077},\n\t{y:197.0,l:-0.1668,s:0.09011,m:16.9135},\n\t{y:227.0,l:-0.2119,s:0.08963,m:16.8795},\n\t{y:257.0,l:-0.2518,s:0.0892,m:16.7999},\n\t{y:287.0,l:-0.2876,s:0.08882,m:16.69},\n\t{y:317.0,l:-0.3201,s:0.08847,m:16.5645},\n\t{y:347.0,l:-0.3498,s:0.08815,m:16.4347},\n\t{y:377.0,l:-0.3772,s:0.08785,m:16.3075},\n\t{y:407.0,l:-0.4025,s:0.08758,m:16.1862},\n\t{y:437.0,l:-0.4261,s:0.08732,m:16.0725},\n\t{y:467.0,l:-0.4482,s:0.08708,m:15.9671},\n\t{y:497.0,l:-0.469,s:0.08686,m:15.8704},\n\t{y:527.0,l:-0.4887,s:0.08664,m:15.7825},\n\t{y:557.0,l:-0.5073,s:0.08644,m:15.703},\n\t{y:587.0,l:-0.525,s:0.08625,m:15.6319},\n\t{y:617.0,l:-0.5418,s:0.08607,m:15.569},\n\t{y:647.0,l:-0.5578,s:0.08589,m:15.5144},\n\t{y:677.0,l:-0.5732,s:0.08573,m:15.4681},\n\t{y:707.0,l:-0.588,s:0.08556,m:15.4298},\n\t{y:737.0,l:-0.5684,s:0.08454,m:15.6822},\n\t{y:767.0,l:-0.5684,s:0.08451,m:15.6532},\n\t{y:797.0,l:-0.5684,s:0.08449,m:15.6257},\n\t{y:827.0,l:-0.5684,s:0.08446,m:15.5992},\n\t{y:857.0,l:-0.5684,s:0.08444,m:15.5737},\n\t{y:887.0,l:-0.5684,s:0.08443,m:15.5488},\n\t{y:917.0,l:-0.5684,s:0.08444,m:15.5245},\n\t{y:947.0,l:-0.5684,s:0.08448,m:15.5007},\n\t{y:977.0,l:-0.5684,s:0.08456,m:15.4776},\n\t{y:1007.0,l:-0.5684,s:0.08468,m:15.4553},\n\t{y:1037.0,l:-0.5684,s:0.08485,m:15.4342},\n\t{y:1067.0,l:-0.5684,s:0.08508,m:15.4144},\n\t{y:1097.0,l:-0.5684,s:0.08536,m:15.396},\n\t{y:1127.0,l:-0.5684,s:0.0857,m:15.3791},\n\t{y:1157.0,l:-0.5684,s:0.08609,m:15.3636},\n\t{y:1187.0,l:-0.5684,s:0.08654,m:15.3493},\n\t{y:1217.0,l:-0.5684,s:0.08703,m:15.336},\n\t{y:1247.0,l:-0.5684,s:0.08755,m:15.3236},\n\t{y:1277.0,l:-0.5684,s:0.08811,m:15.3121},\n\t{y:1307.0,l:-0.5684,s:0.08868,m:15.3013},\n\t{y:1337.0,l:-0.5684,s:0.08927,m:15.2913},\n\t{y:1367.0,l:-0.5684,s:0.08986,m:15.2821},\n\t{y:1397.0,l:-0.5684,s:0.09045,m:15.274},\n\t{y:1427.0,l:-0.5684,s:0.09103,m:15.2669},\n\t{y:1457.0,l:-0.5684,s:0.09161,m:15.2609},\n\t{y:1487.0,l:-0.5684,s:0.09219,m:15.2562},\n\t{y:1517.0,l:-0.5684,s:0.09277,m:15.2527},\n\t{y:1547.0,l:-0.5684,s:0.09335,m:15.2506},\n\t{y:1577.0,l:-0.5684,s:0.09392,m:15.2497},\n\t{y:1607.0,l:-0.5684,s:0.09449,m:15.25},\n\t{y:1637.0,l:-0.5684,s:0.09503,m:15.2514},\n\t{y:1667.0,l:-0.5684,s:0.09556,m:15.2537},\n\t{y:1697.0,l:-0.5684,s:0.09606,m:15.2567},\n\t{y:1727.0,l:-0.5684,s:0.09653,m:15.2602},\n\t{y:1757.0,l:-0.5684,s:0.09697,m:15.2641},\n\t{y:1787.0,l:-0.5684,s:0.09739,m:15.2685},\n\t{y:1817.0,l:-0.5684,s:0.09777,m:15.2732},\n\t{y:1847.0,l:-0.5684,s:0.09814,m:15.2782}\n}\n\ndefine BMIForAgeMale:\n{\n\t{y:0.0,l:-0.3053,s:0.0956,m:13.4069},\n\t{y:1.0,l:-0.1867,s:0.09597,m:13.3976},\n\t{y:2.0,l:-0.0681,s:0.09634,m:13.3883},\n\t{y:3.0,l:0.0505,s:0.09672,m:13.3791},\n\t{y:4.0,l:0.169,s:0.09709,m:13.3698},\n\t{y:5.0,l:0.2876,s:0.09746,m:13.3606},\n\t{y:6.0,l:0.4062,s:0.09784,m:13.3513},\n\t{y:7.0,l:0.5247,s:0.09821,m:13.3421},\n\t{y:8.0,l:0.5094,s:0.09769,m:13.3843},\n\t{y:9.0,l:0.4941,s:0.09716,m:13.4265},\n\t{y:10.0,l:0.4789,s:0.09664,m:13.4687},\n\t{y:11.0,l:0.4636,s:0.09611,m:13.511},\n\t{y:12.0,l:0.4483,s:0.09559,m:13.5532},\n\t{y:13.0,l:0.433,s:0.09507,m:13.5954},\n\t{y:14.0,l:0.4177,s:0.09454,m:13.6377},\n\t{y:15.0,l:0.4059,s:0.09416,m:13.7174},\n\t{y:16.0,l:0.3946,s:0.0938,m:13.8006},\n\t{y:17.0,l:0.3839,s:0.09347,m:13.8854},\n\t{y:18.0,l:0.3735,s:0.09315,m:13.9707},\n\t{y:19.0,l:0.3636,s:0.09285,m:14.0558},\n\t{y:20.0,l:0.3541,s:0.09257,m:14.1404},\n\t{y:21.0,l:0.3449,s:0.0923,m:14.2241},\n\t{y:22.0,l:0.336,s:0.09204,m:14.3065},\n\t{y:23.0,l:0.3274,s:0.0918,m:14.3877},\n\t{y:24.0,l:0.3191,s:0.09156,m:14.4675},\n\t{y:25.0,l:0.311,s:0.09134,m:14.5457},\n\t{y:26.0,l:0.3032,s:0.09112,m:14.6225},\n\t{y:27.0,l:0.2955,s:0.09092,m:14.6977},\n\t{y:28.0,l:0.2881,s:0.09072,m:14.7714},\n\t{y:29.0,l:0.2809,s:0.09053,m:14.8436},\n\t{y:30.0,l:0.2738,s:0.09035,m:14.914},\n\t{y:31.0,l:0.2669,s:0.09017,m:14.9822},\n\t{y:32.0,l:0.2602,s:0.09,m:15.0485},\n\t{y:33.0,l:0.2536,s:0.08984,m:15.1127},\n\t{y:34.0,l:0.2472,s:0.08968,m:15.175},\n\t{y:35.0,l:0.2409,s:0.08953,m:15.2355},\n\t{y:36.0,l:0.2348,s:0.08938,m:15.2942},\n\t{y:37.0,l:0.2287,s:0.08924,m:15.3511},\n\t{y:38.0,l:0.2228,s:0.0891,m:15.4062},\n\t{y:39.0,l:0.217,s:0.08897,m:15.4597},\n\t{y:40.0,l:0.2113,s:0.08884,m:15.5115},\n\t{y:41.0,l:0.2058,s:0.08871,m:15.5618},\n\t{y:42.0,l:0.2003,s:0.08859,m:15.6107},\n\t{y:43.0,l:0.1949,s:0.08847,m:15.6582},\n\t{y:44.0,l:0.1896,s:0.08835,m:15.7043},\n\t{y:45.0,l:0.1844,s:0.08824,m:15.7492},\n\t{y:46.0,l:0.1793,s:0.08813,m:15.7929},\n\t{y:47.0,l:0.1743,s:0.08802,m:15.8353},\n\t{y:48.0,l:0.1693,s:0.08792,m:15.8767},\n\t{y:49.0,l:0.1645,s:0.08782,m:15.9169},\n\t{y:50.0,l:0.1597,s:0.08772,m:15.956},\n\t{y:51.0,l:0.155,s:0.08762,m:15.9941},\n\t{y:52.0,l:0.1503,s:0.08753,m:16.0311},\n\t{y:53.0,l:0.1457,s:0.08743,m:16.0672},\n\t{y:54.0,l:0.1412,s:0.08734,m:16.1023},\n\t{y:55.0,l:0.1368,s:0.08725,m:16.1365},\n\t{y:56.0,l:0.1324,s:0.08717,m:16.1698},\n\t{y:57.0,l:0.128,s:0.08708,m:16.2021},\n\t{y:58.0,l:0.1238,s:0.087,m:16.2336},\n\t{y:59.0,l:0.1196,s:0.08692,m:16.2642},\n\t{y:60.0,l:0.1154,s:0.08684,m:16.2941},\n\t{y:63.0,l:0.1032,s:0.08661,m:16.3787},\n\t{y:70.0,l:0.0766,s:0.08612,m:16.5494},\n\t{y:77.0,l:0.052,s:0.08569,m:16.6882},\n\t{y:84.0,l:0.0291,s:0.08531,m:16.8016},\n\t{y:91.0,l:0.0077,s:0.08496,m:16.895},\n\t{y:98.0,l:-0.0124,s:0.08465,m:16.9725},\n\t{y:105.0,l:-0.0313,s:0.08437,m:17.0376},\n\t{y:112.0,l:-0.0492,s:0.08411,m:17.0931},\n\t{y:119.0,l:-0.0662,s:0.08387,m:17.1409},\n\t{y:126.0,l:-0.0824,s:0.08365,m:17.1825},\n\t{y:133.0,l:-0.0979,s:0.08345,m:17.2187},\n\t{y:140.0,l:-0.1127,s:0.08326,m:17.2497},\n\t{y:147.0,l:-0.1269,s:0.08309,m:17.2757},\n\t{y:154.0,l:-0.1405,s:0.08292,m:17.297},\n\t{y:161.0,l:-0.1536,s:0.08277,m:17.3139},\n\t{y:168.0,l:-0.1663,s:0.08262,m:17.3268},\n\t{y:175.0,l:-0.1785,s:0.08248,m:17.3361},\n\t{y:182.0,l:-0.1903,s:0.08235,m:17.3419},\n\t{y:197.0,l:-0.2144,s:0.08209,m:17.3431},\n\t{y:227.0,l:-0.2581,s:0.08163,m:17.3048},\n\t{y:257.0,l:-0.2972,s:0.08122,m:17.2242},\n\t{y:287.0,l:-0.3326,s:0.08087,m:17.1174},\n\t{y:317.0,l:-0.3649,s:0.08055,m:16.9974},\n\t{y:347.0,l:-0.3945,s:0.08025,m:16.8735},\n\t{y:377.0,l:-0.422,s:0.07998,m:16.75},\n\t{y:407.0,l:-0.4476,s:0.07973,m:16.6293},\n\t{y:437.0,l:-0.4715,s:0.07949,m:16.5134},\n\t{y:467.0,l:-0.494,s:0.07927,m:16.4033},\n\t{y:497.0,l:-0.5151,s:0.07906,m:16.2997},\n\t{y:527.0,l:-0.5351,s:0.07886,m:16.2027},\n\t{y:557.0,l:-0.5541,s:0.07867,m:16.1125},\n\t{y:587.0,l:-0.5721,s:0.07849,m:16.0296},\n\t{y:617.0,l:-0.5892,s:0.07831,m:15.9544},\n\t{y:647.0,l:-0.6056,s:0.07814,m:15.8871},\n\t{y:677.0,l:-0.6212,s:0.07798,m:15.8271},\n\t{y:707.0,l:-0.6362,s:0.07782,m:15.7733},\n\t{y:737.0,l:-0.6117,s:0.07786,m:16.011},\n\t{y:767.0,l:-0.5771,s:0.07793,m:15.9722},\n\t{y:797.0,l:-0.5435,s:0.07801,m:15.9343},\n\t{y:827.0,l:-0.5111,s:0.0781,m:15.8973},\n\t{y:857.0,l:-0.4803,s:0.0782,m:15.8611},\n\t{y:887.0,l:-0.4512,s:0.07831,m:15.8256},\n\t{y:917.0,l:-0.424,s:0.07843,m:15.7908},\n\t{y:947.0,l:-0.3988,s:0.07855,m:15.7567},\n\t{y:977.0,l:-0.376,s:0.07869,m:15.7234},\n\t{y:1007.0,l:-0.3556,s:0.07883,m:15.6907},\n\t{y:1037.0,l:-0.3376,s:0.07898,m:15.6588},\n\t{y:1067.0,l:-0.3223,s:0.07915,m:15.6277},\n\t{y:1097.0,l:-0.3097,s:0.07932,m:15.5976},\n\t{y:1127.0,l:-0.2997,s:0.0795,m:15.5685},\n\t{y:1157.0,l:-0.2927,s:0.07969,m:15.5406},\n\t{y:1187.0,l:-0.2884,s:0.0799,m:15.5141},\n\t{y:1217.0,l:-0.2869,s:0.08012,m:15.4889},\n\t{y:1247.0,l:-0.288,s:0.08035,m:15.4652},\n\t{y:1277.0,l:-0.2917,s:0.0806,m:15.443},\n\t{y:1307.0,l:-0.2977,s:0.08085,m:15.4222},\n\t{y:1337.0,l:-0.306,s:0.08113,m:15.4027},\n\t{y:1367.0,l:-0.3164,s:0.08141,m:15.3843},\n\t{y:1397.0,l:-0.3289,s:0.08171,m:15.3669},\n\t{y:1427.0,l:-0.3434,s:0.08202,m:15.3504},\n\t{y:1457.0,l:-0.3598,s:0.08234,m:15.3346},\n\t{y:1487.0,l:-0.3782,s:0.08267,m:15.3196},\n\t{y:1517.0,l:-0.3984,s:0.08302,m:15.3052},\n\t{y:1547.0,l:-0.4204,s:0.08337,m:15.2914},\n\t{y:1577.0,l:-0.4441,s:0.08373,m:15.2783},\n\t{y:1607.0,l:-0.4693,s:0.0841,m:15.2658},\n\t{y:1637.0,l:-0.4958,s:0.08448,m:15.254},\n\t{y:1667.0,l:-0.5236,s:0.08487,m:15.2426},\n\t{y:1697.0,l:-0.5525,s:0.08526,m:15.2318},\n\t{y:1727.0,l:-0.5824,s:0.08566,m:15.2214},\n\t{y:1757.0,l:-0.6135,s:0.08606,m:15.2117},\n\t{y:1787.0,l:-0.6456,s:0.08647,m:15.2026},\n\t{y:1817.0,l:-0.6787,s:0.08687,m:15.1941},\n\t{y:1847.0,l:-0.713,s:0.08728,m:15.1863}\n}\n\n\n\n\ndefine function ZscoreBMIForAgetables(sex String, age Decimal):\n\tif sex = 'female' then  \n        First(BMIForAgeFemale c where c.y = base.AgeToMini(age) )\n\telse \n        First(BMIForAgeMale c where  c.y = base.AgeToMini(age))\n            \ndefine function generateZScoreBMIForAge(sex System.String, age System.Decimal, weight  System.Decimal)  : \n\t generateZScoreBMIForAgedet(ZscoreBMIForAgetables(sex,age), weight )\n\ndefine function generateZScoreBMIForAgedet(row Tuple {y System.Decimal,l System.Decimal,s System.Decimal,m System.Decimal}, weight  System.Decimal):\n    if row is not null then \n        base.computeZScore(\n            weight,\n            row.m , \n            row.l ,\n            row.s \n        )\n    else null\n\n\ndefine function generateBMIFromAge(sex System.String, age System.Decimal, zscore  System.Decimal) : \n\t generateBMIFromAgedet(ZscoreBMIForAgetables(sex,age),zscore  )\n\ndefine function generateBMIFromAgedet(row Tuple {y System.Decimal,l System.Decimal,s System.Decimal,m System.Decimal},zscore  System.Decimal) : \n    if row is not null then \n        base.computeReverseZScore(\n            zscore,\n            row.m , \n            row.l ,\n            row.s \n        )\n    else null    \n\n    \n</code></pre></div>"
  },
  "url" : "https://fhir.dk.swisstph-mis.ch/matchbox/fhir/Library/BMIForAge",
  "version" : "0.1.0",
  "name" : "BMIForAge",
  "status" : "active",
  "type" : {
    "coding" : [
      {
        "system" : "http://hl7.org/fhir/ValueSet/library-type",
        "code" : "logic-library"
      }
    ]
  },
  "date" : "2023-10-04T12:32:21+00:00",
  "publisher" : "WHO",
  "contact" : [
    {
      "name" : "WHO",
      "telecom" : [
        {
          "system" : "url",
          "value" : "http://who.int"
        }
      ]
    }
  ],
  "relatedArtifact" : [
    {
      "type" : "depends-on",
      "resource" : "https://fhir.dk.swisstph-mis.ch/matchbox/fhir/Library/anthrobase"
    },
    {
      "type" : "depends-on",
      "resource" : "http://fhir.org/guides/who/anc-cds/Library/FHIRHelpers"
    }
  ],
  "parameter" : [
    {
      "name" : "zscore",
      "use" : "in",
      "type" : "decimal"
    },
    {
      "name" : "Age",
      "use" : "in",
      "type" : "decimal"
    },
    {
      "name" : "sex",
      "use" : "in",
      "type" : "decimal"
    },
    {
      "name" : "generateBMIFromAge",
      "use" : "out",
      "type" : "decimal"
    },
    {
      "name" : "generateZScoreBMIForAge",
      "use" : "out",
      "type" : "decimal"
    },
    {
      "name" : "ZscoreBMIForAgetables_s",
      "use" : "out",
      "type" : "decimal"
    },
    {
      "name" : "ZscoreBMIForAgetables_m",
      "use" : "out",
      "type" : "decimal"
    },
    {
      "name" : "ZscoreBMIForAgetables_l",
      "use" : "out",
      "type" : "decimal"
    }
  ],
  "dataRequirement" : [
    {
      "type" : "Patient",
      "profile" : [
        "http://hl7.org/fhir/StructureDefinition/Patient"
      ]
    }
  ],
  "content" : [
    {
      "id" : "ig-loader-BMIForAge.cql",
      "contentType" : "text/cql",
      "data" : "CmxpYnJhcnkgQk1JRm9yQWdlIHZlcnNpb24gJzEuMC40Jwp1c2luZyBGSElSIHZlcnNpb24gJzQuMC4xJwppbmNsdWRlIGFudGhyb2Jhc2UgdmVyc2lvbiAnMS4wLjQnIGNhbGxlZCBiYXNlCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnNC4wLjEnIGNhbGxlZCBGSElSSGVscGVycwoKLy8gQW50cmhvIGxpYnJhcnkgZm9yIEJNSUZvckFnZSAgWi1TY29yZSBmcm9tIHRoZSBibWlhbnRocm8gZmlsZXMKY29kZXN5c3RlbSAiYWRtaW5pc3RyYXRpdmUtZ2VuZGVyIjogJ2h0dHA6Ly9obDcub3JnL2ZoaXIvYWRtaW5pc3RyYXRpdmUtZ2VuZGVyJwovL2NvZGUgIkZlbWFsZSIgOiAnZmVtYWxlJyBmcm9tICJhZG1pbmlzdHJhdGl2ZS1nZW5kZXIiICBkaXNwbGF5ICdGZW1hbGUnCgoKZGVmaW5lIEJNSUZvckFnZUZlbWFsZToKewoJe3k6MC4wLGw6LTAuMDYzMSxzOjAuMDkyNzIsbToxMy4zMzYzfSwKCXt5OjEuMCxsOjAuMDM2MixzOjAuMDkzNixtOjEzLjMxODV9LAoJe3k6Mi4wLGw6MC4xMzU1LHM6MC4wOTQ0OCxtOjEzLjMwMDZ9LAoJe3k6My4wLGw6MC4yMzQ3LHM6MC4wOTUzNSxtOjEzLjI4Mjh9LAoJe3k6NC4wLGw6MC4zMzQsczowLjA5NjIzLG06MTMuMjY0OX0sCgl7eTo1LjAsbDowLjQzMzMsczowLjA5NzExLG06MTMuMjQ3fSwKCXt5OjYuMCxsOjAuNTMyNixzOjAuMDk3OTksbToxMy4yMjkyfSwKCXt5OjcuMCxsOjAuNjMxOSxzOjAuMDk4ODcsbToxMy4yMTEzfSwKCXt5OjguMCxsOjAuNjE0MixzOjAuMDk4NjYsbToxMy4yNDU1fSwKCXt5OjkuMCxsOjAuNTk2NSxzOjAuMDk4NDUsbToxMy4yNzk2fSwKCXt5OjEwLjAsbDowLjU3ODksczowLjA5ODI0LG06MTMuMzEzN30sCgl7eToxMS4wLGw6MC41NjEyLHM6MC4wOTgwNCxtOjEzLjM0Nzh9LAoJe3k6MTIuMCxsOjAuNTQzNSxzOjAuMDk3ODMsbToxMy4zODE5fSwKCXt5OjEzLjAsbDowLjUyNTgsczowLjA5NzYyLG06MTMuNDE2fSwKCXt5OjE0LjAsbDowLjUwODIsczowLjA5NzQxLG06MTMuNDUwMX0sCgl7eToxNS4wLGw6MC40OTQ3LHM6MC4wOTcyNixtOjEzLjUxNjl9LAoJe3k6MTYuMCxsOjAuNDgyLHM6MC4wOTcxMSxtOjEzLjU4NzN9LAoJe3k6MTcuMCxsOjAuNDY5OSxzOjAuMDk2OTcsbToxMy42NTk1fSwKCXt5OjE4LjAsbDowLjQ1ODMsczowLjA5Njg0LG06MTMuNzMyNX0sCgl7eToxOS4wLGw6MC40NDcyLHM6MC4wOTY3MSxtOjEzLjgwNTZ9LAoJe3k6MjAuMCxsOjAuNDM2NSxzOjAuMDk2NTksbToxMy44Nzg0fSwKCXt5OjIxLjAsbDowLjQyNjMsczowLjA5NjQ3LG06MTMuOTUwNX0sCgl7eToyMi4wLGw6MC40MTY0LHM6MC4wOTYzNixtOjE0LjAyMTZ9LAoJe3k6MjMuMCxsOjAuNDA2OSxzOjAuMDk2MjUsbToxNC4wOTE2fSwKCXt5OjI0LjAsbDowLjM5NzcsczowLjA5NjE1LG06MTQuMTYwM30sCgl7eToyNS4wLGw6MC4zODg4LHM6MC4wOTYwNSxtOjE0LjIyNzZ9LAoJe3k6MjYuMCxsOjAuMzgwMixzOjAuMDk1OTUsbToxNC4yOTM1fSwKCXt5OjI3LjAsbDowLjM3MTgsczowLjA5NTg2LG06MTQuMzU3OX0sCgl7eToyOC4wLGw6MC4zNjM3LHM6MC4wOTU3NyxtOjE0LjQyMDh9LAoJe3k6MjkuMCxsOjAuMzU1OCxzOjAuMDk1NjgsbToxNC40ODI0fSwKCXt5OjMwLjAsbDowLjM0ODEsczowLjA5NTU5LG06MTQuNTQyMn0sCgl7eTozMS4wLGw6MC4zNDA2LHM6MC4wOTU1MSxtOjE0LjYwMDN9LAoJe3k6MzIuMCxsOjAuMzMzMyxzOjAuMDk1NDMsbToxNC42NTY2fSwKCXt5OjMzLjAsbDowLjMyNjIsczowLjA5NTM1LG06MTQuNzExMn0sCgl7eTozNC4wLGw6MC4zMTkyLHM6MC4wOTUyNyxtOjE0Ljc2NDJ9LAoJe3k6MzUuMCxsOjAuMzEyNCxzOjAuMDk1MixtOjE0LjgxNTd9LAoJe3k6MzYuMCxsOjAuMzA1OCxzOjAuMDk1MTMsbToxNC44NjU3fSwKCXt5OjM3LjAsbDowLjI5OTMsczowLjA5NTA2LG06MTQuOTE0Mn0sCgl7eTozOC4wLGw6MC4yOTI5LHM6MC4wOTQ5OSxtOjE0Ljk2MTR9LAoJe3k6MzkuMCxsOjAuMjg2NyxzOjAuMDk0OTIsbToxNS4wMDczfSwKCXt5OjQwLjAsbDowLjI4MDYsczowLjA5NDg1LG06MTUuMDUyfSwKCXt5OjQxLjAsbDowLjI3NDcsczowLjA5NDc5LG06MTUuMDk1NX0sCgl7eTo0Mi4wLGw6MC4yNjg4LHM6MC4wOTQ3MixtOjE1LjEzOH0sCgl7eTo0My4wLGw6MC4yNjMsczowLjA5NDY2LG06MTUuMTc5NH0sCgl7eTo0NC4wLGw6MC4yNTc0LHM6MC4wOTQ2LG06MTUuMjE5OH0sCgl7eTo0NS4wLGw6MC4yNTE5LHM6MC4wOTQ1NCxtOjE1LjI1OTF9LAoJe3k6NDYuMCxsOjAuMjQ2NCxzOjAuMDk0NDgsbToxNS4yOTc0fSwKCXt5OjQ3LjAsbDowLjI0MTEsczowLjA5NDQyLG06MTUuMzM0N30sCgl7eTo0OC4wLGw6MC4yMzU4LHM6MC4wOTQzNixtOjE1LjM3MDl9LAoJe3k6NDkuMCxsOjAuMjMwNixzOjAuMDk0MzEsbToxNS40MDYzfSwKCXt5OjUwLjAsbDowLjIyNTUsczowLjA5NDI1LG06MTUuNDQwOH0sCgl7eTo1MS4wLGw6MC4yMjA1LHM6MC4wOTQyLG06MTUuNDc0NH0sCgl7eTo1Mi4wLGw6MC4yMTU2LHM6MC4wOTQxNSxtOjE1LjUwNzJ9LAoJe3k6NTMuMCxsOjAuMjEwNyxzOjAuMDk0MSxtOjE1LjUzOTN9LAoJe3k6NTQuMCxsOjAuMjA1OSxzOjAuMDk0MDQsbToxNS41NzA2fSwKCXt5OjU1LjAsbDowLjIwMTIsczowLjA5Mzk5LG06MTUuNjAxMn0sCgl7eTo1Ni4wLGw6MC4xOTY2LHM6MC4wOTM5NCxtOjE1LjYzMTF9LAoJe3k6NTcuMCxsOjAuMTkyLHM6MC4wOTM4OSxtOjE1LjY2MDR9LAoJe3k6NTguMCxsOjAuMTg3NSxzOjAuMDkzODUsbToxNS42ODl9LAoJe3k6NTkuMCxsOjAuMTgzLHM6MC4wOTM4LG06MTUuNzE3fSwKCXt5OjYwLjAsbDowLjE3ODcsczowLjA5Mzc1LG06MTUuNzQ0NH0sCgl7eTo2My4wLGw6MC4xNjU4LHM6MC4wOTM2MSxtOjE1LjgyMzJ9LAoJe3k6NzAuMCxsOjAuMTM3NyxzOjAuMDkzMzIsbToxNS45ODc0fSwKCXt5Ojc3LjAsbDowLjExMTgsczowLjA5MzA0LG06MTYuMTI3N30sCgl7eTo4NC4wLGw6MC4wODc3LHM6MC4wOTI3OSxtOjE2LjI0ODV9LAoJe3k6OTEuMCxsOjAuMDY1MixzOjAuMDkyNTUsbToxNi4zNTMxfSwKCXt5Ojk4LjAsbDowLjA0NDIsczowLjA5MjMzLG06MTYuNDQzOH0sCgl7eToxMDUuMCxsOjAuMDI0MyxzOjAuMDkyMTIsbToxNi41MjIyfSwKCXt5OjExMi4wLGw6MC4wMDU1LHM6MC4wOTE5MixtOjE2LjU5MDF9LAoJe3k6MTE5LjAsbDotMC4wMTI0LHM6MC4wOTE3MyxtOjE2LjY0OTJ9LAoJe3k6MTI2LjAsbDotMC4wMjkzLHM6MC4wOTE1NixtOjE2LjcwMDl9LAoJe3k6MTMzLjAsbDotMC4wNDU1LHM6MC4wOTEzOSxtOjE2Ljc0Nn0sCgl7eToxNDAuMCxsOi0wLjA2MSxzOjAuMDkxMjIsbToxNi43ODQ4fSwKCXt5OjE0Ny4wLGw6LTAuMDc1OCxzOjAuMDkxMDcsbToxNi44MTc4fSwKCXt5OjE1NC4wLGw6LTAuMDkwMSxzOjAuMDkwOTIsbToxNi44NDUyfSwKCXt5OjE2MS4wLGw6LTAuMTAzNyxzOjAuMDkwNzcsbToxNi44Njc3fSwKCXt5OjE2OC4wLGw6LTAuMTE2OSxzOjAuMDkwNjMsbToxNi44ODU0fSwKCXt5OjE3NS4wLGw6LTAuMTI5NixzOjAuMDkwNSxtOjE2Ljg5ODd9LAoJe3k6MTgyLjAsbDotMC4xNDE4LHM6MC4wOTAzNyxtOjE2LjkwNzd9LAoJe3k6MTk3LjAsbDotMC4xNjY4LHM6MC4wOTAxMSxtOjE2LjkxMzV9LAoJe3k6MjI3LjAsbDotMC4yMTE5LHM6MC4wODk2MyxtOjE2Ljg3OTV9LAoJe3k6MjU3LjAsbDotMC4yNTE4LHM6MC4wODkyLG06MTYuNzk5OX0sCgl7eToyODcuMCxsOi0wLjI4NzYsczowLjA4ODgyLG06MTYuNjl9LAoJe3k6MzE3LjAsbDotMC4zMjAxLHM6MC4wODg0NyxtOjE2LjU2NDV9LAoJe3k6MzQ3LjAsbDotMC4zNDk4LHM6MC4wODgxNSxtOjE2LjQzNDd9LAoJe3k6Mzc3LjAsbDotMC4zNzcyLHM6MC4wODc4NSxtOjE2LjMwNzV9LAoJe3k6NDA3LjAsbDotMC40MDI1LHM6MC4wODc1OCxtOjE2LjE4NjJ9LAoJe3k6NDM3LjAsbDotMC40MjYxLHM6MC4wODczMixtOjE2LjA3MjV9LAoJe3k6NDY3LjAsbDotMC40NDgyLHM6MC4wODcwOCxtOjE1Ljk2NzF9LAoJe3k6NDk3LjAsbDotMC40NjksczowLjA4Njg2LG06MTUuODcwNH0sCgl7eTo1MjcuMCxsOi0wLjQ4ODcsczowLjA4NjY0LG06MTUuNzgyNX0sCgl7eTo1NTcuMCxsOi0wLjUwNzMsczowLjA4NjQ0LG06MTUuNzAzfSwKCXt5OjU4Ny4wLGw6LTAuNTI1LHM6MC4wODYyNSxtOjE1LjYzMTl9LAoJe3k6NjE3LjAsbDotMC41NDE4LHM6MC4wODYwNyxtOjE1LjU2OX0sCgl7eTo2NDcuMCxsOi0wLjU1NzgsczowLjA4NTg5LG06MTUuNTE0NH0sCgl7eTo2NzcuMCxsOi0wLjU3MzIsczowLjA4NTczLG06MTUuNDY4MX0sCgl7eTo3MDcuMCxsOi0wLjU4OCxzOjAuMDg1NTYsbToxNS40Mjk4fSwKCXt5OjczNy4wLGw6LTAuNTY4NCxzOjAuMDg0NTQsbToxNS42ODIyfSwKCXt5Ojc2Ny4wLGw6LTAuNTY4NCxzOjAuMDg0NTEsbToxNS42NTMyfSwKCXt5Ojc5Ny4wLGw6LTAuNTY4NCxzOjAuMDg0NDksbToxNS42MjU3fSwKCXt5OjgyNy4wLGw6LTAuNTY4NCxzOjAuMDg0NDYsbToxNS41OTkyfSwKCXt5Ojg1Ny4wLGw6LTAuNTY4NCxzOjAuMDg0NDQsbToxNS41NzM3fSwKCXt5Ojg4Ny4wLGw6LTAuNTY4NCxzOjAuMDg0NDMsbToxNS41NDg4fSwKCXt5OjkxNy4wLGw6LTAuNTY4NCxzOjAuMDg0NDQsbToxNS41MjQ1fSwKCXt5Ojk0Ny4wLGw6LTAuNTY4NCxzOjAuMDg0NDgsbToxNS41MDA3fSwKCXt5Ojk3Ny4wLGw6LTAuNTY4NCxzOjAuMDg0NTYsbToxNS40Nzc2fSwKCXt5OjEwMDcuMCxsOi0wLjU2ODQsczowLjA4NDY4LG06MTUuNDU1M30sCgl7eToxMDM3LjAsbDotMC41Njg0LHM6MC4wODQ4NSxtOjE1LjQzNDJ9LAoJe3k6MTA2Ny4wLGw6LTAuNTY4NCxzOjAuMDg1MDgsbToxNS40MTQ0fSwKCXt5OjEwOTcuMCxsOi0wLjU2ODQsczowLjA4NTM2LG06MTUuMzk2fSwKCXt5OjExMjcuMCxsOi0wLjU2ODQsczowLjA4NTcsbToxNS4zNzkxfSwKCXt5OjExNTcuMCxsOi0wLjU2ODQsczowLjA4NjA5LG06MTUuMzYzNn0sCgl7eToxMTg3LjAsbDotMC41Njg0LHM6MC4wODY1NCxtOjE1LjM0OTN9LAoJe3k6MTIxNy4wLGw6LTAuNTY4NCxzOjAuMDg3MDMsbToxNS4zMzZ9LAoJe3k6MTI0Ny4wLGw6LTAuNTY4NCxzOjAuMDg3NTUsbToxNS4zMjM2fSwKCXt5OjEyNzcuMCxsOi0wLjU2ODQsczowLjA4ODExLG06MTUuMzEyMX0sCgl7eToxMzA3LjAsbDotMC41Njg0LHM6MC4wODg2OCxtOjE1LjMwMTN9LAoJe3k6MTMzNy4wLGw6LTAuNTY4NCxzOjAuMDg5MjcsbToxNS4yOTEzfSwKCXt5OjEzNjcuMCxsOi0wLjU2ODQsczowLjA4OTg2LG06MTUuMjgyMX0sCgl7eToxMzk3LjAsbDotMC41Njg0LHM6MC4wOTA0NSxtOjE1LjI3NH0sCgl7eToxNDI3LjAsbDotMC41Njg0LHM6MC4wOTEwMyxtOjE1LjI2Njl9LAoJe3k6MTQ1Ny4wLGw6LTAuNTY4NCxzOjAuMDkxNjEsbToxNS4yNjA5fSwKCXt5OjE0ODcuMCxsOi0wLjU2ODQsczowLjA5MjE5LG06MTUuMjU2Mn0sCgl7eToxNTE3LjAsbDotMC41Njg0LHM6MC4wOTI3NyxtOjE1LjI1Mjd9LAoJe3k6MTU0Ny4wLGw6LTAuNTY4NCxzOjAuMDkzMzUsbToxNS4yNTA2fSwKCXt5OjE1NzcuMCxsOi0wLjU2ODQsczowLjA5MzkyLG06MTUuMjQ5N30sCgl7eToxNjA3LjAsbDotMC41Njg0LHM6MC4wOTQ0OSxtOjE1LjI1fSwKCXt5OjE2MzcuMCxsOi0wLjU2ODQsczowLjA5NTAzLG06MTUuMjUxNH0sCgl7eToxNjY3LjAsbDotMC41Njg0LHM6MC4wOTU1NixtOjE1LjI1Mzd9LAoJe3k6MTY5Ny4wLGw6LTAuNTY4NCxzOjAuMDk2MDYsbToxNS4yNTY3fSwKCXt5OjE3MjcuMCxsOi0wLjU2ODQsczowLjA5NjUzLG06MTUuMjYwMn0sCgl7eToxNzU3LjAsbDotMC41Njg0LHM6MC4wOTY5NyxtOjE1LjI2NDF9LAoJe3k6MTc4Ny4wLGw6LTAuNTY4NCxzOjAuMDk3MzksbToxNS4yNjg1fSwKCXt5OjE4MTcuMCxsOi0wLjU2ODQsczowLjA5Nzc3LG06MTUuMjczMn0sCgl7eToxODQ3LjAsbDotMC41Njg0LHM6MC4wOTgxNCxtOjE1LjI3ODJ9Cn0KCmRlZmluZSBCTUlGb3JBZ2VNYWxlOgp7Cgl7eTowLjAsbDotMC4zMDUzLHM6MC4wOTU2LG06MTMuNDA2OX0sCgl7eToxLjAsbDotMC4xODY3LHM6MC4wOTU5NyxtOjEzLjM5NzZ9LAoJe3k6Mi4wLGw6LTAuMDY4MSxzOjAuMDk2MzQsbToxMy4zODgzfSwKCXt5OjMuMCxsOjAuMDUwNSxzOjAuMDk2NzIsbToxMy4zNzkxfSwKCXt5OjQuMCxsOjAuMTY5LHM6MC4wOTcwOSxtOjEzLjM2OTh9LAoJe3k6NS4wLGw6MC4yODc2LHM6MC4wOTc0NixtOjEzLjM2MDZ9LAoJe3k6Ni4wLGw6MC40MDYyLHM6MC4wOTc4NCxtOjEzLjM1MTN9LAoJe3k6Ny4wLGw6MC41MjQ3LHM6MC4wOTgyMSxtOjEzLjM0MjF9LAoJe3k6OC4wLGw6MC41MDk0LHM6MC4wOTc2OSxtOjEzLjM4NDN9LAoJe3k6OS4wLGw6MC40OTQxLHM6MC4wOTcxNixtOjEzLjQyNjV9LAoJe3k6MTAuMCxsOjAuNDc4OSxzOjAuMDk2NjQsbToxMy40Njg3fSwKCXt5OjExLjAsbDowLjQ2MzYsczowLjA5NjExLG06MTMuNTExfSwKCXt5OjEyLjAsbDowLjQ0ODMsczowLjA5NTU5LG06MTMuNTUzMn0sCgl7eToxMy4wLGw6MC40MzMsczowLjA5NTA3LG06MTMuNTk1NH0sCgl7eToxNC4wLGw6MC40MTc3LHM6MC4wOTQ1NCxtOjEzLjYzNzd9LAoJe3k6MTUuMCxsOjAuNDA1OSxzOjAuMDk0MTYsbToxMy43MTc0fSwKCXt5OjE2LjAsbDowLjM5NDYsczowLjA5MzgsbToxMy44MDA2fSwKCXt5OjE3LjAsbDowLjM4MzksczowLjA5MzQ3LG06MTMuODg1NH0sCgl7eToxOC4wLGw6MC4zNzM1LHM6MC4wOTMxNSxtOjEzLjk3MDd9LAoJe3k6MTkuMCxsOjAuMzYzNixzOjAuMDkyODUsbToxNC4wNTU4fSwKCXt5OjIwLjAsbDowLjM1NDEsczowLjA5MjU3LG06MTQuMTQwNH0sCgl7eToyMS4wLGw6MC4zNDQ5LHM6MC4wOTIzLG06MTQuMjI0MX0sCgl7eToyMi4wLGw6MC4zMzYsczowLjA5MjA0LG06MTQuMzA2NX0sCgl7eToyMy4wLGw6MC4zMjc0LHM6MC4wOTE4LG06MTQuMzg3N30sCgl7eToyNC4wLGw6MC4zMTkxLHM6MC4wOTE1NixtOjE0LjQ2NzV9LAoJe3k6MjUuMCxsOjAuMzExLHM6MC4wOTEzNCxtOjE0LjU0NTd9LAoJe3k6MjYuMCxsOjAuMzAzMixzOjAuMDkxMTIsbToxNC42MjI1fSwKCXt5OjI3LjAsbDowLjI5NTUsczowLjA5MDkyLG06MTQuNjk3N30sCgl7eToyOC4wLGw6MC4yODgxLHM6MC4wOTA3MixtOjE0Ljc3MTR9LAoJe3k6MjkuMCxsOjAuMjgwOSxzOjAuMDkwNTMsbToxNC44NDM2fSwKCXt5OjMwLjAsbDowLjI3MzgsczowLjA5MDM1LG06MTQuOTE0fSwKCXt5OjMxLjAsbDowLjI2NjksczowLjA5MDE3LG06MTQuOTgyMn0sCgl7eTozMi4wLGw6MC4yNjAyLHM6MC4wOSxtOjE1LjA0ODV9LAoJe3k6MzMuMCxsOjAuMjUzNixzOjAuMDg5ODQsbToxNS4xMTI3fSwKCXt5OjM0LjAsbDowLjI0NzIsczowLjA4OTY4LG06MTUuMTc1fSwKCXt5OjM1LjAsbDowLjI0MDksczowLjA4OTUzLG06MTUuMjM1NX0sCgl7eTozNi4wLGw6MC4yMzQ4LHM6MC4wODkzOCxtOjE1LjI5NDJ9LAoJe3k6MzcuMCxsOjAuMjI4NyxzOjAuMDg5MjQsbToxNS4zNTExfSwKCXt5OjM4LjAsbDowLjIyMjgsczowLjA4OTEsbToxNS40MDYyfSwKCXt5OjM5LjAsbDowLjIxNyxzOjAuMDg4OTcsbToxNS40NTk3fSwKCXt5OjQwLjAsbDowLjIxMTMsczowLjA4ODg0LG06MTUuNTExNX0sCgl7eTo0MS4wLGw6MC4yMDU4LHM6MC4wODg3MSxtOjE1LjU2MTh9LAoJe3k6NDIuMCxsOjAuMjAwMyxzOjAuMDg4NTksbToxNS42MTA3fSwKCXt5OjQzLjAsbDowLjE5NDksczowLjA4ODQ3LG06MTUuNjU4Mn0sCgl7eTo0NC4wLGw6MC4xODk2LHM6MC4wODgzNSxtOjE1LjcwNDN9LAoJe3k6NDUuMCxsOjAuMTg0NCxzOjAuMDg4MjQsbToxNS43NDkyfSwKCXt5OjQ2LjAsbDowLjE3OTMsczowLjA4ODEzLG06MTUuNzkyOX0sCgl7eTo0Ny4wLGw6MC4xNzQzLHM6MC4wODgwMixtOjE1LjgzNTN9LAoJe3k6NDguMCxsOjAuMTY5MyxzOjAuMDg3OTIsbToxNS44NzY3fSwKCXt5OjQ5LjAsbDowLjE2NDUsczowLjA4NzgyLG06MTUuOTE2OX0sCgl7eTo1MC4wLGw6MC4xNTk3LHM6MC4wODc3MixtOjE1Ljk1Nn0sCgl7eTo1MS4wLGw6MC4xNTUsczowLjA4NzYyLG06MTUuOTk0MX0sCgl7eTo1Mi4wLGw6MC4xNTAzLHM6MC4wODc1MyxtOjE2LjAzMTF9LAoJe3k6NTMuMCxsOjAuMTQ1NyxzOjAuMDg3NDMsbToxNi4wNjcyfSwKCXt5OjU0LjAsbDowLjE0MTIsczowLjA4NzM0LG06MTYuMTAyM30sCgl7eTo1NS4wLGw6MC4xMzY4LHM6MC4wODcyNSxtOjE2LjEzNjV9LAoJe3k6NTYuMCxsOjAuMTMyNCxzOjAuMDg3MTcsbToxNi4xNjk4fSwKCXt5OjU3LjAsbDowLjEyOCxzOjAuMDg3MDgsbToxNi4yMDIxfSwKCXt5OjU4LjAsbDowLjEyMzgsczowLjA4NyxtOjE2LjIzMzZ9LAoJe3k6NTkuMCxsOjAuMTE5NixzOjAuMDg2OTIsbToxNi4yNjQyfSwKCXt5OjYwLjAsbDowLjExNTQsczowLjA4Njg0LG06MTYuMjk0MX0sCgl7eTo2My4wLGw6MC4xMDMyLHM6MC4wODY2MSxtOjE2LjM3ODd9LAoJe3k6NzAuMCxsOjAuMDc2NixzOjAuMDg2MTIsbToxNi41NDk0fSwKCXt5Ojc3LjAsbDowLjA1MixzOjAuMDg1NjksbToxNi42ODgyfSwKCXt5Ojg0LjAsbDowLjAyOTEsczowLjA4NTMxLG06MTYuODAxNn0sCgl7eTo5MS4wLGw6MC4wMDc3LHM6MC4wODQ5NixtOjE2Ljg5NX0sCgl7eTo5OC4wLGw6LTAuMDEyNCxzOjAuMDg0NjUsbToxNi45NzI1fSwKCXt5OjEwNS4wLGw6LTAuMDMxMyxzOjAuMDg0MzcsbToxNy4wMzc2fSwKCXt5OjExMi4wLGw6LTAuMDQ5MixzOjAuMDg0MTEsbToxNy4wOTMxfSwKCXt5OjExOS4wLGw6LTAuMDY2MixzOjAuMDgzODcsbToxNy4xNDA5fSwKCXt5OjEyNi4wLGw6LTAuMDgyNCxzOjAuMDgzNjUsbToxNy4xODI1fSwKCXt5OjEzMy4wLGw6LTAuMDk3OSxzOjAuMDgzNDUsbToxNy4yMTg3fSwKCXt5OjE0MC4wLGw6LTAuMTEyNyxzOjAuMDgzMjYsbToxNy4yNDk3fSwKCXt5OjE0Ny4wLGw6LTAuMTI2OSxzOjAuMDgzMDksbToxNy4yNzU3fSwKCXt5OjE1NC4wLGw6LTAuMTQwNSxzOjAuMDgyOTIsbToxNy4yOTd9LAoJe3k6MTYxLjAsbDotMC4xNTM2LHM6MC4wODI3NyxtOjE3LjMxMzl9LAoJe3k6MTY4LjAsbDotMC4xNjYzLHM6MC4wODI2MixtOjE3LjMyNjh9LAoJe3k6MTc1LjAsbDotMC4xNzg1LHM6MC4wODI0OCxtOjE3LjMzNjF9LAoJe3k6MTgyLjAsbDotMC4xOTAzLHM6MC4wODIzNSxtOjE3LjM0MTl9LAoJe3k6MTk3LjAsbDotMC4yMTQ0LHM6MC4wODIwOSxtOjE3LjM0MzF9LAoJe3k6MjI3LjAsbDotMC4yNTgxLHM6MC4wODE2MyxtOjE3LjMwNDh9LAoJe3k6MjU3LjAsbDotMC4yOTcyLHM6MC4wODEyMixtOjE3LjIyNDJ9LAoJe3k6Mjg3LjAsbDotMC4zMzI2LHM6MC4wODA4NyxtOjE3LjExNzR9LAoJe3k6MzE3LjAsbDotMC4zNjQ5LHM6MC4wODA1NSxtOjE2Ljk5NzR9LAoJe3k6MzQ3LjAsbDotMC4zOTQ1LHM6MC4wODAyNSxtOjE2Ljg3MzV9LAoJe3k6Mzc3LjAsbDotMC40MjIsczowLjA3OTk4LG06MTYuNzV9LAoJe3k6NDA3LjAsbDotMC40NDc2LHM6MC4wNzk3MyxtOjE2LjYyOTN9LAoJe3k6NDM3LjAsbDotMC40NzE1LHM6MC4wNzk0OSxtOjE2LjUxMzR9LAoJe3k6NDY3LjAsbDotMC40OTQsczowLjA3OTI3LG06MTYuNDAzM30sCgl7eTo0OTcuMCxsOi0wLjUxNTEsczowLjA3OTA2LG06MTYuMjk5N30sCgl7eTo1MjcuMCxsOi0wLjUzNTEsczowLjA3ODg2LG06MTYuMjAyN30sCgl7eTo1NTcuMCxsOi0wLjU1NDEsczowLjA3ODY3LG06MTYuMTEyNX0sCgl7eTo1ODcuMCxsOi0wLjU3MjEsczowLjA3ODQ5LG06MTYuMDI5Nn0sCgl7eTo2MTcuMCxsOi0wLjU4OTIsczowLjA3ODMxLG06MTUuOTU0NH0sCgl7eTo2NDcuMCxsOi0wLjYwNTYsczowLjA3ODE0LG06MTUuODg3MX0sCgl7eTo2NzcuMCxsOi0wLjYyMTIsczowLjA3Nzk4LG06MTUuODI3MX0sCgl7eTo3MDcuMCxsOi0wLjYzNjIsczowLjA3NzgyLG06MTUuNzczM30sCgl7eTo3MzcuMCxsOi0wLjYxMTcsczowLjA3Nzg2LG06MTYuMDExfSwKCXt5Ojc2Ny4wLGw6LTAuNTc3MSxzOjAuMDc3OTMsbToxNS45NzIyfSwKCXt5Ojc5Ny4wLGw6LTAuNTQzNSxzOjAuMDc4MDEsbToxNS45MzQzfSwKCXt5OjgyNy4wLGw6LTAuNTExMSxzOjAuMDc4MSxtOjE1Ljg5NzN9LAoJe3k6ODU3LjAsbDotMC40ODAzLHM6MC4wNzgyLG06MTUuODYxMX0sCgl7eTo4ODcuMCxsOi0wLjQ1MTIsczowLjA3ODMxLG06MTUuODI1Nn0sCgl7eTo5MTcuMCxsOi0wLjQyNCxzOjAuMDc4NDMsbToxNS43OTA4fSwKCXt5Ojk0Ny4wLGw6LTAuMzk4OCxzOjAuMDc4NTUsbToxNS43NTY3fSwKCXt5Ojk3Ny4wLGw6LTAuMzc2LHM6MC4wNzg2OSxtOjE1LjcyMzR9LAoJe3k6MTAwNy4wLGw6LTAuMzU1NixzOjAuMDc4ODMsbToxNS42OTA3fSwKCXt5OjEwMzcuMCxsOi0wLjMzNzYsczowLjA3ODk4LG06MTUuNjU4OH0sCgl7eToxMDY3LjAsbDotMC4zMjIzLHM6MC4wNzkxNSxtOjE1LjYyNzd9LAoJe3k6MTA5Ny4wLGw6LTAuMzA5NyxzOjAuMDc5MzIsbToxNS41OTc2fSwKCXt5OjExMjcuMCxsOi0wLjI5OTcsczowLjA3OTUsbToxNS41Njg1fSwKCXt5OjExNTcuMCxsOi0wLjI5MjcsczowLjA3OTY5LG06MTUuNTQwNn0sCgl7eToxMTg3LjAsbDotMC4yODg0LHM6MC4wNzk5LG06MTUuNTE0MX0sCgl7eToxMjE3LjAsbDotMC4yODY5LHM6MC4wODAxMixtOjE1LjQ4ODl9LAoJe3k6MTI0Ny4wLGw6LTAuMjg4LHM6MC4wODAzNSxtOjE1LjQ2NTJ9LAoJe3k6MTI3Ny4wLGw6LTAuMjkxNyxzOjAuMDgwNixtOjE1LjQ0M30sCgl7eToxMzA3LjAsbDotMC4yOTc3LHM6MC4wODA4NSxtOjE1LjQyMjJ9LAoJe3k6MTMzNy4wLGw6LTAuMzA2LHM6MC4wODExMyxtOjE1LjQwMjd9LAoJe3k6MTM2Ny4wLGw6LTAuMzE2NCxzOjAuMDgxNDEsbToxNS4zODQzfSwKCXt5OjEzOTcuMCxsOi0wLjMyODksczowLjA4MTcxLG06MTUuMzY2OX0sCgl7eToxNDI3LjAsbDotMC4zNDM0LHM6MC4wODIwMixtOjE1LjM1MDR9LAoJe3k6MTQ1Ny4wLGw6LTAuMzU5OCxzOjAuMDgyMzQsbToxNS4zMzQ2fSwKCXt5OjE0ODcuMCxsOi0wLjM3ODIsczowLjA4MjY3LG06MTUuMzE5Nn0sCgl7eToxNTE3LjAsbDotMC4zOTg0LHM6MC4wODMwMixtOjE1LjMwNTJ9LAoJe3k6MTU0Ny4wLGw6LTAuNDIwNCxzOjAuMDgzMzcsbToxNS4yOTE0fSwKCXt5OjE1NzcuMCxsOi0wLjQ0NDEsczowLjA4MzczLG06MTUuMjc4M30sCgl7eToxNjA3LjAsbDotMC40NjkzLHM6MC4wODQxLG06MTUuMjY1OH0sCgl7eToxNjM3LjAsbDotMC40OTU4LHM6MC4wODQ0OCxtOjE1LjI1NH0sCgl7eToxNjY3LjAsbDotMC41MjM2LHM6MC4wODQ4NyxtOjE1LjI0MjZ9LAoJe3k6MTY5Ny4wLGw6LTAuNTUyNSxzOjAuMDg1MjYsbToxNS4yMzE4fSwKCXt5OjE3MjcuMCxsOi0wLjU4MjQsczowLjA4NTY2LG06MTUuMjIxNH0sCgl7eToxNzU3LjAsbDotMC42MTM1LHM6MC4wODYwNixtOjE1LjIxMTd9LAoJe3k6MTc4Ny4wLGw6LTAuNjQ1NixzOjAuMDg2NDcsbToxNS4yMDI2fSwKCXt5OjE4MTcuMCxsOi0wLjY3ODcsczowLjA4Njg3LG06MTUuMTk0MX0sCgl7eToxODQ3LjAsbDotMC43MTMsczowLjA4NzI4LG06MTUuMTg2M30KfQoKCgoKZGVmaW5lIGZ1bmN0aW9uIFpzY29yZUJNSUZvckFnZXRhYmxlcyhzZXggU3RyaW5nLCBhZ2UgRGVjaW1hbCk6CglpZiBzZXggPSAnZmVtYWxlJyB0aGVuICAKICAgICAgICBGaXJzdChCTUlGb3JBZ2VGZW1hbGUgYyB3aGVyZSBjLnkgPSBiYXNlLkFnZVRvTWluaShhZ2UpICkKCWVsc2UgCiAgICAgICAgRmlyc3QoQk1JRm9yQWdlTWFsZSBjIHdoZXJlICBjLnkgPSBiYXNlLkFnZVRvTWluaShhZ2UpKQogICAgICAgICAgICAKZGVmaW5lIGZ1bmN0aW9uIGdlbmVyYXRlWlNjb3JlQk1JRm9yQWdlKHNleCBTeXN0ZW0uU3RyaW5nLCBhZ2UgU3lzdGVtLkRlY2ltYWwsIHdlaWdodCAgU3lzdGVtLkRlY2ltYWwpICA6IAoJIGdlbmVyYXRlWlNjb3JlQk1JRm9yQWdlZGV0KFpzY29yZUJNSUZvckFnZXRhYmxlcyhzZXgsYWdlKSwgd2VpZ2h0ICkKCmRlZmluZSBmdW5jdGlvbiBnZW5lcmF0ZVpTY29yZUJNSUZvckFnZWRldChyb3cgVHVwbGUge3kgU3lzdGVtLkRlY2ltYWwsbCBTeXN0ZW0uRGVjaW1hbCxzIFN5c3RlbS5EZWNpbWFsLG0gU3lzdGVtLkRlY2ltYWx9LCB3ZWlnaHQgIFN5c3RlbS5EZWNpbWFsKToKICAgIGlmIHJvdyBpcyBub3QgbnVsbCB0aGVuIAogICAgICAgIGJhc2UuY29tcHV0ZVpTY29yZSgKICAgICAgICAgICAgd2VpZ2h0LAogICAgICAgICAgICByb3cubSAsIAogICAgICAgICAgICByb3cubCAsCiAgICAgICAgICAgIHJvdy5zIAogICAgICAgICkKICAgIGVsc2UgbnVsbAoKCmRlZmluZSBmdW5jdGlvbiBnZW5lcmF0ZUJNSUZyb21BZ2Uoc2V4IFN5c3RlbS5TdHJpbmcsIGFnZSBTeXN0ZW0uRGVjaW1hbCwgenNjb3JlICBTeXN0ZW0uRGVjaW1hbCkgOiAKCSBnZW5lcmF0ZUJNSUZyb21BZ2VkZXQoWnNjb3JlQk1JRm9yQWdldGFibGVzKHNleCxhZ2UpLHpzY29yZSAgKQoKZGVmaW5lIGZ1bmN0aW9uIGdlbmVyYXRlQk1JRnJvbUFnZWRldChyb3cgVHVwbGUge3kgU3lzdGVtLkRlY2ltYWwsbCBTeXN0ZW0uRGVjaW1hbCxzIFN5c3RlbS5EZWNpbWFsLG0gU3lzdGVtLkRlY2ltYWx9LHpzY29yZSAgU3lzdGVtLkRlY2ltYWwpIDogCiAgICBpZiByb3cgaXMgbm90IG51bGwgdGhlbiAKICAgICAgICBiYXNlLmNvbXB1dGVSZXZlcnNlWlNjb3JlKAogICAgICAgICAgICB6c2NvcmUsCiAgICAgICAgICAgIHJvdy5tICwgCiAgICAgICAgICAgIHJvdy5sICwKICAgICAgICAgICAgcm93LnMgCiAgICAgICAgKQogICAgZWxzZSBudWxsICAgIAoKICAgIAo="
    }
  ]
}