[{"data":1,"prerenderedAt":2266},["ShallowReactive",2],{"/docs/jobs/ambulancejob/api/patient-and-vital-data":3,"/docs/jobs/ambulancejob/api/patient-and-vital-data-surround":2253,"/docs/jobs/ambulancejob/api/patient-and-vital-data-implemented-suggestions":2265},{"id":4,"title":5,"body":6,"description":2244,"extension":2245,"head":2246,"implementedSuggestions":2246,"meta":2247,"navigation":126,"path":2248,"schemaOrg":2246,"seo":2249,"sitemap":2250,"stem":2251,"__hash__":2252},"docs/1.docs/0.jobs/0.ambulancejob/5.api/6.patient-and-vital-data.md","Patient & Vital Data",{"type":7,"value":8,"toc":2228},"minimark",[9,14,23,31,34,64,67,71,82,174,177,181,564,569,669,698,706,711,715,857,864,870,874,877,1783,1786,1790,1997,2001,2010,2013,2037,2040,2044,2047,2050,2054,2057,2075,2078,2082,2087,2096,2099,2103,2106,2194,2205,2208,2212,2215,2224],[10,11,13],"h2",{"id":12},"numeric-api-version","Numeric API Version",[15,16,19],"callout",{"color":17,"icon":18},"warning","i-lucide-triangle-alert",[20,21,22],"p",{},"This page documents the upcoming numeric-vitals major release. Publish it together with the\nmatching Sky Ambulancejob resource version. Earlier releases expose a different string-based\ncontract and are not compatible with the examples below.",[20,24,25,26,30],{},"The numeric release has one vital-sign model. It does not expose legacy state strings and does not\nadd a second ",[27,28,29],"code",{},"vitalSignsV2"," object beside the patient profile.",[20,32,33],{},"Every valid profile uses:",[35,36,41],"pre",{"className":37,"code":38,"language":39,"meta":40,"style":40},"language-lua shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","profile.vitalSchemaVersion == 2\n","lua","",[27,42,43],{"__ignoreMap":40},[44,45,48,52,56,60],"span",{"class":46,"line":47},"line",1,[44,49,51],{"class":50},"sTEyZ","profile.",[44,53,55],{"class":54},"sBMFI","vitalSchemaVersion",[44,57,59],{"class":58},"sMK4o"," ==",[44,61,63],{"class":62},"sbssI"," 2\n",[20,65,66],{},"If an integration receives another schema version, it must stop reading the profile and report an\nunsupported version. Do not guess values or fall back to string states.",[10,68,70],{"id":69},"client-export","Client Export",[20,72,73,74,77,78,81],{},"Use ",[27,75,76],{},"GetLocalInjuryProfile()"," to read the local player's active injury profile. It returns ",[27,79,80],{},"nil","\nwhen no profile is active.",[35,83,86],{"className":37,"code":84,"filename":85,"language":39,"meta":40,"style":40},"local profile = exports[\"sky_ambulancejob\"]:GetLocalInjuryProfile()\n\nif not profile then\n    print(\"No active injury profile\")\n    return\nend\n","client.lua",[27,87,88,121,128,143,162,168],{"__ignoreMap":40},[44,89,90,93,96,99,102,105,109,111,114,118],{"class":46,"line":47},[44,91,92],{"class":58},"local",[44,94,95],{"class":50}," profile ",[44,97,98],{"class":58},"=",[44,100,101],{"class":50}," exports[",[44,103,104],{"class":58},"\"",[44,106,108],{"class":107},"sfazB","sky_ambulancejob",[44,110,104],{"class":58},[44,112,113],{"class":50},"]:",[44,115,117],{"class":116},"s2Zo4","GetLocalInjuryProfile",[44,119,120],{"class":50},"()\n",[44,122,124],{"class":46,"line":123},2,[44,125,127],{"emptyLinePlaceholder":126},true,"\n",[44,129,131,135,138,140],{"class":46,"line":130},3,[44,132,134],{"class":133},"s7zQu","if",[44,136,137],{"class":58}," not",[44,139,95],{"class":50},[44,141,142],{"class":133},"then\n",[44,144,146,149,152,154,157,159],{"class":46,"line":145},4,[44,147,148],{"class":116},"    print",[44,150,151],{"class":50},"(",[44,153,104],{"class":58},[44,155,156],{"class":107},"No active injury profile",[44,158,104],{"class":58},[44,160,161],{"class":50},")\n",[44,163,165],{"class":46,"line":164},5,[44,166,167],{"class":133},"    return\n",[44,169,171],{"class":46,"line":170},6,[44,172,173],{"class":133},"end\n",[20,175,176],{},"The export returns an internal snapshot for reading. Treat every returned table as read-only.\nChanging a field does not constitute a supported treatment and can desynchronise your local copy.",[10,178,180],{"id":179},"profile-contract","Profile Contract",[35,182,184],{"className":37,"code":183,"language":39,"meta":40,"style":40},"local profile = {\n    vitalSchemaVersion = 2,\n\n    -- Resting or initial reference values.\n    baselineVitals = {\n        heart_rate = 78,\n        blood_pressure = {\n            systolic = 118,\n            diastolic = 76\n        },\n        oxygen_level = 98,\n        blood_sugar = 100\n    },\n\n    -- Server-calculated medical targets.\n    vitalTargets = {\n        heart_rate = 78,\n        blood_pressure = {\n            systolic = 118,\n            diastolic = 76\n        },\n        oxygen_level = 98,\n        blood_sugar = 100\n    },\n\n    -- Current values shown by monitors and diagnosis interfaces.\n    vitals = {\n        heart_rate = 117,\n        blood_pressure = {\n            systolic = 135,\n            diastolic = 76\n        },\n        oxygen_level = 98,\n        blood_sugar = 100\n    },\n\n    conditions = {\n        cardiacArrest = false,\n        activityMode = \"run\",\n        activityLoad = 0.55\n    }\n}\n",[27,185,186,197,210,214,220,229,241,251,264,275,281,294,305,311,316,322,332,343,352,363,372,377,388,397,402,407,413,423,435,444,456,465,470,481,490,495,500,510,523,541,552,558],{"__ignoreMap":40},[44,187,188,190,192,194],{"class":46,"line":47},[44,189,92],{"class":58},[44,191,95],{"class":50},[44,193,98],{"class":58},[44,195,196],{"class":50}," {\n",[44,198,199,202,204,207],{"class":46,"line":123},[44,200,201],{"class":50},"    vitalSchemaVersion ",[44,203,98],{"class":58},[44,205,206],{"class":62}," 2",[44,208,209],{"class":50},",\n",[44,211,212],{"class":46,"line":130},[44,213,127],{"emptyLinePlaceholder":126},[44,215,216],{"class":46,"line":145},[44,217,219],{"class":218},"sHwdD","    -- Resting or initial reference values.\n",[44,221,222,225,227],{"class":46,"line":164},[44,223,224],{"class":50},"    baselineVitals ",[44,226,98],{"class":58},[44,228,196],{"class":50},[44,230,231,234,236,239],{"class":46,"line":170},[44,232,233],{"class":50},"        heart_rate ",[44,235,98],{"class":58},[44,237,238],{"class":62}," 78",[44,240,209],{"class":50},[44,242,244,247,249],{"class":46,"line":243},7,[44,245,246],{"class":50},"        blood_pressure ",[44,248,98],{"class":58},[44,250,196],{"class":50},[44,252,254,257,259,262],{"class":46,"line":253},8,[44,255,256],{"class":50},"            systolic ",[44,258,98],{"class":58},[44,260,261],{"class":62}," 118",[44,263,209],{"class":50},[44,265,267,270,272],{"class":46,"line":266},9,[44,268,269],{"class":50},"            diastolic ",[44,271,98],{"class":58},[44,273,274],{"class":62}," 76\n",[44,276,278],{"class":46,"line":277},10,[44,279,280],{"class":50},"        },\n",[44,282,284,287,289,292],{"class":46,"line":283},11,[44,285,286],{"class":50},"        oxygen_level ",[44,288,98],{"class":58},[44,290,291],{"class":62}," 98",[44,293,209],{"class":50},[44,295,297,300,302],{"class":46,"line":296},12,[44,298,299],{"class":50},"        blood_sugar ",[44,301,98],{"class":58},[44,303,304],{"class":62}," 100\n",[44,306,308],{"class":46,"line":307},13,[44,309,310],{"class":50},"    },\n",[44,312,314],{"class":46,"line":313},14,[44,315,127],{"emptyLinePlaceholder":126},[44,317,319],{"class":46,"line":318},15,[44,320,321],{"class":218},"    -- Server-calculated medical targets.\n",[44,323,325,328,330],{"class":46,"line":324},16,[44,326,327],{"class":50},"    vitalTargets ",[44,329,98],{"class":58},[44,331,196],{"class":50},[44,333,335,337,339,341],{"class":46,"line":334},17,[44,336,233],{"class":50},[44,338,98],{"class":58},[44,340,238],{"class":62},[44,342,209],{"class":50},[44,344,346,348,350],{"class":46,"line":345},18,[44,347,246],{"class":50},[44,349,98],{"class":58},[44,351,196],{"class":50},[44,353,355,357,359,361],{"class":46,"line":354},19,[44,356,256],{"class":50},[44,358,98],{"class":58},[44,360,261],{"class":62},[44,362,209],{"class":50},[44,364,366,368,370],{"class":46,"line":365},20,[44,367,269],{"class":50},[44,369,98],{"class":58},[44,371,274],{"class":62},[44,373,375],{"class":46,"line":374},21,[44,376,280],{"class":50},[44,378,380,382,384,386],{"class":46,"line":379},22,[44,381,286],{"class":50},[44,383,98],{"class":58},[44,385,291],{"class":62},[44,387,209],{"class":50},[44,389,391,393,395],{"class":46,"line":390},23,[44,392,299],{"class":50},[44,394,98],{"class":58},[44,396,304],{"class":62},[44,398,400],{"class":46,"line":399},24,[44,401,310],{"class":50},[44,403,405],{"class":46,"line":404},25,[44,406,127],{"emptyLinePlaceholder":126},[44,408,410],{"class":46,"line":409},26,[44,411,412],{"class":218},"    -- Current values shown by monitors and diagnosis interfaces.\n",[44,414,416,419,421],{"class":46,"line":415},27,[44,417,418],{"class":50},"    vitals ",[44,420,98],{"class":58},[44,422,196],{"class":50},[44,424,426,428,430,433],{"class":46,"line":425},28,[44,427,233],{"class":50},[44,429,98],{"class":58},[44,431,432],{"class":62}," 117",[44,434,209],{"class":50},[44,436,438,440,442],{"class":46,"line":437},29,[44,439,246],{"class":50},[44,441,98],{"class":58},[44,443,196],{"class":50},[44,445,447,449,451,454],{"class":46,"line":446},30,[44,448,256],{"class":50},[44,450,98],{"class":58},[44,452,453],{"class":62}," 135",[44,455,209],{"class":50},[44,457,459,461,463],{"class":46,"line":458},31,[44,460,269],{"class":50},[44,462,98],{"class":58},[44,464,274],{"class":62},[44,466,468],{"class":46,"line":467},32,[44,469,280],{"class":50},[44,471,473,475,477,479],{"class":46,"line":472},33,[44,474,286],{"class":50},[44,476,98],{"class":58},[44,478,291],{"class":62},[44,480,209],{"class":50},[44,482,484,486,488],{"class":46,"line":483},34,[44,485,299],{"class":50},[44,487,98],{"class":58},[44,489,304],{"class":62},[44,491,493],{"class":46,"line":492},35,[44,494,310],{"class":50},[44,496,498],{"class":46,"line":497},36,[44,499,127],{"emptyLinePlaceholder":126},[44,501,503,506,508],{"class":46,"line":502},37,[44,504,505],{"class":50},"    conditions ",[44,507,98],{"class":58},[44,509,196],{"class":50},[44,511,513,516,518,521],{"class":46,"line":512},38,[44,514,515],{"class":50},"        cardiacArrest ",[44,517,98],{"class":58},[44,519,520],{"class":58}," false",[44,522,209],{"class":50},[44,524,526,529,531,534,537,539],{"class":46,"line":525},39,[44,527,528],{"class":50},"        activityMode ",[44,530,98],{"class":58},[44,532,533],{"class":58}," \"",[44,535,536],{"class":107},"run",[44,538,104],{"class":58},[44,540,209],{"class":50},[44,542,544,547,549],{"class":46,"line":543},40,[44,545,546],{"class":50},"        activityLoad ",[44,548,98],{"class":58},[44,550,551],{"class":62}," 0.55\n",[44,553,555],{"class":46,"line":554},41,[44,556,557],{"class":50},"    }\n",[44,559,561],{"class":46,"line":560},42,[44,562,563],{"class":50},"}\n",[565,566,568],"h3",{"id":567},"field-semantics","Field Semantics",[570,571,572,585],"table",{},[573,574,575],"thead",{},[576,577,578,582],"tr",{},[579,580,581],"th",{},"Field",[579,583,584],{},"Meaning",[586,587,588,602,612,622,632,642,652],"tbody",{},[576,589,590,595],{},[591,592,593],"td",{},[27,594,55],{},[591,596,597,598,601],{},"Required schema discriminator. Numeric profiles use ",[27,599,600],{},"2",".",[576,603,604,609],{},[591,605,606],{},[27,607,608],{},"baselineVitals",[591,610,611],{},"Resting or initial reference values.",[576,613,614,619],{},[591,615,616],{},[27,617,618],{},"vitalTargets",[591,620,621],{},"Server-calculated targets from injuries, conditions, and treatments.",[576,623,624,629],{},[591,625,626],{},[27,627,628],{},"vitals",[591,630,631],{},"Current values, including gradual changes and temporary activity effects.",[576,633,634,639],{},[591,635,636],{},[27,637,638],{},"conditions.cardiacArrest",[591,640,641],{},"Explicit cardiac-arrest state.",[576,643,644,649],{},[591,645,646],{},[27,647,648],{},"conditions.activityMode",[591,650,651],{},"Last activity mode accepted by the server.",[576,653,654,659],{},[591,655,656],{},[27,657,658],{},"conditions.activityLoad",[591,660,661,662,665,666,601],{},"Smoothed activity load from ",[27,663,664],{},"0.0"," to ",[27,667,668],{},"1.0",[20,670,671,672,675,676,675,679,675,681,675,684,675,687,675,690,693,694,697],{},"Accepted activity modes are ",[27,673,674],{},"rest",", ",[27,677,678],{},"walk",[27,680,536],{},[27,682,683],{},"sprint",[27,685,686],{},"swim",[27,688,689],{},"dive",[27,691,692],{},"climb",", and\n",[27,695,696],{},"combat",". Treat any other value as an invalid profile.",[20,699,73,700,702,703,705],{},[27,701,628],{}," for HUDs, bedside monitors, and live displays. ",[27,704,618],{}," describes where the\nmedical model is currently moving, not what a monitor should display at that instant.",[20,707,708,709,601],{},"Do not infer cardiac arrest from low blood pressure or unconsciousness. Read\n",[27,710,638],{},[565,712,714],{"id":713},"units","Units",[570,716,717,733],{},[573,718,719],{},[576,720,721,724,727,730],{},[579,722,723],{},"Key",[579,725,726],{},"Type",[579,728,729],{},"Unit",[579,731,732],{},"Accepted range",[586,734,735,762,786,808,832],{},[576,736,737,742,747,754],{},[591,738,739],{},[27,740,741],{},"heart_rate",[591,743,744],{},[27,745,746],{},"number",[591,748,749,750,753],{},"beats per minute (",[27,751,752],{},"bpm",")",[591,755,756,665,759],{},[27,757,758],{},"0",[27,760,761],{},"220",[576,763,764,769,773,779],{},[591,765,766],{},[27,767,768],{},"blood_pressure.systolic",[591,770,771],{},[27,772,746],{},[591,774,775,776,753],{},"millimetres of mercury (",[27,777,778],{},"mmHg",[591,780,781,665,783],{},[27,782,758],{},[27,784,785],{},"260",[576,787,788,793,797,801],{},[591,789,790],{},[27,791,792],{},"blood_pressure.diastolic",[591,794,795],{},[27,796,746],{},[591,798,775,799,753],{},[27,800,778],{},[591,802,803,665,805],{},[27,804,758],{},[27,806,807],{},"160",[576,809,810,815,819,825],{},[591,811,812],{},[27,813,814],{},"oxygen_level",[591,816,817],{},[27,818,746],{},[591,820,821,822,753],{},"oxygen saturation (",[27,823,824],{},"% SpO2",[591,826,827,665,829],{},[27,828,758],{},[27,830,831],{},"100",[576,833,834,839,843,849],{},[591,835,836],{},[27,837,838],{},"blood_sugar",[591,840,841],{},[27,842,746],{},[591,844,845,846,753],{},"milligrams per decilitre (",[27,847,848],{},"mg/dL",[591,850,851,665,854],{},[27,852,853],{},"20",[27,855,856],{},"600",[20,858,859,860,863],{},"All values must be finite numbers. Blood pressure must be either ",[27,861,862],{},"0/0"," for cardiac arrest or have a\nsystolic value greater than its diastolic value.",[20,865,866,867,869],{},"Additional profile fields may be added in future releases. Ignore unknown fields and require a new\nparser only when ",[27,868,55],{}," changes.",[10,871,873],{"id":872},"validated-reader","Validated Reader",[20,875,876],{},"The following helper rejects missing, mixed, or unsupported profiles instead of inventing values:",[35,878,880],{"className":37,"code":879,"filename":85,"language":39,"meta":40,"style":40},"local accepted_activity_modes = {\n    rest = true,\n    walk = true,\n    run = true,\n    sprint = true,\n    swim = true,\n    dive = true,\n    climb = true,\n    combat = true\n}\n\nlocal function is_number_in_range(value, minimum, maximum)\n    return type(value) == \"number\"\n        and value == value\n        and value > -math.huge\n        and value \u003C math.huge\n        and value >= minimum\n        and value \u003C= maximum\nend\n\nlocal function is_vital_set(value)\n    if type(value) ~= \"table\" then return false end\n\n    local pressure = value.blood_pressure\n    if type(pressure) ~= \"table\"\n        or not is_number_in_range(pressure.systolic, 0, 260)\n        or not is_number_in_range(pressure.diastolic, 0, 160)\n    then\n        return false\n    end\n\n    local valid_pressure = pressure.systolic == 0 and pressure.diastolic == 0\n        or pressure.systolic > pressure.diastolic\n\n    return valid_pressure\n        and is_number_in_range(value.heart_rate, 0, 220)\n        and is_number_in_range(value.oxygen_level, 0, 100)\n        and is_number_in_range(value.blood_sugar, 20, 600)\nend\n\nlocal function is_valid_activity_state(conditions)\n    return type(conditions) == \"table\"\n        and type(conditions.cardiacArrest) == \"boolean\"\n        and accepted_activity_modes[conditions.activityMode] == true\n        and is_number_in_range(conditions.activityLoad, 0, 1)\nend\n\nlocal function get_local_vital_profile()\n    local profile = exports[\"sky_ambulancejob\"]:GetLocalInjuryProfile()\n    if type(profile) ~= \"table\" then\n        return nil, \"no_profile\"\n    end\n\n    if profile.vitalSchemaVersion ~= 2 then\n        return nil, \"unsupported_schema\"\n    end\n\n    if not is_vital_set(profile.vitals) then\n        return nil, \"invalid_vitals\"\n    end\n\n    if not is_vital_set(profile.baselineVitals)\n        or not is_vital_set(profile.vitalTargets)\n    then\n        return nil, \"invalid_references\"\n    end\n\n    if not is_valid_activity_state(profile.conditions) then\n        return nil, \"invalid_conditions\"\n    end\n\n    return profile\nend\n",[27,881,882,893,905,916,927,938,949,960,971,981,985,989,1018,1039,1052,1064,1076,1088,1100,1104,1108,1123,1153,1157,1173,1190,1215,1238,1243,1251,1256,1260,1291,1307,1311,1318,1339,1359,1379,1383,1387,1403,1420,1445,1463,1486,1491,1496,1508,1531,1551,1568,1573,1578,1596,1612,1617,1622,1640,1656,1661,1666,1681,1696,1701,1717,1722,1727,1744,1760,1765,1770,1778],{"__ignoreMap":40},[44,883,884,886,889,891],{"class":46,"line":47},[44,885,92],{"class":58},[44,887,888],{"class":50}," accepted_activity_modes ",[44,890,98],{"class":58},[44,892,196],{"class":50},[44,894,895,898,900,903],{"class":46,"line":123},[44,896,897],{"class":50},"    rest ",[44,899,98],{"class":58},[44,901,902],{"class":58}," true",[44,904,209],{"class":50},[44,906,907,910,912,914],{"class":46,"line":130},[44,908,909],{"class":50},"    walk ",[44,911,98],{"class":58},[44,913,902],{"class":58},[44,915,209],{"class":50},[44,917,918,921,923,925],{"class":46,"line":145},[44,919,920],{"class":50},"    run ",[44,922,98],{"class":58},[44,924,902],{"class":58},[44,926,209],{"class":50},[44,928,929,932,934,936],{"class":46,"line":164},[44,930,931],{"class":50},"    sprint ",[44,933,98],{"class":58},[44,935,902],{"class":58},[44,937,209],{"class":50},[44,939,940,943,945,947],{"class":46,"line":170},[44,941,942],{"class":50},"    swim ",[44,944,98],{"class":58},[44,946,902],{"class":58},[44,948,209],{"class":50},[44,950,951,954,956,958],{"class":46,"line":243},[44,952,953],{"class":50},"    dive ",[44,955,98],{"class":58},[44,957,902],{"class":58},[44,959,209],{"class":50},[44,961,962,965,967,969],{"class":46,"line":253},[44,963,964],{"class":50},"    climb ",[44,966,98],{"class":58},[44,968,902],{"class":58},[44,970,209],{"class":50},[44,972,973,976,978],{"class":46,"line":266},[44,974,975],{"class":50},"    combat ",[44,977,98],{"class":58},[44,979,980],{"class":58}," true\n",[44,982,983],{"class":46,"line":277},[44,984,563],{"class":50},[44,986,987],{"class":46,"line":283},[44,988,127],{"emptyLinePlaceholder":126},[44,990,991,993,996,999,1001,1005,1008,1011,1013,1016],{"class":46,"line":296},[44,992,92],{"class":58},[44,994,995],{"class":133}," function",[44,997,998],{"class":116}," is_number_in_range",[44,1000,151],{"class":58},[44,1002,1004],{"class":1003},"sHdIc","value",[44,1006,1007],{"class":58},",",[44,1009,1010],{"class":1003}," minimum",[44,1012,1007],{"class":58},[44,1014,1015],{"class":1003}," maximum",[44,1017,161],{"class":58},[44,1019,1020,1023,1026,1029,1032,1034,1036],{"class":46,"line":307},[44,1021,1022],{"class":133},"    return",[44,1024,1025],{"class":116}," type",[44,1027,1028],{"class":50},"(value) ",[44,1030,1031],{"class":58},"==",[44,1033,533],{"class":58},[44,1035,746],{"class":107},[44,1037,1038],{"class":58},"\"\n",[44,1040,1041,1044,1047,1049],{"class":46,"line":313},[44,1042,1043],{"class":58},"        and",[44,1045,1046],{"class":50}," value ",[44,1048,1031],{"class":58},[44,1050,1051],{"class":50}," value\n",[44,1053,1054,1056,1058,1061],{"class":46,"line":318},[44,1055,1043],{"class":58},[44,1057,1046],{"class":50},[44,1059,1060],{"class":58},">",[44,1062,1063],{"class":58}," -math.huge\n",[44,1065,1066,1068,1070,1073],{"class":46,"line":324},[44,1067,1043],{"class":58},[44,1069,1046],{"class":50},[44,1071,1072],{"class":58},"\u003C",[44,1074,1075],{"class":58}," math.huge\n",[44,1077,1078,1080,1082,1085],{"class":46,"line":334},[44,1079,1043],{"class":58},[44,1081,1046],{"class":50},[44,1083,1084],{"class":58},">=",[44,1086,1087],{"class":50}," minimum\n",[44,1089,1090,1092,1094,1097],{"class":46,"line":345},[44,1091,1043],{"class":58},[44,1093,1046],{"class":50},[44,1095,1096],{"class":58},"\u003C=",[44,1098,1099],{"class":50}," maximum\n",[44,1101,1102],{"class":46,"line":354},[44,1103,173],{"class":133},[44,1105,1106],{"class":46,"line":365},[44,1107,127],{"emptyLinePlaceholder":126},[44,1109,1110,1112,1114,1117,1119,1121],{"class":46,"line":374},[44,1111,92],{"class":58},[44,1113,995],{"class":133},[44,1115,1116],{"class":116}," is_vital_set",[44,1118,151],{"class":58},[44,1120,1004],{"class":1003},[44,1122,161],{"class":58},[44,1124,1125,1128,1130,1132,1135,1137,1139,1142,1145,1148,1150],{"class":46,"line":379},[44,1126,1127],{"class":133},"    if",[44,1129,1025],{"class":116},[44,1131,1028],{"class":50},[44,1133,1134],{"class":58},"~=",[44,1136,533],{"class":58},[44,1138,570],{"class":107},[44,1140,1141],{"class":58},"\" ",[44,1143,1144],{"class":133},"then",[44,1146,1147],{"class":133}," return",[44,1149,520],{"class":58},[44,1151,1152],{"class":133}," end\n",[44,1154,1155],{"class":46,"line":390},[44,1156,127],{"emptyLinePlaceholder":126},[44,1158,1159,1162,1165,1167,1170],{"class":46,"line":399},[44,1160,1161],{"class":58},"    local",[44,1163,1164],{"class":50}," pressure ",[44,1166,98],{"class":58},[44,1168,1169],{"class":50}," value.",[44,1171,1172],{"class":54},"blood_pressure\n",[44,1174,1175,1177,1179,1182,1184,1186,1188],{"class":46,"line":404},[44,1176,1127],{"class":133},[44,1178,1025],{"class":116},[44,1180,1181],{"class":50},"(pressure) ",[44,1183,1134],{"class":58},[44,1185,533],{"class":58},[44,1187,570],{"class":107},[44,1189,1038],{"class":58},[44,1191,1192,1195,1197,1199,1202,1205,1207,1209,1211,1213],{"class":46,"line":409},[44,1193,1194],{"class":58},"        or",[44,1196,137],{"class":58},[44,1198,998],{"class":116},[44,1200,1201],{"class":50},"(pressure.",[44,1203,1204],{"class":54},"systolic",[44,1206,675],{"class":50},[44,1208,758],{"class":62},[44,1210,675],{"class":50},[44,1212,785],{"class":62},[44,1214,161],{"class":50},[44,1216,1217,1219,1221,1223,1225,1228,1230,1232,1234,1236],{"class":46,"line":415},[44,1218,1194],{"class":58},[44,1220,137],{"class":58},[44,1222,998],{"class":116},[44,1224,1201],{"class":50},[44,1226,1227],{"class":54},"diastolic",[44,1229,675],{"class":50},[44,1231,758],{"class":62},[44,1233,675],{"class":50},[44,1235,807],{"class":62},[44,1237,161],{"class":50},[44,1239,1240],{"class":46,"line":425},[44,1241,1242],{"class":133},"    then\n",[44,1244,1245,1248],{"class":46,"line":437},[44,1246,1247],{"class":133},"        return",[44,1249,1250],{"class":58}," false\n",[44,1252,1253],{"class":46,"line":446},[44,1254,1255],{"class":133},"    end\n",[44,1257,1258],{"class":46,"line":458},[44,1259,127],{"emptyLinePlaceholder":126},[44,1261,1262,1264,1267,1269,1272,1274,1276,1279,1282,1284,1286,1288],{"class":46,"line":467},[44,1263,1161],{"class":58},[44,1265,1266],{"class":50}," valid_pressure ",[44,1268,98],{"class":58},[44,1270,1271],{"class":50}," pressure.",[44,1273,1204],{"class":54},[44,1275,59],{"class":58},[44,1277,1278],{"class":62}," 0",[44,1280,1281],{"class":58}," and",[44,1283,1271],{"class":50},[44,1285,1227],{"class":54},[44,1287,59],{"class":58},[44,1289,1290],{"class":62}," 0\n",[44,1292,1293,1295,1297,1299,1302,1304],{"class":46,"line":472},[44,1294,1194],{"class":58},[44,1296,1271],{"class":50},[44,1298,1204],{"class":54},[44,1300,1301],{"class":58}," >",[44,1303,1271],{"class":50},[44,1305,1306],{"class":54},"diastolic\n",[44,1308,1309],{"class":46,"line":483},[44,1310,127],{"emptyLinePlaceholder":126},[44,1312,1313,1315],{"class":46,"line":492},[44,1314,1022],{"class":133},[44,1316,1317],{"class":50}," valid_pressure\n",[44,1319,1320,1322,1324,1327,1329,1331,1333,1335,1337],{"class":46,"line":497},[44,1321,1043],{"class":58},[44,1323,998],{"class":116},[44,1325,1326],{"class":50},"(value.",[44,1328,741],{"class":54},[44,1330,675],{"class":50},[44,1332,758],{"class":62},[44,1334,675],{"class":50},[44,1336,761],{"class":62},[44,1338,161],{"class":50},[44,1340,1341,1343,1345,1347,1349,1351,1353,1355,1357],{"class":46,"line":502},[44,1342,1043],{"class":58},[44,1344,998],{"class":116},[44,1346,1326],{"class":50},[44,1348,814],{"class":54},[44,1350,675],{"class":50},[44,1352,758],{"class":62},[44,1354,675],{"class":50},[44,1356,831],{"class":62},[44,1358,161],{"class":50},[44,1360,1361,1363,1365,1367,1369,1371,1373,1375,1377],{"class":46,"line":512},[44,1362,1043],{"class":58},[44,1364,998],{"class":116},[44,1366,1326],{"class":50},[44,1368,838],{"class":54},[44,1370,675],{"class":50},[44,1372,853],{"class":62},[44,1374,675],{"class":50},[44,1376,856],{"class":62},[44,1378,161],{"class":50},[44,1380,1381],{"class":46,"line":525},[44,1382,173],{"class":133},[44,1384,1385],{"class":46,"line":543},[44,1386,127],{"emptyLinePlaceholder":126},[44,1388,1389,1391,1393,1396,1398,1401],{"class":46,"line":554},[44,1390,92],{"class":58},[44,1392,995],{"class":133},[44,1394,1395],{"class":116}," is_valid_activity_state",[44,1397,151],{"class":58},[44,1399,1400],{"class":1003},"conditions",[44,1402,161],{"class":58},[44,1404,1405,1407,1409,1412,1414,1416,1418],{"class":46,"line":560},[44,1406,1022],{"class":133},[44,1408,1025],{"class":116},[44,1410,1411],{"class":50},"(conditions) ",[44,1413,1031],{"class":58},[44,1415,533],{"class":58},[44,1417,570],{"class":107},[44,1419,1038],{"class":58},[44,1421,1423,1425,1427,1430,1433,1436,1438,1440,1443],{"class":46,"line":1422},43,[44,1424,1043],{"class":58},[44,1426,1025],{"class":116},[44,1428,1429],{"class":50},"(conditions.",[44,1431,1432],{"class":54},"cardiacArrest",[44,1434,1435],{"class":50},") ",[44,1437,1031],{"class":58},[44,1439,533],{"class":58},[44,1441,1442],{"class":107},"boolean",[44,1444,1038],{"class":58},[44,1446,1448,1450,1453,1456,1459,1461],{"class":46,"line":1447},44,[44,1449,1043],{"class":58},[44,1451,1452],{"class":50}," accepted_activity_modes[conditions.",[44,1454,1455],{"class":54},"activityMode",[44,1457,1458],{"class":50},"] ",[44,1460,1031],{"class":58},[44,1462,980],{"class":58},[44,1464,1466,1468,1470,1472,1475,1477,1479,1481,1484],{"class":46,"line":1465},45,[44,1467,1043],{"class":58},[44,1469,998],{"class":116},[44,1471,1429],{"class":50},[44,1473,1474],{"class":54},"activityLoad",[44,1476,675],{"class":50},[44,1478,758],{"class":62},[44,1480,675],{"class":50},[44,1482,1483],{"class":62},"1",[44,1485,161],{"class":50},[44,1487,1489],{"class":46,"line":1488},46,[44,1490,173],{"class":133},[44,1492,1494],{"class":46,"line":1493},47,[44,1495,127],{"emptyLinePlaceholder":126},[44,1497,1499,1501,1503,1506],{"class":46,"line":1498},48,[44,1500,92],{"class":58},[44,1502,995],{"class":133},[44,1504,1505],{"class":116}," get_local_vital_profile",[44,1507,120],{"class":58},[44,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1529],{"class":46,"line":1510},49,[44,1512,1161],{"class":58},[44,1514,95],{"class":50},[44,1516,98],{"class":58},[44,1518,101],{"class":50},[44,1520,104],{"class":58},[44,1522,108],{"class":107},[44,1524,104],{"class":58},[44,1526,113],{"class":50},[44,1528,117],{"class":116},[44,1530,120],{"class":50},[44,1532,1534,1536,1538,1541,1543,1545,1547,1549],{"class":46,"line":1533},50,[44,1535,1127],{"class":133},[44,1537,1025],{"class":116},[44,1539,1540],{"class":50},"(profile) ",[44,1542,1134],{"class":58},[44,1544,533],{"class":58},[44,1546,570],{"class":107},[44,1548,1141],{"class":58},[44,1550,142],{"class":133},[44,1552,1554,1556,1559,1561,1563,1566],{"class":46,"line":1553},51,[44,1555,1247],{"class":133},[44,1557,1558],{"class":58}," nil",[44,1560,675],{"class":50},[44,1562,104],{"class":58},[44,1564,1565],{"class":107},"no_profile",[44,1567,1038],{"class":58},[44,1569,1571],{"class":46,"line":1570},52,[44,1572,1255],{"class":133},[44,1574,1576],{"class":46,"line":1575},53,[44,1577,127],{"emptyLinePlaceholder":126},[44,1579,1581,1583,1586,1588,1591,1593],{"class":46,"line":1580},54,[44,1582,1127],{"class":133},[44,1584,1585],{"class":50}," profile.",[44,1587,55],{"class":54},[44,1589,1590],{"class":58}," ~=",[44,1592,206],{"class":62},[44,1594,1595],{"class":133}," then\n",[44,1597,1599,1601,1603,1605,1607,1610],{"class":46,"line":1598},55,[44,1600,1247],{"class":133},[44,1602,1558],{"class":58},[44,1604,675],{"class":50},[44,1606,104],{"class":58},[44,1608,1609],{"class":107},"unsupported_schema",[44,1611,1038],{"class":58},[44,1613,1615],{"class":46,"line":1614},56,[44,1616,1255],{"class":133},[44,1618,1620],{"class":46,"line":1619},57,[44,1621,127],{"emptyLinePlaceholder":126},[44,1623,1625,1627,1629,1631,1634,1636,1638],{"class":46,"line":1624},58,[44,1626,1127],{"class":133},[44,1628,137],{"class":58},[44,1630,1116],{"class":116},[44,1632,1633],{"class":50},"(profile.",[44,1635,628],{"class":54},[44,1637,1435],{"class":50},[44,1639,142],{"class":133},[44,1641,1643,1645,1647,1649,1651,1654],{"class":46,"line":1642},59,[44,1644,1247],{"class":133},[44,1646,1558],{"class":58},[44,1648,675],{"class":50},[44,1650,104],{"class":58},[44,1652,1653],{"class":107},"invalid_vitals",[44,1655,1038],{"class":58},[44,1657,1659],{"class":46,"line":1658},60,[44,1660,1255],{"class":133},[44,1662,1664],{"class":46,"line":1663},61,[44,1665,127],{"emptyLinePlaceholder":126},[44,1667,1669,1671,1673,1675,1677,1679],{"class":46,"line":1668},62,[44,1670,1127],{"class":133},[44,1672,137],{"class":58},[44,1674,1116],{"class":116},[44,1676,1633],{"class":50},[44,1678,608],{"class":54},[44,1680,161],{"class":50},[44,1682,1684,1686,1688,1690,1692,1694],{"class":46,"line":1683},63,[44,1685,1194],{"class":58},[44,1687,137],{"class":58},[44,1689,1116],{"class":116},[44,1691,1633],{"class":50},[44,1693,618],{"class":54},[44,1695,161],{"class":50},[44,1697,1699],{"class":46,"line":1698},64,[44,1700,1242],{"class":133},[44,1702,1704,1706,1708,1710,1712,1715],{"class":46,"line":1703},65,[44,1705,1247],{"class":133},[44,1707,1558],{"class":58},[44,1709,675],{"class":50},[44,1711,104],{"class":58},[44,1713,1714],{"class":107},"invalid_references",[44,1716,1038],{"class":58},[44,1718,1720],{"class":46,"line":1719},66,[44,1721,1255],{"class":133},[44,1723,1725],{"class":46,"line":1724},67,[44,1726,127],{"emptyLinePlaceholder":126},[44,1728,1730,1732,1734,1736,1738,1740,1742],{"class":46,"line":1729},68,[44,1731,1127],{"class":133},[44,1733,137],{"class":58},[44,1735,1395],{"class":116},[44,1737,1633],{"class":50},[44,1739,1400],{"class":54},[44,1741,1435],{"class":50},[44,1743,142],{"class":133},[44,1745,1747,1749,1751,1753,1755,1758],{"class":46,"line":1746},69,[44,1748,1247],{"class":133},[44,1750,1558],{"class":58},[44,1752,675],{"class":50},[44,1754,104],{"class":58},[44,1756,1757],{"class":107},"invalid_conditions",[44,1759,1038],{"class":58},[44,1761,1763],{"class":46,"line":1762},70,[44,1764,1255],{"class":133},[44,1766,1768],{"class":46,"line":1767},71,[44,1769,127],{"emptyLinePlaceholder":126},[44,1771,1773,1775],{"class":46,"line":1772},72,[44,1774,1022],{"class":133},[44,1776,1777],{"class":50}," profile\n",[44,1779,1781],{"class":46,"line":1780},73,[44,1782,173],{"class":133},[20,1784,1785],{},"Keep the failure reason in logs during development. Production HUDs should hide or mark unavailable\ndata rather than display fabricated normal values.",[10,1787,1789],{"id":1788},"display-example","Display Example",[35,1791,1793],{"className":37,"code":1792,"filename":85,"language":39,"meta":40,"style":40},"local profile, reason = get_local_vital_profile()\nif not profile then\n    print(\"Vital profile unavailable: \" .. tostring(reason))\n    return\nend\n\nlocal vitals = profile.vitals\nlocal pressure = vitals.blood_pressure\n\nprint((\"Pulse: %.0f bpm\"):format(vitals.heart_rate))\nprint((\"Blood pressure: %.0f / %.0f mmHg\"):format(\n    pressure.systolic,\n    pressure.diastolic\n))\nprint((\"Oxygen: %.0f%% SpO2\"):format(vitals.oxygen_level))\nprint((\"Blood glucose: %.0f mg/dL\"):format(vitals.blood_sugar))\n",[27,1794,1795,1808,1818,1840,1844,1848,1852,1866,1879,1883,1912,1932,1941,1947,1951,1974],{"__ignoreMap":40},[44,1796,1797,1799,1802,1804,1806],{"class":46,"line":47},[44,1798,92],{"class":58},[44,1800,1801],{"class":50}," profile, reason ",[44,1803,98],{"class":58},[44,1805,1505],{"class":116},[44,1807,120],{"class":50},[44,1809,1810,1812,1814,1816],{"class":46,"line":123},[44,1811,134],{"class":133},[44,1813,137],{"class":58},[44,1815,95],{"class":50},[44,1817,142],{"class":133},[44,1819,1820,1822,1824,1826,1829,1831,1834,1837],{"class":46,"line":130},[44,1821,148],{"class":116},[44,1823,151],{"class":50},[44,1825,104],{"class":58},[44,1827,1828],{"class":107},"Vital profile unavailable: ",[44,1830,1141],{"class":58},[44,1832,1833],{"class":58},"..",[44,1835,1836],{"class":116}," tostring",[44,1838,1839],{"class":50},"(reason))\n",[44,1841,1842],{"class":46,"line":145},[44,1843,167],{"class":133},[44,1845,1846],{"class":46,"line":164},[44,1847,173],{"class":133},[44,1849,1850],{"class":46,"line":170},[44,1851,127],{"emptyLinePlaceholder":126},[44,1853,1854,1856,1859,1861,1863],{"class":46,"line":243},[44,1855,92],{"class":58},[44,1857,1858],{"class":50}," vitals ",[44,1860,98],{"class":58},[44,1862,1585],{"class":50},[44,1864,1865],{"class":54},"vitals\n",[44,1867,1868,1870,1872,1874,1877],{"class":46,"line":253},[44,1869,92],{"class":58},[44,1871,1164],{"class":50},[44,1873,98],{"class":58},[44,1875,1876],{"class":50}," vitals.",[44,1878,1172],{"class":54},[44,1880,1881],{"class":46,"line":266},[44,1882,127],{"emptyLinePlaceholder":126},[44,1884,1885,1888,1891,1893,1896,1898,1901,1904,1907,1909],{"class":46,"line":277},[44,1886,1887],{"class":116},"print",[44,1889,1890],{"class":50},"((",[44,1892,104],{"class":58},[44,1894,1895],{"class":107},"Pulse: %.0f bpm",[44,1897,104],{"class":58},[44,1899,1900],{"class":50},"):",[44,1902,1903],{"class":116},"format",[44,1905,1906],{"class":50},"(vitals.",[44,1908,741],{"class":54},[44,1910,1911],{"class":50},"))\n",[44,1913,1914,1916,1918,1920,1923,1925,1927,1929],{"class":46,"line":283},[44,1915,1887],{"class":116},[44,1917,1890],{"class":50},[44,1919,104],{"class":58},[44,1921,1922],{"class":107},"Blood pressure: %.0f / %.0f mmHg",[44,1924,104],{"class":58},[44,1926,1900],{"class":50},[44,1928,1903],{"class":116},[44,1930,1931],{"class":50},"(\n",[44,1933,1934,1937,1939],{"class":46,"line":296},[44,1935,1936],{"class":50},"    pressure.",[44,1938,1204],{"class":54},[44,1940,209],{"class":50},[44,1942,1943,1945],{"class":46,"line":307},[44,1944,1936],{"class":50},[44,1946,1306],{"class":54},[44,1948,1949],{"class":46,"line":313},[44,1950,1911],{"class":50},[44,1952,1953,1955,1957,1959,1962,1964,1966,1968,1970,1972],{"class":46,"line":318},[44,1954,1887],{"class":116},[44,1956,1890],{"class":50},[44,1958,104],{"class":58},[44,1960,1961],{"class":107},"Oxygen: %.0f%% SpO2",[44,1963,104],{"class":58},[44,1965,1900],{"class":50},[44,1967,1903],{"class":116},[44,1969,1906],{"class":50},[44,1971,814],{"class":54},[44,1973,1911],{"class":50},[44,1975,1976,1978,1980,1982,1985,1987,1989,1991,1993,1995],{"class":46,"line":324},[44,1977,1887],{"class":116},[44,1979,1890],{"class":50},[44,1981,104],{"class":58},[44,1983,1984],{"class":107},"Blood glucose: %.0f mg/dL",[44,1986,104],{"class":58},[44,1988,1900],{"class":50},[44,1990,1903],{"class":116},[44,1992,1906],{"class":50},[44,1994,838],{"class":54},[44,1996,1911],{"class":50},[10,1998,2000],{"id":1999},"activity-aware-displays","Activity-Aware Displays",[20,2002,2003,2004,2006,2007,2009],{},"Running, sprinting, swimming, diving, or climbing can temporarily move ",[27,2005,628],{}," away from\n",[27,2008,618],{},". The server controls this behaviour.",[20,2011,2012],{},"For a live monitor:",[2014,2015,2016,2023,2028,2031,2034],"ul",{},[2017,2018,2019,2020,2022],"li",{},"display ",[27,2021,628],{},";",[2017,2024,2025,2026,2022],{},"optionally show ",[27,2027,648],{},[2017,2029,2030],{},"expect values to recover gradually after activity stops;",[2017,2032,2033],{},"do not overwrite the values with locally calculated Native results;",[2017,2035,2036],{},"do not treat activity alone as a medical emergency.",[20,2038,2039],{},"The client may detect activity, but the server validates the mode and calculates the actual vital\nchanges. External resources must never submit arbitrary heart-rate, blood-pressure, oxygen, or\nblood-glucose values chosen by a client.",[10,2041,2043],{"id":2042},"reading-updates","Reading Updates",[20,2045,2046],{},"There is no documented public vital-update event yet. Read the export when your interface opens or\npoll it at a restrained interval such as once per second for a live monitor. The export is a local\nlookup and does not perform a server callback.",[20,2048,2049],{},"Do not poll every frame. Cache the last values and update your UI only when the numeric data changed.\nA public update event will be documented here only after it exists in the released resource.",[10,2051,2053],{"id":2052},"server-side-integrations","Server-Side Integrations",[20,2055,2056],{},"The public API does not currently expose a server-side patient-profile reader. Do not work around\nthat by:",[2014,2058,2059,2066,2069,2072],{},[2017,2060,2061,2062,2065],{},"querying or editing ",[27,2063,2064],{},"ambulance_users.injury_data"," directly;",[2017,2067,2068],{},"accepting vital values forwarded by an untrusted client;",[2017,2070,2071],{},"triggering internal synchronization or treatment events;",[2017,2073,2074],{},"retaining and mutating internal patient tables.",[20,2076,2077],{},"Those approaches bypass validation and can race the normal treatment and persistence flow. A public\nserver read export must return a read-only numeric snapshot and will be documented only after it is\nimplemented.",[10,2079,2081],{"id":2080},"changing-patient-state","Changing Patient State",[20,2083,2084,2086],{},[27,2085,76],{}," is a read API. There is intentionally no public raw \"set vital\" event.",[20,2088,2089,2090,2095],{},"For custom treatments, use ",[2091,2092,2094],"a",{"href":2093},"/docs/jobs/ambulancejob/features/custom-medications","Custom Medications",".\nIts server callbacks receive the authoritative patient and supported mutation helpers. Use the\ndocumented revive or heal APIs only when those exact actions are required.",[20,2097,2098],{},"All gameplay mutations must remain server-authoritative and pass the normal permission, distance,\nitem, and treatment checks.",[10,2100,2102],{"id":2101},"migrating-an-existing-integration","Migrating an Existing Integration",[20,2104,2105],{},"The numeric release is a breaking data-contract change. Update integrations before deploying it:",[2107,2108,2109,2130,2136,2155,2161,2168,2171,2177,2185,2188,2191],"ol",{},[2017,2110,2111,2112,2115,2116,2119,2120,675,2123,693,2126,2129],{},"Apply the current ",[27,2113,2114],{},"sky_jobs_base/import.sql"," and ",[27,2117,2118],{},"sky_ambulancejob/import.sql"," migrations. The\nmigration requires ",[27,2121,2122],{},"ambulance_users",[27,2124,2125],{},"sky_jobs_configurator_settings",[27,2127,2128],{},"sky_ambulance_vital_migration_backup"," to use InnoDB.",[2017,2131,2132,2133,601],{},"Require ",[27,2134,2135],{},"profile.vitalSchemaVersion == 2",[2017,2137,2138,2139,675,2142,675,2145,675,2148,2151,2152,601],{},"Remove comparisons with ",[27,2140,2141],{},"too_low",[27,2143,2144],{},"low",[27,2146,2147],{},"normal",[27,2149,2150],{},"high",", and ",[27,2153,2154],{},"too_high",[2017,2156,2157,2158,601],{},"Read numbers directly from ",[27,2159,2160],{},"profile.vitals",[2017,2162,2163,2164,2115,2166,601],{},"Read blood pressure from ",[27,2165,1204],{},[27,2167,1227],{},[2017,2169,2170],{},"Apply the documented units and ranges.",[2017,2172,2173,2174,2176],{},"Read ",[27,2175,638],{}," instead of guessing from other values.",[2017,2178,2179,2180,2115,2182,2184],{},"Treat ",[27,2181,608],{},[27,2183,618],{}," as numeric sets.",[2017,2186,2187],{},"Keep returned tables read-only.",[2017,2189,2190],{},"Avoid per-frame polling and unnecessary network events.",[2017,2192,2193],{},"Keep all writes and gameplay decisions on the server.",[20,2195,2196,2197,2200,2201,2204],{},"On the first resource start, verify the server console reports\n",[27,2198,2199],{},"Numeric vital migration: state=complete"," with ",[27,2202,2203],{},"errors=0",". A failed or unsafe migration keeps vital\nprofile persistence write-protected; resolve the reported database or data errors before opening the\nserver to players.",[20,2206,2207],{},"Do not add a local legacy fallback. Servers must migrate the Ambulancejob resource, stored patient\nprofiles, Job Configurator values, and dependent integrations as one coordinated major update.",[10,2209,2211],{"id":2210},"support","Support",[20,2213,2214],{},"When opening an integration support request, include the Sky Ambulancejob version, whether your code\nruns on the client or server, and a redacted sample profile.",[2216,2217],"u-button",{"color":2218,"icon":2219,"label":2220,"target":2221,"to":2222,"variant":2223},"neutral","i-simple-icons-discord","Join Discord","_blank","https://discord.gg/sky-systems","subtle",[2225,2226,2227],"style",{},"html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":40,"searchDepth":47,"depth":123,"links":2229},[2230,2231,2232,2236,2237,2238,2239,2240,2241,2242,2243],{"id":12,"depth":123,"text":13},{"id":69,"depth":123,"text":70},{"id":179,"depth":123,"text":180,"children":2233},[2234,2235],{"id":567,"depth":130,"text":568},{"id":713,"depth":130,"text":714},{"id":872,"depth":123,"text":873},{"id":1788,"depth":123,"text":1789},{"id":1999,"depth":123,"text":2000},{"id":2042,"depth":123,"text":2043},{"id":2052,"depth":123,"text":2053},{"id":2080,"depth":123,"text":2081},{"id":2101,"depth":123,"text":2102},{"id":2210,"depth":123,"text":2211},"Read the numeric Sky Ambulancejob patient profile safely, understand units and activity values, and build server-authoritative integrations.","md",null,{},"/docs/jobs/ambulancejob/api/patient-and-vital-data",{"title":5,"description":2244},{"loc":2248},"1.docs/0.jobs/0.ambulancejob/5.api/6.patient-and-vital-data","qbDcew0JvbGdf9X3S1Lne3IdWhCsQzeW62l13ktL4pk",[2254,2259],{"title":2255,"path":2256,"stem":2257,"description":2258,"children":-1},"Respawn","/docs/jobs/ambulancejob/api/hooks/respawn","1.docs/0.jobs/0.ambulancejob/5.api/5.hooks/9.respawn","Action hook for when a player respawns from the hospital via the deathscreen.",{"title":2260,"path":2261,"stem":2262,"description":2263,"icon":2264,"children":-1},"Changelog","/docs/jobs/ambulancejob/changelog","1.docs/0.jobs/0.ambulancejob/6.changelog","Full change history for Sky Ambulance Job.","i-lucide-history",[],1786493002051]