Patient flow: stages per patient (rangeBar)
schedule.flow.fromEvents(): check-in, waiting room, lab, exam, checkout per pseudonymous patient ID. Total waiting: median 19 min, P90 26.1 min (never a sum or mean).
Open the chart without page chrome ↗
// First chart on this page. The example combines several charts or controls;
// open the standalone example for the full source.
const options = {
"chart": {
"type": "rangeBar",
"height": 640
},
"series": [
{
"name": "Waiting room",
"data": [
{
"x": "P-8919",
"y": [
1792995840000,
1792996740000
],
"wait": true,
"min": 15
},
{
"x": "P-8542",
"y": [
1792996320000,
1792996980000
],
"wait": true,
"min": 11
},
{
"x": "P-6003",
"y": [
1792996440000,
1792997340000
],
"wait": true,
"min": 15
},
{
"x": "P-7838",
"y": [
1792997580000,
1792998300000
],
"wait": true,
"min": 12
},
{
"x": "P-4922",
"y": [
1792998000000,
1792998720000
],
"wait": true,
"min": 12
},
{
"x": "P-7461",
"y": [
1792998120000,
1792999140000
],
"wait": true,
"min": 17
},
{
"x": "P-3841",
"y": [
1792999380000,
1793000160000
],
"wait": true,
"min": 13
},
{
"x": "P-6757",
"y": [
1792999560000,
1793000280000
],
"wait": true,
"min": 12
},
{
"x": "P-6380",
"y": [
1792999860000,
1793000820000
],
"wait": true,
"min": 16
},
{
"x": "P-5676",
"y": [
1793000880000,
1793002140000
],
"wait": true,
"min": 21
},
{
"x": "P-5299",
"y": [
1793001300000,
1793002620000
],
"wait": true,
"min": 22
},
{
"x": "P-2760",
"y": [
1793001660000,
1793002080000
],
"wait": true,
"min": 7
},
{
"x": "P-1679",
"y": [
1793002260000,
1793003460000
],
"wait": true,
"min": 20
},
{
"x": "P-4595",
"y": [
1793003040000,
1793003580000
],
"wait": true,
"min": 9
},
{
"x": "P-3514",
"y": [
1793004540000,
1793005680000
],
"wait": true,
"min": 19
},
{
"x": "P-4218",
"y": [
1793004780000,
1793005260000
],
"wait": true,
"min": 8
},
{
"x": "P-9598",
"y": [
1793004840000,
1793005260000
],
"wait": true,
"min": 7
},
{
"x": "P-2433",
"y": [
1793005800000,
1793007060000
],
"wait": true,
"min": 21
},
{
"x": "P-8517",
"y": [
1793005920000,
1793006760000
],
"wait": true,
"min": 14
},
{
"x": "P-3137",
"y": [
1793005980000,
1793007480000
],
"wait": true,
"min": 25
},
{
"x": "P-3816",
"y": [
1793006700000,
1793007480000
],
"wait": true,
"min": 13
},
{
"x": "P-7436",
"y": [
1793008140000,
1793009040000
],
"wait": true,
"min": 15
},
{
"x": "P-1352",
"y": [
1793008200000,
1793008920000
],
"wait": true,
"min": 12
},
{
"x": "P-2056",
"y": [
1793008740000,
1793009460000
],
"wait": true,
"min": 12
},
{
"x": "P-9271",
"y": [
1793009520000,
1793010000000
],
"wait": true,
"min": 8
},
{
"x": "P-6355",
"y": [
1793009520000,
1793010540000
],
"wait": true,
"min": 17
},
{
"x": "P-9975",
"y": [
1793010060000,
1793010780000
],
"wait": true,
"min": 12
},
{
"x": "P-5274",
"y": [
1793010780000,
1793011620000
],
"wait": true,
"min": 14
},
{
"x": "P-8894",
"y": [
1793011260000,
1793012160000
],
"wait": true,
"min": 15
},
{
"x": "P-8190",
"y": [
1793011740000,
1793012160000
],
"wait": true,
"min": 7
}
]
},
{
"name": "Waiting in room",
"data": [
{
"x": "P-8919",
"y": [
1792996740000,
1792996920000
],
"wait": true,
"min": 3
},
{
"x": "P-8542",
"y": [
1792996980000,
1792997220000
],
"wait": true,
"min": 4
},
{
"x": "P-6003",
"y": [
1792997340000,
1792997580000
],
"wait": true,
"min": 4
},
{
"x": "P-7838",
"y": [
1792998300000,
1792998720000
],
"wait": true,
"min": 7
},
{
"x": "P-4922",
"y": [
1792998720000,
1792999020000
],
"wait": true,
"min": 5
},
{
"x": "P-7461",
"y": [
1792999140000,
1792999320000
],
"wait": true,
"min": 3
},
{
"x": "P-3841",
"y": [
1793000160000,
1793000520000
],
"wait": true,
"min": 6
},
{
"x": "P-6757",
"y": [
1793000280000,
1793000760000
],
"wait": true,
"min": 8
},
{
"x": "P-6380",
"y": [
1793000820000,
1793001360000
],
"wait": true,
"min": 9
},
{
"x": "P-2760",
"y": [
1793002080000,
1793002500000
],
"wait": true,
"min": 7
},
{
"x": "P-5676",
"y": [
1793002140000,
1793002320000
],
"wait": true,
"min": 3
},
{
"x": "P-5299",
"y": [
1793002620000,
1793002920000
],
"wait": true,
"min": 5
},
{
"x": "P-1679",
"y": [
1793003460000,
1793003820000
],
"wait": true,
"min": 6
},
{
"x": "P-4595",
"y": [
1793003580000,
1793003880000
],
"wait": true,
"min": 5
},
{
"x": "P-4218",
"y": [
1793005260000,
1793005620000
],
"wait": true,
"min": 6
},
{
"x": "P-9598",
"y": [
1793005260000,
1793005620000
],
"wait": true,
"min": 6
},
{
"x": "P-3514",
"y": [
1793005680000,
1793005980000
],
"wait": true,
"min": 5
},
{
"x": "P-8517",
"y": [
1793006760000,
1793007420000
],
"wait": true,
"min": 11
},
{
"x": "P-2433",
"y": [
1793007060000,
1793007600000
],
"wait": true,
"min": 9
},
{
"x": "P-3137",
"y": [
1793007480000,
1793007720000
],
"wait": true,
"min": 4
},
{
"x": "P-3816",
"y": [
1793007480000,
1793007720000
],
"wait": true,
"min": 4
},
{
"x": "P-1352",
"y": [
1793008920000,
1793009340000
],
"wait": true,
"min": 7
},
{
"x": "P-7436",
"y": [
1793009040000,
1793009460000
],
"wait": true,
"min": 7
},
{
"x": "P-2056",
"y": [
1793009460000,
1793009820000
],
"wait": true,
"min": 6
},
{
"x": "P-9271",
"y": [
1793010000000,
1793010540000
],
"wait": true,
"min": 9
},
{
"x": "P-6355",
"y": [
1793010540000,
1793010720000
],
"wait": true,
"min": 3
},
{
"x": "P-9975",
"y": [
1793010780000,
1793011020000
],
"wait": true,
"min": 4
},
{
"x": "P-5274",
"y": [
1793011620000,
1793012100000
],
"wait": true,
"min": 8
},
{
"x": "P-8190",
"y": [
1793012160000,
1793012820000
],
"wait": true,
"min": 11
},
{
"x": "P-8894",
"y": [
1793012160000,
1793012520000
],
"wait": true,
"min": 6
}
]
},
{
"name": "Exam",
"data": [
{
"x": "P-8919",
"y": [
1792996920000,
1792998660000
],
"wait": false,
"min": 29
},
{
"x": "P-8542",
"y": [
1792997220000,
1792998720000
],
"wait": false,
"min": 25
},
{
"x": "P-6003",
"y": [
1792997580000,
1792998840000
],
"wait": false,
"min": 21
},
{
"x": "P-7461",
"y": [
1792999320000,
1793001360000
],
"wait": false,
"min": 34
},
{
"x": "P-7838",
"y": [
1792999620000,
1793000580000
],
"wait": false,
"min": 16
},
{
"x": "P-4922",
"y": [
1792999740000,
1793000820000
],
"wait": false,
"min": 18
},
{
"x": "P-6757",
"y": [
1793000760000,
1793002140000
],
"wait": false,
"min": 23
},
{
"x": "P-6380",
"y": [
1793001360000,
1793003100000
],
"wait": false,
"min": 29
},
{
"x": "P-3841",
"y": [
1793001360000,
1793002560000
],
"wait": false,
"min": 20
},
{
"x": "P-2760",
"y": [
1793002500000,
1793003880000
],
"wait": false,
"min": 23
},
{
"x": "P-5676",
"y": [
1793003220000,
1793004000000
],
"wait": false,
"min": 13
},
{
"x": "P-5299",
"y": [
1793003640000,
1793004900000
],
"wait": false,
"min": 21
},
{
"x": "P-1679",
"y": [
1793003820000,
1793005680000
],
"wait": false,
"min": 31
},
{
"x": "P-4595",
"y": [
1793003880000,
1793005320000
],
"wait": false,
"min": 24
},
{
"x": "P-9598",
"y": [
1793005620000,
1793007420000
],
"wait": false,
"min": 30
},
{
"x": "P-3514",
"y": [
1793005980000,
1793007240000
],
"wait": false,
"min": 21
},
{
"x": "P-4218",
"y": [
1793006220000,
1793007540000
],
"wait": false,
"min": 22
},
{
"x": "P-8517",
"y": [
1793007420000,
1793008980000
],
"wait": false,
"min": 26
},
{
"x": "P-2433",
"y": [
1793007600000,
1793008920000
],
"wait": false,
"min": 22
},
{
"x": "P-3137",
"y": [
1793008440000,
// Full configuration available through Raw or Copy.import WestCoastCharts from 'west-coast-charts'
import types from 'west-coast-charts/types'
import premium from 'west-coast-charts/premium'
import vitals from 'west-coast-charts/layers/vitals'
import schedule from 'west-coast-charts/layers/schedule'
WestCoastCharts.use(types).use(premium).use(vitals).use(schedule)
const WestCoastChartsPremium = premium
const WestCoastChartsLayer_vitals = vitals
const WestCoastChartsLayer_schedule = schedule
WestCoastCharts.setLicenseKey(LICENCE_KEY) // paid production licence; localhost evaluation needs no key
const options = {
"chart": {
"type": "rangeBar",
"height": 640
},
"series": [
{
"name": "Waiting room",
"data": [
{
"x": "P-8919",
"y": [
1792995840000,
1792996740000
],
"wait": true,
"min": 15
},
{
"x": "P-8542",
"y": [
1792996320000,
1792996980000
],
"wait": true,
"min": 11
},
{
"x": "P-6003",
"y": [
1792996440000,
1792997340000
],
"wait": true,
"min": 15
},
{
"x": "P-7838",
"y": [
1792997580000,
1792998300000
],
"wait": true,
"min": 12
},
{
"x": "P-4922",
"y": [
1792998000000,
1792998720000
],
"wait": true,
"min": 12
},
{
"x": "P-7461",
"y": [
1792998120000,
1792999140000
],
"wait": true,
"min": 17
},
{
"x": "P-3841",
"y": [
1792999380000,
1793000160000
],
"wait": true,
"min": 13
},
{
"x": "P-6757",
"y": [
1792999560000,
1793000280000
],
"wait": true,
"min": 12
},
{
"x": "P-6380",
"y": [
1792999860000,
1793000820000
],
"wait": true,
"min": 16
},
{
"x": "P-5676",
"y": [
1793000880000,
1793002140000
],
"wait": true,
"min": 21
},
{
"x": "P-5299",
"y": [
1793001300000,
1793002620000
],
"wait": true,
"min": 22
},
{
"x": "P-2760",
"y": [
1793001660000,
1793002080000
],
"wait": true,
"min": 7
},
{
"x": "P-1679",
"y": [
1793002260000,
1793003460000
],
"wait": true,
"min": 20
},
{
"x": "P-4595",
"y": [
1793003040000,
1793003580000
],
"wait": true,
"min": 9
},
{
"x": "P-3514",
"y": [
1793004540000,
1793005680000
],
"wait": true,
"min": 19
},
{
"x": "P-4218",
"y": [
1793004780000,
1793005260000
],
"wait": true,
"min": 8
},
{
"x": "P-9598",
"y": [
1793004840000,
1793005260000
],
"wait": true,
"min": 7
},
{
"x": "P-2433",
"y": [
1793005800000,
1793007060000
],
"wait": true,
"min": 21
},
{
"x": "P-8517",
"y": [
1793005920000,
1793006760000
],
"wait": true,
"min": 14
},
{
"x": "P-3137",
"y": [
1793005980000,
1793007480000
],
"wait": true,
"min": 25
},
{
"x": "P-3816",
"y": [
1793006700000,
1793007480000
],
"wait": true,
"min": 13
},
{
"x": "P-7436",
"y": [
1793008140000,
1793009040000
],
"wait": true,
"min": 15
},
{
"x": "P-1352",
"y": [
1793008200000,
1793008920000
],
"wait": true,
"min": 12
},
{
"x": "P-2056",
"y": [
1793008740000,
1793009460000
],
"wait": true,
"min": 12
},
{
"x": "P-9271",
"y": [
1793009520000,
1793010000000
],
"wait": true,
"min": 8
},
{
"x": "P-6355",
"y": [
1793009520000,
1793010540000
],
"wait": true,
"min": 17
},
{
"x": "P-9975",
"y": [
1793010060000,
1793010780000
],
"wait": true,
"min": 12
},
{
"x": "P-5274",
"y": [
1793010780000,
1793011620000
],
"wait": true,
"min": 14
},
{
"x": "P-8894",
"y": [
1793011260000,
1793012160000
],
"wait": true,
"min": 15
},
{
"x": "P-8190",
"y": [
1793011740000,
1793012160000
],
"wait": true,
"min": 7
}
]
},
{
"name": "Waiting in room",
"data": [
{
"x": "P-8919",
"y": [
1792996740000,
1792996920000
],
"wait": true,
"min": 3
},
{
"x": "P-8542",
"y": [
1792996980000,
1792997220000
],
"wait": true,
"min": 4
},
{
"x": "P-6003",
"y": [
1792997340000,
1792997580000
],
"wait": true,
"min": 4
},
{
"x": "P-7838",
"y": [
1792998300000,
1792998720000
],
"wait": true,
"min": 7
},
{
"x": "P-4922",
"y": [
1792998720000,
1792999020000
],
"wait": true,
"min": 5
},
{
"x": "P-7461",
"y": [
1792999140000,
1792999320000
],
"wait": true,
"min": 3
},
{
"x": "P-3841",
"y": [
1793000160000,
1793000520000
],
"wait": true,
"min": 6
},
{
"x": "P-6757",
"y": [
1793000280000,
1793000760000
],
"wait": true,
"min": 8
},
{
"x": "P-6380",
"y": [
1793000820000,
1793001360000
],
"wait": true,
"min": 9
},
{
"x": "P-2760",
"y": [
1793002080000,
1793002500000
],
"wait": true,
"min": 7
},
{
"x": "P-5676",
"y": [
1793002140000,
1793002320000
],
"wait": true,
"min": 3
},
{
"x": "P-5299",
"y": [
1793002620000,
1793002920000
],
"wait": true,
"min": 5
},
{
"x": "P-1679",
"y": [
1793003460000,
1793003820000
],
"wait": true,
"min": 6
},
{
"x": "P-4595",
"y": [
1793003580000,
1793003880000
],
"wait": true,
"min": 5
},
{
"x": "P-4218",
"y": [
1793005260000,
1793005620000
],
"wait": true,
"min": 6
},
{
"x": "P-9598",
"y": [
1793005260000,
1793005620000
],
"wait": true,
"min": 6
},
{
"x": "P-3514",
"y": [
1793005680000,
1793005980000
],
"wait": true,
"min": 5
},
{
"x": "P-8517",
"y": [
1793006760000,
1793007420000
],
"wait": true,
"min": 11
},
{
"x": "P-2433",
"y": [
1793007060000,
1793007600000
],
"wait": true,
"min": 9
},
{
"x": "P-3137",
"y": [
1793007480000,
1793007720000
],
"wait": true,
"min": 4
},
{
"x": "P-3816",
"y": [
1793007480000,
1793007720000
],
"wait": true,
"min": 4
},
{
"x": "P-1352",
"y": [
1793008920000,
1793009340000
],
"wait": true,
"min": 7
},
{
"x": "P-7436",
"y": [
1793009040000,
1793009460000
],
"wait": true,
"min": 7
},
{
"x": "P-2056",
"y": [
1793009460000,
1793009820000
],
"wait": true,
"min": 6
},
{
"x": "P-9271",
"y": [
1793010000000,
1793010540000
],
"wait": true,
"min": 9
},
{
"x": "P-6355",
"y": [
1793010540000,
1793010720000
],
"wait": true,
"min": 3
},
{
"x": "P-9975",
"y": [
1793010780000,
1793011020000
],
"wait": true,
"min": 4
},
{
"x": "P-5274",
"y": [
1793011620000,
1793012100000
],
"wait": true,
"min": 8
},
{
"x": "P-8190",
"y": [
1793012160000,
1793012820000
],
"wait": true,
"min": 11
},
{
"x": "P-8894",
"y": [
1793012160000,
1793012520000
],
"wait": true,
"min": 6
}
]
},
{
"name": "Exam",
"data": [
{
"x": "P-8919",
"y": [
1792996920000,
1792998660000
],
"wait": false,
"min": 29
},
{
"x": "P-8542",
"y": [
1792997220000,
1792998720000
],
"wait": false,
"min": 25
},
{
"x": "P-6003",
"y": [
1792997580000,
1792998840000
],
"wait": false,
"min": 21
},
{
"x": "P-7461",
"y": [
1792999320000,
1793001360000
],
"wait": false,
"min": 34
},
{
"x": "P-7838",
"y": [
1792999620000,
1793000580000
],
"wait": false,
"min": 16
},
{
"x": "P-4922",
"y": [
1792999740000,
1793000820000
],
"wait": false,
"min": 18
},
{
"x": "P-6757",
"y": [
1793000760000,
1793002140000
],
"wait": false,
"min": 23
},
{
"x": "P-6380",
"y": [
1793001360000,
1793003100000
],
"wait": false,
"min": 29
},
{
"x": "P-3841",
"y": [
1793001360000,
1793002560000
],
"wait": false,
"min": 20
},
{
"x": "P-2760",
"y": [
1793002500000,
1793003880000
],
"wait": false,
"min": 23
},
{
"x": "P-5676",
"y": [
1793003220000,
1793004000000
],
"wait": false,
"min": 13
},
{
"x": "P-5299",
"y": [
1793003640000,
1793004900000
],
"wait": false,
"min": 21
},
{
"x": "P-1679",
"y": [
1793003820000,
1793005680000
],
"wait": false,
"min": 31
},
{
"x": "P-4595",
"y": [
1793003880000,
1793005320000
],
"wait": false,
"min": 24
},
{
"x": "P-9598",
"y": [
1793005620000,
1793007420000
],
"wait": false,
"min": 30
},
{
"x": "P-3514",
"y": [
1793005980000,
1793007240000
],
"wait": false,
"min": 21
},
{
"x": "P-4218",
"y": [
1793006220000,
1793007540000
],
"wait": false,
"min": 22
},
{
"x": "P-8517",
"y": [
1793007420000,
1793008980000
],
"wait": false,
"min": 26
},
{
"x": "P-2433",
"y": [
1793007600000,
1793008920000
],
"wait": false,
"min": 22
},
{
"x": "P-3137",
"y": [
1793008440000,
1793009880000
],
"wait": false,
"min": 24
},
{
"x": "P-3816",
"y": [
1793008560000,
1793009460000
],
"wait": false,
"min": 15
},
{
"x": "P-1352",
"y": [
1793009340000,
1793010720000
],
"wait": false,
"min": 23
},
{
"x": "P-7436",
"y": [
1793009460000,
1793010720000
],
"wait": false,
"min": 21
},
{
"x": "P-9271",
"y": [
1793010540000,
1793012520000
],
"wait": false,
"min": 33
},
{
"x": "P-2056",
"y": [
1793010720000,
1793011800000
],
"wait": false,
"min": 18
},
{
"x": "P-9975",
"y": [
1793011020000,
1793012700000
],
"wait": false,
"min": 28
},
{
"x": "P-6355",
"y": [
1793011560000,
1793012580000
],
"wait": false,
"min": 17
},
{
"x": "P-5274",
"y": [
1793012100000,
1793013780000
],
"wait": false,
"min": 28
},
{
"x": "P-8190",
"y": [
1793012820000,
1793013720000
],
"wait": false,
"min": 15
},
{
"x": "P-8894",
"y": [
1793013420000,
1793014200000
],
"wait": false,
"min": 13
}
]
},
{
"name": "Lab",
"data": [
{
"x": "P-7838",
"y": [
1792998720000,
1792999620000
],
"wait": false,
"min": 15
},
{
"x": "P-4922",
"y": [
1792999020000,
1792999740000
],
"wait": false,
"min": 12
},
{
"x": "P-3841",
"y": [
1793000520000,
1793001360000
],
"wait": false,
"min": 14
},
{
"x": "P-5676",
"y": [
1793002320000,
1793003220000
],
"wait": false,
"min": 15
},
{
"x": "P-5299",
"y": [
1793002920000,
1793003640000
],
"wait": false,
"min": 12
},
{
"x": "P-4218",
"y": [
1793005620000,
1793006220000
],
"wait": false,
"min": 10
},
{
"x": "P-3137",
"y": [
1793007720000,
1793008440000
],
"wait": false,
"min": 12
},
{
"x": "P-3816",
"y": [
1793007720000,
1793008560000
],
"wait": false,
"min": 14
},
{
"x": "P-2056",
"y": [
1793009820000,
1793010720000
],
"wait": false,
"min": 15
},
{
"x": "P-6355",
"y": [
1793010720000,
1793011560000
],
"wait": false,
"min": 14
},
{
"x": "P-8894",
"y": [
1793012520000,
1793013420000
],
"wait": false,
"min": 15
}
]
}
],
"plotOptions": {
"bar": {
"horizontal": true,
"barHeight": "70%",
"rangeBarGroupRows": true
}
},
"xaxis": {
"type": "datetime",
"labels": {
"datetimeUTC": false
}
},
"legend": {
"position": "top"
},
"dataLabels": {
"enabled": false
},
"tooltip": {
"x": {
"format": "HH:mm"
}
}
}
const chart = new WestCoastCharts(document.querySelector('#chart'), options)
await chart.render() Waiting for the chart.
Open Data & agent view to read this chart through chart.describe().
Read from the running library through its optional agent/describe module. Text, table and JSON share the same snapshot. Demo data only.
$ wcc chart export medical-flow-timeline.json --out medical-flow-timeline.svg --with-table Public agent tools 0.2.3, tested with Library 1.1.5; available from the versioned GitHub release and npm. Save a JSON spec first and check the loaded runtime and supported modules before rendering. Command reference
Loading /gallery/medical/flow-timeline/index.md … This example uses Premium modules. Compare licences · Embedding in a distributed product?