XML 56 R44.htm IDEA: XBRL DOCUMENT v3.22.4
Revenues - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2022
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Dec. 31, 2021
Sep. 30, 2021
Jun. 30, 2021
Mar. 31, 2021
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Disaggregation of Revenue [Line Items]                      
Revenues $ 232,599 $ 227,614 $ 222,738 $ 222,111 $ 214,730 $ 192,820 $ 184,136 $ 169,341 $ 905,062 $ 761,027 $ 612,133
Transferred Over Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 900,310 756,486 607,101
Transferred at Point in Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 4,752 4,541 5,032
Professional Services                      
Disaggregation of Revenue [Line Items]                      
Revenues                 892,647 745,166 593,565
Professional Services | Transferred Over Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 892,647 745,166 593,565
Professional Services | Transferred at Point in Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 0 0 0
Professional Services | Time and materials contracts                      
Disaggregation of Revenue [Line Items]                      
Revenues                 696,040 577,674 436,466
Professional Services | Time and materials contracts | Transferred Over Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 696,040 577,674 436,466
Professional Services | Time and materials contracts | Transferred at Point in Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 0 0 0
Professional Services | Fixed fee percent complete contracts                      
Disaggregation of Revenue [Line Items]                      
Revenues                 52,183 49,117 51,752
Professional Services | Fixed fee percent complete contracts | Transferred Over Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 52,183 49,117 51,752
Professional Services | Fixed fee percent complete contracts | Transferred at Point in Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 0 0 0
Professional Services | Fixed fee contracts                      
Disaggregation of Revenue [Line Items]                      
Revenues                 135,053 107,698 95,237
Professional Services | Fixed fee contracts | Transferred Over Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 135,053 107,698 95,237
Professional Services | Fixed fee contracts | Transferred at Point in Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 0 0 0
Professional Services | Reimbursable expenses                      
Disaggregation of Revenue [Line Items]                      
Revenues                 9,371 10,677 10,110
Professional Services | Reimbursable expenses | Transferred Over Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 9,371 10,677 10,110
Professional Services | Reimbursable expenses | Transferred at Point in Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 0 0 0
Other Services                      
Disaggregation of Revenue [Line Items]                      
Revenues                 9,774 13,556 16,018
Other Services | Transferred Over Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 7,663 11,320 13,536
Other Services | Transferred at Point in Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 2,111 2,236 2,482
Total services                      
Disaggregation of Revenue [Line Items]                      
Revenues                 902,421 758,722 609,583
Total services | Transferred Over Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 900,310 756,486 607,101
Total services | Transferred at Point in Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 2,111 2,236 2,482
Software and hardware                      
Disaggregation of Revenue [Line Items]                      
Revenues                 2,641 2,305 2,550
Software and hardware | Transferred Over Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 0 0 0
Software and hardware | Transferred at Point in Time                      
Disaggregation of Revenue [Line Items]                      
Revenues                 2,641 2,305 2,550
United States                      
Disaggregation of Revenue [Line Items]                      
Revenues                 875,298 738,298 599,236
Other countries                      
Disaggregation of Revenue [Line Items]                      
Revenues                 $ 29,764 $ 22,729 $ 12,897