XML 84 R36.htm IDEA: XBRL DOCUMENT v3.19.3
Revenue - Disaggregation of Revenue by Revenue Source and Pattern of Revenue Recognition (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2019
Sep. 30, 2018
Sep. 30, 2019
Sep. 30, 2018
Disaggregation of Revenue [Line Items]        
Revenues $ 144,684 $ 123,933 $ 420,368 $ 366,672
Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 143,344 122,093 415,986 361,597
Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Revenues 1,340 1,840 4,382 5,075
Services        
Disaggregation of Revenue [Line Items]        
Revenues 144,060 122,879 418,160 363,986
Services | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 143,344 122,093 415,986 361,597
Services | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Revenues 716 786 2,174 2,389
Professional Services        
Disaggregation of Revenue [Line Items]        
Revenues 139,861 118,483 405,634 350,368
Professional Services | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 139,861 118,483 405,634 350,368
Professional Services | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Professional Services | Time and materials contracts        
Disaggregation of Revenue [Line Items]        
Revenues 99,961 85,127 284,423 252,158
Professional Services | Time and materials contracts | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 99,961 85,127 284,423 252,158
Professional Services | Time and materials contracts | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Professional Services | Fixed fee percent complete contracts        
Disaggregation of Revenue [Line Items]        
Revenues 9,465 9,731 32,337 26,741
Professional Services | Fixed fee percent complete contracts | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 9,465 9,731 32,337 26,741
Professional Services | Fixed fee percent complete contracts | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Professional Services | Fixed fee contracts        
Disaggregation of Revenue [Line Items]        
Revenues 26,548 20,402 76,683 62,001
Professional Services | Fixed fee contracts | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 26,548 20,402 76,683 62,001
Professional Services | Fixed fee contracts | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Professional Services | Reimbursable expenses        
Disaggregation of Revenue [Line Items]        
Revenues 3,887 3,223 12,191 9,468
Professional Services | Reimbursable expenses | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 3,887 3,223 12,191 9,468
Professional Services | Reimbursable expenses | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Other Services        
Disaggregation of Revenue [Line Items]        
Revenues 4,199 4,396 12,526 13,618
Other Services | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 3,483 3,610 10,352 11,229
Other Services | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Revenues 716 786 2,174 2,389
Software and hardware        
Disaggregation of Revenue [Line Items]        
Revenues 624 1,054 2,208 2,686
Software and hardware | Transferred over Time        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Software and hardware | Transferred at Point in Time        
Disaggregation of Revenue [Line Items]        
Revenues $ 624 $ 1,054 $ 2,208 $ 2,686